當前位置:編程學習大全網 - 源碼下載 - LINUX源碼下載linux源碼

LINUX源碼下載linux源碼

Linux下如何編譯Android源碼~~~?

這個問題已經找到解決方案了,方法如下:

1.在Linux設置文件***享,將項目***享,最好有個密碼什麽的。

2.在Linux上配置sshserver,用於和編譯安卓源碼3.Linuxmac通過連接,原因是有線傳輸比無線的快很多,ping只是0.3左右ms,不影響使用。然後就可以mac編寫代碼,然後ssh編譯什麽的,很方便,

linux壹般是怎樣進行源碼安裝的?

比如妳想安裝無損音樂解碼包flac就需要以下幾步:

從官網或源碼網站上下載源碼包:

我壹般從

http://packages.debian.org

上下載。

搭建編譯環境

這裏主要是安裝壹些編譯工具,如gcc(g++)、autoconf、automake、build-essential等

~$sudoapt-getinstallgccg++autoconfautomakebuild-essential

這裏,我早就裝過了,所以沒有什麽多余的安裝信息。

解壓軟件包,並進入源碼文件夾

~$tar-xvfflac_1.3.0.orig.tar.xz

~$cdflac-1.3.0

根據需要選擇合適的編譯參數

~$./configure--help

(1)這裏演示禁用ogg的支持,即選用編譯參數--disable-ogg;

(2)同時將flac庫裝在用戶主目錄下的inst文件夾下,即設置參數--prefix=$HOME/inst

編譯flac源碼

(1)檢查編譯環境能否完成編譯,生成Makefile文件

~$./configure--prefix=$HOME/inst--disable-ogg

(2)進行編譯

~$./make-j$(nproc)

這裏多核心的cpu可以通過-j選項加速編譯過程

(3)安裝

~$makeinstall(安裝的目錄當前用戶有讀寫權限)或

~$sudomakeinstall(安裝的目錄當前用戶沒有讀寫權限)

安裝完畢,將編譯好的庫和可執行文件添加到搜索路徑中

~$cd$HOME/inst

~$exportPATH=$HOME/inst/bin:$PATH

~$exportLD_LIBRARY_PATH=$HOME/inst/lib:$LD_LIBRARY_PATH

~$exportPKG_CONFIG_PATH=$HOME/lib/pkgconfig:$PKG_CONFIG_PATH

這裏,如果是安裝到/usr或/usr/local文件夾內,壹般是不需要設置這些參數的。

整個編譯安裝過程中容易出現問題的地方就是5.(1)(生成Makefile)和5.(2)(編譯源碼)這兩個地方。

5.(1)出的問題壹般是:

(1)待編譯庫的依賴庫沒有安裝。這就必須先安裝依賴庫

(2)環境變量未設置好,即使依賴庫安裝了也找不見。這必須設置好LD_LIBRARY_PATH、PATH和PKG_CONFIG_PATH這三個環境變量;或者根據./configure--help中所給定的--with-xxx=/path/to/dependent/library來指定依賴的庫

5.(2)出的問題壹般是:

(1)有些源碼文件編譯不過。這要麽搜貼查找解決方法,要麽放棄編譯(實在無能為力),因為這些錯誤有可能是潛在的或者已經出現的bug。。。

(2)鏈接時某些庫鏈接不上。這需要在生成Makefile之前設置CFLAGS或CXXFLAGS環境變量來實現,壹般為:exportCFLAGS="-I/path/to/some/library's/include/dir-L/path/to/some/library's/lib/dir-lsomelibrary"。

源碼編譯中的庫依賴是十分令人頭痛的,祝妳好運。。。

如何獲取linux下命令源碼?

命令的源碼是壹個軟件包為單元的,放在壹個軟件包的源碼中。若要下載壹個命令的源碼,就要把這個命令所屬的軟件包的源碼都下載下來。命令的源碼就在下載的源碼的相關文件夾內。壹般是src文件夾,對應的主文件名稱為cmd.c,當中cmd為詳細的命令,如ls命令的主程序文件為ls.c。

因為在不同的Linux發行版上。源碼的獲取方法並不同樣。所以以下以Ubuntu和CentOS這兩種經常使用的Linux發行版為樣例進行說明。

1、Ubuntu中系統命令源碼的獲取方法

以32位Ubuntu14.04下,獲取ls命令的源碼為例,能夠使用例如以下的方法下載源碼:

1)使用which命令查看ls命令的位置,例如以下:

whichls#輸出:/bin/ls

2)使用dpkg命令查詢ls命令所屬的包。例如以下:

dpkg-S/bin/ls#輸出:coreutils:/bin/ls

3)使用apt-get命令來下載ls命令所在的包的源碼。例如以下:

apt-getsourcecoreutils

註:

1)在使用dpkg時。若出現錯誤。能夠使用sudo命令使其以root權限運行。

2)使用apt-getsource下載的源碼保存到當前文件夾下。

。此外,當我們知道了命令所屬的包後,也能夠到對應的官方站點下載。

2、CentOS中系統命令源碼的獲取方法

以32位CentOS6.6下,獲取ls命令的源碼為例,能夠使用例如以下的方法下載源碼:

1)配置源碼的源

在CentOS中,源的配置文件為:/etc/yum.repos.d/CentOS-Base.repo,改動該文件須要root權限。

