需要實現的功能是用自己寫的庫代替系統庫提供的一些函式
1. linux 和 大部分unix
export ld_preload=./mylib.so
linux下可能遇見的錯誤:
error while loading shared libraries: /root/workspace/myopen/debug/mylib.so: cannot restore segment prot after reloc: permission denied
解決辦法:
chcon -t texrel_shlib_t /root/workspace/myopen/debug/mylib.so
2. mac os x
export dyld_insert_libraries=./mylib.so
export dyld_force_flat_namespace=1
mac os x可能遇見的錯誤:
dyld: could not load inserted library: /opt/local/lib/mylib.dylib trace/bpt trap
解決辦法:
用lipo
檢視原因
lipo -info /opt/local/lib/mylib.dylib
我的這個問題產生的原因是庫是32位的,編譯成64位就好了
0
給主人留下些什麼吧!~~
Linux中用編譯的Zlib庫替換系統自帶的
環境 centos 5.8 64位 系統自帶zlib 1.2.1 安裝版本 1.2.3 這段時間在重新編譯lnmp,發現linux中很多軟體對zlib依存都比較大,但是系統中安裝的版本都比較低,如果用yum直接公升級的話,安裝nginx時候沒法指定zlib的目錄,所以要編譯安裝zlib。編譯的話,如...
Linux中用編譯的Zlib庫替換系統自帶的
環境 centos 5.8 64位 系統自帶zlib 1.2.1 安裝版本 1.2.3 這段時間在重新編譯lnmp,發現linux中很多軟體對zlib依存都比較大,但是系統中安裝的版本都比較低,如果用yum直接公升級的話,安裝nginx時候沒法指定zlib的目錄,所以要編譯安裝zlib。編譯的話,如...
safe rm替換系統的rm
替換系統的rm,以防出現rm rf 這樣的毀滅性錯誤。系統centos7系統 wget c 解壓 tar zxf safe rm 0.12.tar.gz cd safe rm 0.12 把safe rm替換系統的rm mv safe rm usr local bin rm chown root ro...