CentOS軟件管理 - 編譯安裝

      網(wǎng)友投稿 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安裝編譯工具。

      CentOS軟件管理 - 編譯安裝

      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= option.

      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= option.

      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)容。

      上一篇:并發(fā)編程實(shí)戰(zhàn)-創(chuàng)建和執(zhí)行任務(wù)的最佳實(shí)踐
      下一篇:云合同:政府試水二手房交易電子合同,你是不是還在觀望呢
      相關(guān)文章
      亚洲另类无码一区二区三区| 中文字幕亚洲精品资源网| 久久亚洲精品成人AV| 国产亚洲午夜精品| 亚洲av无码一区二区三区四区| 7777久久亚洲中文字幕| 亚洲人成人77777在线播放| 亚洲黄色三级网站| 亚洲视频在线观看地址| 亚洲视频在线免费播放| 亚洲第一成年人网站| 亚洲日韩乱码中文无码蜜桃| 亚洲日本香蕉视频| 亚洲手机中文字幕| 亚洲一区二区久久| 伊人久久五月丁香综合中文亚洲| 亚洲国产视频久久| 亚洲精品无码av片| 无码天堂亚洲国产AV| 亚洲AV无码乱码在线观看牲色| 亚洲国产成人久久综合碰| 亚洲精品国产日韩无码AV永久免费网| 亚洲?V无码乱码国产精品 | 亚洲综合男人的天堂色婷婷| 亚洲美女免费视频| 亚洲av乱码一区二区三区香蕉| 日本亚洲免费无线码 | 性色av极品无码专区亚洲 | 亚洲激情电影在线| 国产精品亚洲精品观看不卡| 亚洲一本一道一区二区三区| 久久久久亚洲精品无码网址色欲| 国产成人va亚洲电影| 日本亚洲国产一区二区三区| 亚洲国产精品一区第二页| 91亚洲va在线天线va天堂va国产 | 亚洲不卡影院午夜在线观看| 亚洲.国产.欧美一区二区三区| 亚洲色偷偷综合亚洲AV伊人| 亚洲精品无码专区在线在线播放| 亚洲尹人香蕉网在线视颅|