歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

淺析Linux LD_LIBRARY_PATH

淺析Linux LD_LIBRARY_PATH        ㈠ 歷史背景                  現如今、軟件大多自帶共享庫、或者出於安全、或者基於商業考量         如:         ORACLE :$ORACLE_HOME/lib         MySQL :$HOME/mysql/lib                  下面貼上oracle用戶下.bash_profile裡關於LD_LIBRARY_PATH設置 [plain]  export LD_LIBRARY_PATH=$ORACLE_HOME/lib   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/X11R6/lib   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/jdk/jre/lib/i386   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/jdk/jre/lib/i386/server   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/rdbms/lib            ㈡ 幾個概念                  ① 下面幾個大意相近                        共享庫、動態鏈接庫、.so文件                     ② ld.so 花名又叫:共享庫加載器                        ㈢ 存在的意義                  用來告訴 ld.so 到哪裡可以找到某某人的共享庫                        ㈣ 大概說說                  .so文件的管理和加載由ld.so負責、他在標准路徑/lib 或 /usr/lib 裡查找APP所需的.so、         但對於非標路徑:         Linux做法是把私有路徑加入/etc/ld.so.conf、運行ldconfig生成ld.so.cache、ld.so會去查找這個cache         UNIX作風則是采用LD_LIBRARY_PATH來處理非標路徑的.so文件                  查找優先級如下(Linux):                  ① LD_LIBRARY_PATH 環境變量指定目錄         ② /etc/ld.so.conf指定目錄         ③ 標准路徑 先/usr/lib 再 /lib                ㈤ 常見錯誤                  error while loading shared libraries:ooxx.so.0:cannot open shared object file:No such file or directory         這裡的ooxx是如何命名的、有興趣的朋友自行參考 點擊打開鏈接        ㈥ 通用的方案                  ① 將這些自帶庫cp到/usr/lib或/lib、然後ldconfig   有個案例:點擊打開鏈接         ② /etc/ld.so.conf 、然後ldconfig         ③ LD_LIBRARY_PATH(這個變量有些遭人诟病)
 
Copyright © Linux教程網 All Rights Reserved