内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

程序包

建站服務(wù)器

程序包管理之編譯源代碼安裝

平羅網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,平羅網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為平羅上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的平羅做網(wǎng)站的公司定做!

為什么要進(jìn)行源代碼編譯安裝?

1.對(duì)應(yīng)的程序包并不能直接獲取到;

2.已經(jīng)編譯好的二進(jìn)制中,尚不包含我們所需要的功能;

3.已經(jīng)編譯好的二進(jìn)制中,包含的功能太多,我們并不需要;

1.想要使用某個(gè)程序包,但是找不到可用的二進(jìn)制包;

2.想要使用的程序包有二進(jìn)制格式的,我們所需要的的功能或特性并沒(méi)有被編譯;

程序的源代碼包有兩種格式:

原始的源代碼包:name-VERSION.tar.gz

tar xf命令釋放包中的源碼文件

rpm封裝的源代碼包:name-VERSION.release.src.rpm

rpm -ivh 將源代碼文件安裝到某個(gè)目錄中;

源代碼程序包的組織形式:

多個(gè)源代碼文件,

同一個(gè)文件的不同代碼段或者式不同文件的不同代碼段之間可能有依賴關(guān)系;

在編譯源代碼的時(shí)候,必須要首先編譯某些代碼段,或者說(shuō)必須先編譯某個(gè)文件中的代碼段,然后才能進(jìn)行后續(xù)的編譯;

在源代碼文件之間可能存在跨文件的依賴關(guān)系,這種依賴關(guān)系只有其作者最為清楚

程序員為了讓用戶能夠比較輕松的了解文件與文件之間,代碼段與代碼段之間的依賴關(guān)系,他們會(huì)編寫說(shuō)明性文檔;

后來(lái)程序員會(huì)為每一個(gè)源代碼文件附加一個(gè)頭部信息,用以說(shuō)明文件和代碼段的依賴關(guān)系,程序員開(kāi)發(fā)了一個(gè)工具專門提取此類信息并匯總,結(jié)合程序員給提供的配置末班,有針對(duì)性的生成按章的說(shuō)明文檔,其中包括:此次編譯調(diào)用哪個(gè)預(yù)處理器? 如何進(jìn)行預(yù)處理? 調(diào)用哪個(gè)編譯器? 調(diào)用哪個(gè)匯編器? 如何進(jìn)行匯編? 程序需要安裝在那個(gè)路徑下?

源代碼項(xiàng)目管理工具

C/C++: make

java:maven

python:buildout

說(shuō)明性的文檔:makefile 這樣的文件并不是固定不變的,而是根據(jù)用戶進(jìn)行選擇而進(jìn)行不斷變化的

makefile文件用makefile.in(makefile.win)的模板生成的

利用configure腳本,接受用戶的選擇,并且configure腳本會(huì)將所有接收來(lái)的信息匯總到makefile.in模板上,替換模板中相應(yīng)的內(nèi)容,從而生成makefile文件

程序員編寫源代碼,并且給源代碼文件增加頭部信息;提供Makefile.in的模版文件;

需要autoconf工具,生成configure腳本;

需要automake工具,并利用configure腳本接受來(lái)的所有參數(shù),創(chuàng)建makefile文件

有了正確的makefile文件,可以使用make命令來(lái)進(jìn)行源代碼編譯

預(yù)處理-->編譯-->匯編-->鏈接-->生成可執(zhí)行的二進(jìn)制文件

安裝二進(jìn)制文件--將二進(jìn)制文件復(fù)制到正確的目錄路徑中 在現(xiàn)在的源代碼編譯過(guò)程中如果在源代碼包中已經(jīng)有了configure腳本,我們還需要做下列工作

1.使用./configure腳本根據(jù)用戶所提供的選項(xiàng)信息生成makefile文件

2.make

3.make install

建議:在真正的安裝程序包之前最好先查看源代碼包中的install的文件,如果沒(méi)有這個(gè)文件,則查看readme的文件;

如何獲得開(kāi)源程序的源代碼包

1.發(fā)布程序的官方站點(diǎn) apache.org mariadb.org kernel.org

2.代碼托管站點(diǎn)

SourceForge

Github.com

code.google.com

在Linux系統(tǒng)上進(jìn)行源代碼編譯安裝的前提:

1.編譯開(kāi)發(fā)環(huán)境必須符合要求

centos6系統(tǒng)

yum groupinstallDevelopment tolls server platform development

centos7系統(tǒng)

yum groups install Development tolls

2.編譯器要符合要求

gcc,cpp,make,automake...

3.編譯時(shí)所用到的標(biāo)準(zhǔn)庫(kù)要完備 glibc,c標(biāo)準(zhǔn)庫(kù)

滿足上述條件之后,接下來(lái)可以進(jìn)行源代碼編譯安裝

