基礎瞭解
在一個比較大型的項目中,所有的文件不可能全部編輯於一個文件中。常常會將源碼存放於多個文件中,便於日後維護和管理,故編譯安裝起來就不那麼容易。
在項目完成之後,項目的發佈者通常會進行如下操作:
1、autoconf:會生成configure文件。
該文件主要用於檢查編譯環境是否滿足編譯需求,並定義啓用哪些功能或特性,同時定義安裝路徑。
其結果是,結合makefile.in生成makefile文件。
2、automake:生成makefile.in文件。
編譯安裝的步驟(以源碼安裝Python爲例)
1、解壓源碼包。
命令:tar xf Pkg-name
# tar xf Python-2.7.11.tgz
2、切換進解壓包。
3、查看configure的幫助信息
# ./configure --help
4、執行configure腳本,並指定安裝路徑。
# ./configure --prefix=/usr/local/python --sysconfdir=/etc/python.conf
生成了makefile文件
5、編譯並安裝。
# make && make install。
補充:configure腳本的通用功能,(可自行進行配置)
1、指定安裝路徑
--prefix=/usr/local/python
--sysconfdie=/etc/python
2、指定啓動或禁用特性
--enable-feature
--disable-feature
3、指定所依賴的功能、程序或文件
--with-funciton
--without-function
編譯之後的工作
1、將二進制程序導入系統可見範圍:
# vim /etc/profile.d/xxx.sh
PATH=/usr/local/xxx:$PATH
export PATH
# { . | source} /etc/profile.d/xxx.sh
[root@anna-laptop Python-2.7.11]# vim /etc/profile.d/python.sh [root@anna-laptop Python-2.7.11]# . /etc/profile.d/python.sh [root@anna-laptop Python-2.7.11]# cat /etc/profile.d/python.sh PATH=/usr/local/python/bin:/usr/local/python/sbin:$PATH export PATH
2、將頭文件導入系統可見:
# ln -sv /usr/local/python/include/ /usr/include/python
[root@anna-laptop Python-2.7.11]# ln -sv /usr/local/python/include/ /usr/include/ `/usr/include/include' -> `/usr/local/python/include/'
3、將庫文件導入
# vim /etc/ld.so.conf.d/python.conf
/usr/local/python/lib
# ldconf 讓系統生成庫文件的緩存。
[root@anna-laptop Python-2.7.11]# vim /etc/ld.so.conf.d/python.conf [root@anna-laptop Python-2.7.11]# ldconfig [root@anna-laptop Python-2.7.11]# cat /etc/ld.so.conf.d/python.conf /usr/local/python/lib
4、將man文件導入
# vim /etc/man.conf
MANPATH /usr/local/xxx/man
注:python沒有man文檔,此處不用修改。