Linux程序包編譯安裝

程序包編譯安裝:

? ? ?Application-VERSION-release.src.rpm–> 安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝

? ? ?源代碼–>預處理–>編譯–>匯編–>鏈接–>執行

? ? ?源代碼組織格式:

多文件:文件中的代碼之間,很可能存在跨文件依賴關系

C、C++make 項目管理器

configure –> Makefile.in –>
makefile

java: maven

C語言源代碼編譯安裝三步驟:

1、./configure

(1) 通過選項傳遞參數,指定啟用特性、安裝路徑等;執行時會參考用戶的指定以及makefile.in文件生成makefile

(2) 檢查依賴到的外部環境,如依賴的軟件包

2、make 根據makefile文件,構建應用程序

3、make install 復制文件到相應路徑

開發工具:

autoconf: 生成configure腳本

automake:生成Makefile.in

? ? ??注意:安裝前查看INSTALL,README

開源程序源代碼的獲取:

官方自建站點:

apache.org (ASFApache Software Foundation)

mariadb.org??

代碼托管:

SourceForge.net

Github.com

code.google.com

? ? ? c/c++編譯器: gcc(GNU C Complier)

第一步:configure腳本

選項:指定安裝位置、指定啟用的特性

–help: 獲取其支持使用的選項

選項分類:

安裝路徑設定:

–prefix=/PATH: 指定默認安裝位置,默認為/usr/local/

–sysconfdir=/PATH:配置文件安裝位置

System types:支持交叉編譯

Optional Features: 可選特性

–disable-FEATURE

–enable-FEATURE[=ARG]

Optional Packages: 可選包

–with-PACKAGE[=ARG],依賴包

–without-PACKAGE,禁用依賴關系

第二步:make

第三步:make
install

安裝后的配置:

(1) 二進制程序目錄導入至PATH環境變量中

編輯文件/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

(2) 導入庫文件路徑

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

添加新的庫文件所在目錄至此文件中

讓系統重新生成緩存:

ldconfig[-v]

(3) 導入頭文件

基于鏈接的方式實現:

ln -sv

? ? ? ?(4) 導入幫助手冊

編輯/etc/man.config|man_db.conf文件

添加一個MANPATH

原創文章,作者:MFX,如若轉載,請注明出處:http://www.www58058.com/74212

(2)
MFXMFX
上一篇 2017-04-25
下一篇 2017-04-25

相關推薦

  • rhel6.7安裝pymssql(通過Python連接MSsql數據庫)

    依賴安裝: freetds、python-devel、cython、Python3.x 1、安裝freetds tar -jxvf freetds-dev.0.99.134.tar.bz cd freetds-dev.0.99.134 ./configure –prefix=/usr/local/freetds&nb…

    Linux干貨 2016-05-23
  • ?redis cluster 安裝指南

    公司的很多項目在使用redis主從。由于coder的各種毀滅性操作,迫切需要一個能帶故障恢復的架構。因此新版的cluster,開始了測試。 一、Cluster 理論基礎 Cluster介紹 Redis集群是一個提供在多個Redis間節點間共享數據的程序集。 Redis集群并不支持處理多個keys的命令,因為這需要在不同的節點間移動數據,從而達不到像Redis…

    Linux干貨 2016-02-14
  • M22 程序員偷懶戰法

    前段時間有個外國的程序猿走紅網絡,這個哥們可以說是懶到了極點,上班請假給領導發短信寫腳本,下班晚回家給老婆發短信寫腳本,甚至于接個咖啡也要寫腳本。這個哥們離職之后,他的同事在他的辦公電腦上發現了這些腳本,并公布到了網上,引起眾程序猿紛紛膜拜。最近我剛好學到shell腳本部分,就讓我分析其中的一個跟領導請假的腳本吧。 #!/bin/sh -e # Exit e…

    Linux干貨 2017-04-06
  • linux【管道命令 PIPE】選取命令、排序命令、雙向從定向、比較工具

    linux【管道命令 PIPE】選取命令、排序命令、雙向從定向、比較工具 選取命令【cut,grep】 cut:可將一段信息的某一段‘切’出來。處理信息時使用以‘行’為單位。 cut -d ‘分割字符’ -f fields 用于分割字符 cut -c 字符范圍 用于排列整齊的信息 參數: -d:后面接分隔字符,與-f一起使用 -f:以及-d的分割字符將一段信…

    Linux干貨 2017-04-04
  • 20160805作業-正則表達式

    http://note.youdao.com/yws/public/redirect/share?id=1e40165dc16523400e14433e71683963&type=false

    Linux干貨 2016-08-08
  • 實驗刪除分區表

    首先我們先對分區表做個備份 dd if=/dev/sda of=/app/mbr bs=1 count=512 把備份考到另一臺設備上,不拷貝的話這臺設備開不了機無法使用備份的文件 清除分區表 接下來需要在客戶端操作 使用光盤救援模式啟動 啟用網絡 選網卡 自動獲取ip后默認下一步 接下來就是把剛剛拷到另一臺設備上的文件拷貝回來 ? 注:這是在光盤的根目錄下…

    2017-12-05

評論列表(1條)

  • renjin
    renjin 2017-04-28 10:16

    主要對linux下源碼包的安裝進行了介紹,可以把學的rpm包管理,yum源的配置與使用一起總結進來。

欧美性久久久久