1.運(yùn)行configure腳本

大量的選項(xiàng):置頂安裝過(guò)程中所用到的各種路徑,啟動(dòng)或關(guān)閉的特性等

--help:獲取該程序包所支持的所有選項(xiàng)

選項(xiàng)的分類

安裝路徑選項(xiàng)

--prefix=路徑(/PATH/TO/SOFTWARE_INSTALL)

系統(tǒng)類型選項(xiàng)

如果所有的系統(tǒng)類型選項(xiàng)都不選擇,則默認(rèn)在本機(jī)的默認(rèn)操作系統(tǒng)和本級(jí)的平臺(tái)架構(gòu)基礎(chǔ)之上進(jìn)行編譯,也可以在編譯的時(shí)候選擇其他文件系統(tǒng)和其他的平臺(tái)類型,這種情況通常稱為交叉編譯;

可選特性選項(xiàng):

--disable-FEATURE

--enable-FEATURE

在編譯源代碼的時(shí)候,選擇啟用或禁用某項(xiàng)功能或特性

可選程序包選項(xiàng):

在編譯源代碼的時(shí)候,源代碼中的某些特性可能會(huì)依賴其他外部程序包

--with-PACKAGE

--without-PACKAGE

選擇使用或不使用外部程序包

上述命令及選項(xiàng)之后會(huì)在源代碼目錄中自動(dòng)創(chuàng)建出makefile文件

2.make [-j] #(不能超過(guò)處理器核心數(shù))

3.make install

源代碼安裝之后,要做收尾工作

1.到處二進(jìn)制程序所在的目錄到PATH變量中;

在/etc/profile.d/name.sh

export PATH=/PATH/TO/BINARY:$PATH

source /etc/profile.d/name.sh

2.導(dǎo)出庫(kù)文件:

編輯/etc/ld.so.conf.d/name.conf

/PATH/TO/SOFTWARE_LIBRARY

ldconfig [-v]

3.導(dǎo)出頭文件:

創(chuàng)建對(duì)應(yīng)的符號(hào)鏈接

ln -sv /PATH/TO/HEAD_FILE /uer/include/name

4.導(dǎo)出幫助文件

centos7中默認(rèn)已經(jīng)導(dǎo)出幫助文件

centos6

編輯/etc/man.config文件,在該文件中添加一個(gè)新行

MANPATH=/PATH/TO/MAN_FILE

舉例安裝httpd-2.4.18

1.首先要解決開(kāi)發(fā)工具環(huán)境;

yum groupinstall Development tools

2.使用適合httpd-2.4.18版本的apr及apr-util工具;

安裝apr工具

~]# tar xf apr-1.5.2.tar.bz2 -C /usr/src

~]# cd /usr/src/apr-1.5.2

~]# ./configure --prefix=/usr/local/apr-1.5.2

~]# make

~]# make install

安裝arp-util工具

~]# tar xf apr-util-1.5.4.tar.bz2 -C /usr/src

~]# cd /usr/src/apr-util-1.5.4

~]# ./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.2

~]# make

~]# make install

3.需要安裝pcre-devel以滿足httpd的正則表達(dá)式使用需求;

yum -y install pcre-devel

編譯安裝httpd:

~]# tar xf httpd-2.4.18.tar.gz -C /usr/src

~]# cd /usr/src/httpd-2.4.18

~]# ./configure --with-apr=/usr/local/apr-1.5.2 --with-apr-util=/usr/local/apr-util-1.5.4

~]# make

~]# make install

收尾:

1.導(dǎo)出二進(jìn)制文件:

vim /etc/profile.d/httpd.sh

export PATH=/usr/local/apache2/bin:$PATH

source /etc/profile.d/httpd.sh

2.導(dǎo)出庫(kù)文件:

vim /etc/ld.so.conf.d/httpd-x86_64.conf

/usr/local/apache2/modules

ldconfig -v

3.導(dǎo)出頭文件:

ln -sv /usr/local/apache2/include /usr/include/httpd

網(wǎng)頁(yè)標(biāo)題:程序包
文章起源:http://m.rwnh.cn/article2/cpddic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、關(guān)鍵詞優(yōu)化、ChatGPT、企業(yè)建站小程序開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
大英县| 万安县| 法库县| 沾益县| 昭通市| 道孚县| 东丽区| 安新县| 许昌市| 新晃| 长海县| 太康县| 新巴尔虎左旗| 合江县| 蓝田县| 丽江市| 太白县| 白水县| 瑞丽市| 佛教| 中牟县| 屏东市| 辽源市| 栾川县| 郴州市| 东海县| 弥渡县| 宾阳县| 新化县| 镇安县| 德阳市| 应用必备| 韩城市| 任丘市| 华池县| 新干县| 晋城| 余江县| 安乡县| 景东| 肥城市|