亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

Linux下源碼安裝的經驗詳解

添加時間:2017-5-6 1:26:47  添加: 思海網絡 

在linux下安裝軟件,難免會碰到需要源碼安裝的,而就是這簡簡單單的./configure、make、sudo make install三步,卻讓不少人頭疼不已,這里以安裝X11為例具體介紹下我在安裝時的一點小經驗,以便共同學習!

首先,我們要做些準備工作,源碼安裝少不了這幾個工具pkg-config、libtool、autoconf和automake(當然,還有更基礎的,像zlib、m4等,這里就略過啦),其中,pkg-config是相對比較重要的,它就是向configure程序提供系統信息的程序,如軟件的版本、庫的版本以及庫的路徑等信息,這些只是在編譯期間使用。你可以打開/usr/lib/pkgconfig下任意一個.pc文件,就會發現類似下面的信息(X11的pc文件):

prefix=/usr

exec_prefix=${prefix}

libdir=${exec_prefix}/lib

includedir=${prefix}/include

xthreadlib=-lpthread

Name: X11

Deion: X Library

Version: 1.3.3

Requires: xproto kbproto

Requires.private: xcb >= 1.1.92

Cflags: -I${includedir}

Libs: -L${libdir} -lX11

Libs.private: -lpthread

configure就是靠著這些信息來判斷軟件版本是否符合要求的。接著來看看pkg-config是怎樣工作的,缺省情況下,pkg-config首先在usr/lib/pkgconfig/中查找相關包(譬如x11)對應的相應的文件(x11.pc),若沒有找到,它也會到PKG_CONFIG_PATH這個環境變量所指定的路徑下去找,若是還沒有找到,它就會報錯。所以這里就可以得到一些解決configure時提示**庫未找到的辦法了,先用命令"ldconfig -p | grep 庫名"來分析該庫是否安裝及其路徑,若返回空,則說明該庫確實未安裝,否則,可以根據該命令的返回結果找到庫的安裝地點,然后設置其環境變量,命令如下:

"export PKG_CONFIG_PATH=軟件位置/lib/pkgconfig:$PKG_CONFIG_PATH",這里有個常識,軟件安裝后,.pc文件都是在安裝目錄下的lib/pkgconf中的。這樣只會在當前命令窗口有效,當然,你也可以修改home文件夾下的.bashrc文件(帶.的文件為隱藏文件,可以用命令vi .bashrc編輯),在文件末尾加上上面那句命令,重新登錄即可。其他的幾個在linux下也是不可或缺的,libtool為管理library時使用,沒裝的話錯誤提示如下:possibly undefined macro:AC_PROG_LIBTOOL。而autoconf和automake可以用于在某些沒有configure的文件的源碼包安裝時使用(pixman就是個典型的例子,安裝了二者后直接./autogen.sh就可以安裝了)。

準備工作做好后,就可以安裝了,具體全部命令如下:

tar vxf libX11-6.2.1.tar.gz

cd libX11-6.2.1

mkdir X11-build

cd X11-build

../configure –prefix=/usr/local/X11R6

make

echo $

sudo make install

這里有一些好的安裝習慣可以積累一下:1、建立一個臨時編譯目錄,本例中為X11-build,這樣可以再安裝完成后刪除該目錄,進而可以節省空間,而且保持了源碼目錄的整潔;2、安裝到指定目錄,本例中為/usr/local/X11R6,最好把幾個相關的安裝在同一文件夾下,如這里的X11R6文件夾,這樣便于管理,否則全部默認安裝在/usr/local下,很雜亂;3、編譯完成后做檢查,本例為echo $,表示檢查上一條命令的退出狀態,程序正常退出返回0,錯誤退出返回非0,也可以使用make check,主要為了防止make失敗后直接install,進而出現了一些莫名其妙的錯誤。這里還介紹一種更方便快捷的安裝方法,用&&將安裝命令連接起來,如../configure –prefix=**&&make&&sudo make install,這樣,只有在前面的命令執行正確的情況下,后面的任務才會執行,多方便!

除此之外,安裝之前可以閱讀下源碼包中的readme和install等文檔,往往有所需軟件及其下載地址,還包括一些安裝技巧和配置選項。另外,在configure前,先輸入configure –help,可以查看有哪些選項可以添加。還有幾個關系安裝成功的東西就是ldconfig了,在安裝時如果提示找不到某個庫或者在編譯時提示找不到**.so文件,就要用到它了,最簡單的解決辦法就是sudo gedit /etc/ld.so.conf,在文件中加入**.so文件所在路徑,再運行一下ldconfig就可以了,但是我對這個東西有陰影,不知道是因為用了虛擬機還是其他的原因,有7、8次我在運行完ldconfig后,Ubuntu就沒辦法打開任何窗口了,直接關機重啟就更是進不去系統了,崩潰之,不知道有沒有高手有解決辦法。在這里提供一種代替ldconfig的辦法,就是export LD_LIBRARY_PATH=*.so文件地址:$LD_LIBRARY_PATH,用它我就舒心多了,也就是麻煩點,哥忍了,總比系統崩潰強多了吧,呵呵!其實,在configure時碰到問題,你應該慶幸,因為你可以根據它很明顯的提示找到缺失的東西裝上,在配置下pkgconfig和ldconfig基本上就可以搞定了,但是make的時候就沒那么簡單了。

編譯時提示最多的就是**東西未找到了,要么是庫文件,要么是頭文件,庫文件用上面的ldconfig基本上就可以搞定,頭文件的話需要配置包含的路徑,和庫的類似,命令如下:

export LD_INCLUDE_PATH=/usr/local/include:$LD_INCLUDE_PATH

在這個時候最重要的就是淡定了,循著丫的error往上找,像"No such file or directory"這樣的錯誤提示肯定就在附近,找到了,include之就可以咯!

 

關鍵字:Linux、源碼安裝、

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站