打開該文件,查看該文件的內容,在本人的機子上,該文件的內容例如以下:

#CentOS-Base.repo

#

#ThemirrorsystemusestheconnectingIPaddressoftheclientandthe

#updatestatusofeachmirrortopickmirrorsthatareupdatedtoand

#geographicallyclosetotheclient.YoushouldusethisforCentOSupdates

#unlessyouaremanuallypickingothermirrors.

#

#Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe

#remarkedoutbaseurl=lineinstead.

#

#

name=CentOS-$releasever-Base

mirrorlist=http://mirrorlist.centos.org/?release=$releaseverarch=$basearchrepo=os

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#releasedupdates

name=CentOS-$releasever-Updates

mirrorlist=http://mirrorlist.centos.org/?release=$releaseverarch=$basearchrepo=updates

#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additionalpackagesthatmaybeuseful

name=CentOS-$releasever-Extras

mirrorlist=http://mirrorlist.centos.org/?

release=$releaseverarch=$basearchrepo=extras

#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additionalpackagesthatextendfunctionalityofexistingpackages

name=CentOS-$releasever-Plus

mirrorlist=http://mirrorlist.centos.org/?release=$releaseverarch=$basearchrepo=centosplus

#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib-packagesbyCentosUsers

name=CentOS-$releasever-Contrib

mirrorlist=http://mirrorlist.centos.org/?release=$releaseverarch=$basearchrepo=contrib

#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/

gpgcheck=1

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

該文件裏有兩個變量:releasever和basearch。分別表示release版本號和分支,如本人的機子上,這兩個值分別為6和i386。註意。releasever並不會細分為次級版本號。即不會是6.6之類的。

從該文件的內容能夠知道,該文件***同擁有5個節。也就是說本人的機子的軟件來源有5處,分別為base、updates、extras、centosplus和contrib。所以僅僅須要為例如以下的5處軟件源指定其源碼的源就可以。在文件的末尾加上例如以下的內容:

name=CentOS-$releasever-Basesrc

baseurl=http://vault.centos.org/6.6/os/Source/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

name=CentOS-$releasever-Updatessrc-centos

baseurl=http://vault.centos.org/6.6/updates/Source/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

name=CentOS-$releasever-Extrassrc-centos

baseurl=http://vault.centos.org/6.6/extras/Source/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

name=CentOS-$releasever-Plussrc-centos

baseurl=http://vault.centos.org/6.6/centosplus/Source/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

name=CentOS-$releasever-Contribsrc-centos

baseurl=http://vault.centos.org/6.6/contrib/Soruce/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

因為不同的版本號設置會有所不同,所以其設置會有所不同,方法可總結為例如以下:

(1)gpgkey與該文件裏已有的節的gpgkey同樣

(2)為了確認文件的存在和情況,能夠打開站點http://vault.centos.org/查看詳細的情況,再依據詳細的情況來填寫

(3)設置baseurl時須要依據自己的系統的版本號來設置,如本人的機子為CentOS-6.6,則在設置時,相關的_數就設置為6.6。即http://vault.centos.org/後接的子路徑為6.6。

該文件的作用是為yum其及相關工作的下載提供壹個源。如在使用yumdownloader(以下會講到)下載源碼時。會發生例如以下動作:

(1)下載$baseurl/repodata/repomd.xml文件。若該repomd.xml文件比系統中的新。更新系統中的對應的repomd.xml

(2)下載$baseurl/SPackages/中的對應的源碼rpm包。

2)使用which命令查看ls命令的位置,例如以下:

whichls

#輸出:/bin/ls

3)使用rpm命令查詢ls命令所屬的包,例如以下:

rpm-qf/bin/ls

#輸出:coreutils-8.4-37.el6.i686

4)yumdownloader是壹個從RPM源下載RPM的程序,能夠使用yumdownloader命令安裝源碼。例如以下:

yumdownloader--sourcecoreutils-8.4-37.el6.i686

註:

(1)若yumdownloader命令沒有安裝,則能夠使用此命令安裝:yuminstallyum-utils。

(2)下載的文件在當前文件夾下。能夠使用_數--destdir指定下載到哪壹個文件夾。

5)使用yumdownloader下載到的是壹個安裝包文件rpm,能夠使用例如以下的命令查詢rpm中的tar文件:

rpm-qplcoreutils-8.4-37.el6.src.rpm|greptar

#輸出:coreutils-8.4.tar.xz

6)使用rpm2cpio命令將rpm包文件轉換成cpio歸檔文件,再使用cpio命令,從cpio歸檔文件復制提取出壹個歸檔文件。出例如以下:

rpm2cpiocoreutils-8.4-37.el6.src.rpm|cpio-idvcoreutils-8.4.tar.xz

#輸出:

#coreutils-8.4.tar.xz

#9561blocks

cpio的man解釋為:cpiocopiesfilesintoanarchive

-i:與--extract等同。提取之意

-d:與--make-directories等同,當有須要時創建壹個載入文件夾

-v:列出文件的處理過程

7)使用tar命令對coreutils-8.4.tar.xz壓縮包進行解壓縮,例如以下:

tar-xvf./coreutils-8.4.tar.xz

至此,命令的源碼獲取完畢。

  • 上一篇:遊戲公司招聘需要什麽條件?
  • 下一篇:誰能找到旅遊美學的論文,鑒賞某壹景點的
  • copyright 2024編程學習大全網