亞寵展、全球?qū)櫸锂a(chǎn)業(yè)風(fēng)向標(biāo)——亞洲寵物展覽會(huì)深度解析
908
2022-05-30
寫在前面:博主是一只經(jīng)過實(shí)戰(zhàn)開發(fā)歷練后投身培訓(xùn)事業(yè)的“小山豬”,昵稱取自動(dòng)畫片《獅子王》中的“彭彭”,總是以樂觀、積極的心態(tài)對待周邊的事物。本人的技術(shù)路線從Java全棧工程師一路奔向大數(shù)據(jù)開發(fā)、數(shù)據(jù)挖掘領(lǐng)域,如今終有小成,愿將昔日所獲與大家交流一二,希望對學(xué)習(xí)路上的你有所助益。同時(shí),博主也想通過此次嘗試打造一個(gè)完善的技術(shù)圖書館,任何與文章技術(shù)點(diǎn)有關(guān)的異常、錯(cuò)誤、注意事項(xiàng)均會(huì)在末尾列出,歡迎大家通過各種方式提供素材。
對于文章中出現(xiàn)的任何錯(cuò)誤請大家批評指出,一定及時(shí)修改。
有任何想要討論和學(xué)習(xí)的問題可聯(lián)系我:zhuyc@vip.163.com。
發(fā)布文章的風(fēng)格因?qū)诙悾猿审w系,不足之處請大家指正。
CentOS軟件管理 - 編譯安裝
本文關(guān)鍵字:Linux、軟件管理、configure、make、make install
文章目錄
CentOS軟件管理 - 編譯安裝
一、環(huán)境準(zhǔn)備
1. 核心組件
2. 其他組件
二、安裝流程
1. 解壓:tar -zvxf
2. 配置:configure
3. 編譯:make
4. 編譯檢查:make test/check
5. 編譯安裝:make install
一、環(huán)境準(zhǔn)備
很多軟件下載之后是一個(gè)源碼包,是不能夠直接運(yùn)行的,需要先進(jìn)行編譯安裝,生成可執(zhí)行程序。在進(jìn)行編譯時(shí),需要先使用yum安裝編譯工具。
1. 核心組件
必須要安裝的就是gcc(GNU Compiler Collection)GNU編譯器套件,其中包含了C、C++、Objective-C、Fortran、Java、Ada、Go語言前端,也包含了對應(yīng)語言的庫,幾乎可以滿足絕大部分源碼軟件對編譯環(huán)境的需要。
yum install gcc
1
安裝后可解決以下問題:
如果yum使用出現(xiàn)問題,可進(jìn)傳送門:Linux軟件管理 - YUM工具
2. 其他組件
在進(jìn)行實(shí)際軟件安裝時(shí),由于軟件與軟件之間可能也會(huì)存在依賴和調(diào)用關(guān)系,如:在源碼編寫時(shí)引入了某個(gè)類庫,如果我們的系統(tǒng)中沒有相關(guān)的類庫,就會(huì)編譯失敗,這個(gè)時(shí)候我們只要根據(jù)報(bào)錯(cuò)信息安裝相應(yīng)的缺失類庫即可,以下列出了一些常用的類庫。
pcre
./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre=
1
2
3
4
yum install pcre-devel
1
zlib
./configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=
1
2
3
4
yum install zlib-devel
1
curl
src/main.c:18:23: 錯(cuò)誤:curl/curl.h:沒有那個(gè)文件或目錄 src/main.c: 在函數(shù)‘main’中: src/main.c:143: 警告:隱式聲明函數(shù)‘curl_global_init’ src/main.c:143: 錯(cuò)誤:‘CURL_GLOBAL_ALL’未聲明(在此函數(shù)內(nèi)第一次使用) src/main.c:143: 錯(cuò)誤:(即使在一個(gè)函數(shù)內(nèi)多次出現(xiàn),每個(gè)未聲明的標(biāo)識(shí)符在其 src/main.c:143: 錯(cuò)誤:所在的函數(shù)內(nèi)也只報(bào)告一次。) src/main.c:397: 警告:隱式聲明函數(shù)‘curl_global_cleanup’ make: *** [src/main.o] 錯(cuò)誤 1
1
2
3
4
5
6
7
8
yum install curl-devel
1
openssl
yum install openssl openssl-devel
1
二、安裝流程
1. 解壓:tar -zvxf
編譯安裝的第一步與解壓安裝類似,需要先進(jìn)行解壓縮,一般都會(huì)包含以下目錄和內(nèi)容。
src目錄:軟件源碼存放位置
LICENSE:許可及權(quán)限信息
README:幫助說明文檔
configure:用于檢測當(dāng)前系統(tǒng)環(huán)境,用戶自定義配置,以及生成makefile文件
Makefile:有可能直接存在,大多數(shù)情況下在執(zhí)行configure后出現(xiàn),用來指定編譯的順序及其他的復(fù)雜的功能操作
2. 配置:configure
編譯安裝的第一步就是執(zhí)行configure腳本,會(huì)檢查編譯構(gòu)建當(dāng)前軟件的所需環(huán)境,同時(shí)用戶可以根據(jù)需要指定相關(guān)的配置。所有的選項(xiàng)以-?-開頭使用等號連接配置項(xiàng)與配置的值,如:-?-prefix=/usr/local/。
-?-prefix:指定編譯安裝時(shí)的目標(biāo)路徑,相當(dāng)于自定義軟件安裝位置
-?-bindir:指定二進(jìn)制文件的安裝位置
-?-sbindir:指定超級二進(jìn)制文件的安裝位置
-?-datadir:指定數(shù)據(jù)文件的安裝位置
-?-include:指定頭文件的安裝位置
-?-infodir:指定info文檔格式文件的安裝位置
-?-mandir:指定幫助文檔的安裝位置
在不指定安裝位置時(shí),將會(huì)安裝到默認(rèn)位置,通常分布在/usr/local中
3. 編譯:make
在進(jìn)行configure后,如果環(huán)境不存在問題,會(huì)生成對應(yīng)的Makefile文件,用于執(zhí)行make命令時(shí)調(diào)用。
在make過后,其實(shí)軟件已經(jīng)完成了安裝,會(huì)在源碼解壓目錄中生成構(gòu)建完成的文件,如:Nginx軟件make后會(huì)在obj文件夾中生成如下文件:
4. 編譯檢查:make test/check
編譯后可以使用make test或make check命令再次檢查編譯過程是否正確。
5. 編譯安裝:make install
執(zhí)行最后一步:編譯安裝,根據(jù)configure階段的配置,將已經(jīng)生成的軟件安裝到指定的目錄中去,可以對可執(zhí)行文件定義軟連接或者添加到環(huán)境變量,方便使用。
CentOS
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。