導航:首頁 > 源碼編譯 > go編譯centos

go編譯centos

發布時間:2022-03-14 11:22:56

⑴ 如何在centos上安裝golang最新版

#下載linux系統的golang(golang.org)
$wgetpath/to/go*******.tar.gz
$sudotar-xvfgo*******.tar.gz
$sudomvgo/usr/local/

$sudoln-s/usr/local/go/bin/go/usr/local/bin/go
$sudoln-s/usr/local/go/bin/gofmt/usr/local/bin/gofmt
$sudoln-s/usr/local/go/bin/godoc/usr/local/bin/godoc

⑵ centos編譯安裝需要什麼環境

yum -y install "Development Tools"

其他依據編譯報錯安裝相應的支持

⑶ golang保存二進制文件會有大小端問題嗎

golang保存二進制文件會有大小端問題。

這個二進制文件的確有Big Endian 和Little Endian的問題,這個與CPU指令體系有關,不過不用操心,像JPEG就是Big Endian,其編解碼就都是按照這個約定來完成的,沒有平台問題,也沒有大小端的問題。

編譯centos上的可執行文件的時候需要交叉編譯。golang的交叉編譯很容易,你的情況的話用下面這條命令,GOOS=linux GOARCH=amd64 go build ./文件。

golang描述:

Go的語法接近C語言,但對於變數的聲明有所不同。Go支持垃圾回收功能。Go的並行模型是以東尼·霍爾的通信順序進程(CSP)為基礎。

採取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運算的特徵,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態載入部分函數。

與C++相比,Go並不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數等功能,但增加了 切片(Slice) 型、並發、管道、垃圾回收、介面(Interface)等特性的語言級支持。Go 2.0版本將支持泛型,對於斷言的存在,則持負面態度,同時也為自己不提供類型繼承來辯護。

⑷ golang 在mac 下go install成二進制文件,上傳到centos 無法執行

mac下編譯器默認編譯的是mac os x的可執行文件。
編譯centos上的可執行文件的時候需要交叉編譯。
golang的交叉編譯很容易,你的情況的話用下面這條命令
GOOS=linux GOARCH=amd64 go build ./文件

⑸ centos 7 默認安裝go語言環境嗎

1.1 Go 安裝

Go的三種安裝方式

Go有多種安裝方式,你可以選擇自己喜歡的。這里我們介紹三種最常見的安裝方式:

Go源碼安裝:這是一種標準的軟體安裝方式。對於經常使用Unix類系統的用戶,尤其對於開發者來說,從源碼安裝可以自己定製。
Go標准包安裝:Go提供了方便的安裝包,支持Windows、Linux、Mac等系統。這種方式適合快速安裝,可根據自己的系統位數下載好相應的安裝包,一路next就可以輕松安裝了。**推薦這種方式**
第三方工具安裝:目前有很多方便的第三方軟體包工具,例如Ubuntu的apt-get、Mac的homebrew等。這種安裝方式適合那些熟悉相應系統的用戶。

最後,如果你想在同一個系統中安裝多個版本的Go,你可以參考第三方工具GVM,這是目前在這方面做得最好的工具,除非你知道怎麼處理。

Go源碼安裝

在Go的源代碼中,有些部分是用Plan 9 C和AT&T匯編寫的,因此假如你要想從源碼安裝,就必須安裝C的編譯工具。

在Mac系統中,只要你安裝了Xcode,就已經包含了相應的編譯工具。

在類Unix系統中,需要安裝gcc等工具。例如Ubuntu系統可通過在終端中執行sudo apt-get install gcc
libc6-dev來安裝編譯工具。

在Windows系統中,你需要安裝MinGW,然後通過MinGW安裝gcc,並設置相應的環境變數。

你可以直接去官網下載源碼,找相應的goVERSION.src.tar.gz的文件下載,下載之後解壓縮到$HOME目錄,執行如下代碼:
cd go/src
./all.bash

運行all.bash後出現"ALL TESTS PASSED"字樣時才算安裝成功。

上面是Unix風格的命令,Windows下的安裝方式類似,只不過是運行all.bat,調用的編譯器是MinGW的gcc。

如果是Mac或者Unix用戶需要設置幾個環境變數,如果想重啟之後也能生效的話把下面的命令寫到.bashrc或者.zshrc裡面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin

如果你是寫入文件的,記得執行bash .bashrc或者bash
.zshrc使得設置立馬生效。

如果是window系統,就需要設置環境變數,在path裡面增加相應的go所在的目錄,設置gopath變數。

當你設置完畢之後在命令行裡面輸入go,看到如下圖片即說明你已經安裝成功

圖1.1 源碼安裝之後執行Go命令的圖

如果出現Go的Usage信息,那麼說明Go已經安裝成功了;如果出現該命令不存在,那麼可以檢查一下自己的PATH環境變中是否包含了Go的安裝目錄。

關於上面的GOPATH將在下面小節詳細講解

Go標准包安裝

Go提供了每個平台打好包的一鍵安裝,這些包默認會安裝到如下目錄:/usr/local/go
(Windows系統:c:\Go),當然你可以改變他們的安裝位置,但是改變之後你必須在你的環境變數中設置如下信息:
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

上面這些命令對於Mac和Unix用戶來說最好是寫入.bashrc或者.zshrc文件,對於windows用戶來說當然是寫入環境變數。

⑹ 如何編譯arm linux的go

Golang也就是Go語言,現在已經發行到1.4.1版本了,語言特性優越性和背後Google強大靠山什麼的就不多說了。Golang的官方提供了多個平台上的二進制安裝包,遺憾的是並非沒有發布ARM平台的二進制安裝包。ARM平台沒辦法直接從官網下載二進制安裝包來安裝,好在Golang是支持多平台並且開源的語言,因此可以通過直接在ARM平台上編譯源代碼來安裝。整個過程主要包括編譯工具配置、獲取Golang源代碼、設置Golang編譯環境變數、編譯、配置Golang行環境變數等步驟。
註:本文選用樹莓派做測試,因為樹莓派是基於ARM平台的。

1、編譯工具配置
據說下個版本的golang編譯工具要使用golang自己來寫,但目前還是使用C編譯工具的。因此,首先要配置好C編譯工具:
1.1 在Ubuntu或Debian平台上可以使用sudo apt-get install gcc libc6-dev命令安裝,樹莓派的RaspBian系統是基於Debian修改的,所以可以使用這種方法安裝。
1.2 在RedHat或CentOS 6平台上可以使用sudo yum install gcc libc-devel命令安裝。
安裝完成後可以輸入 gcc --version命令驗證是否成功安裝。

2、獲取golang源代碼
2.1 直接從官網下載源代碼壓縮包。
golang官網提供golang的源代碼壓縮包,可以直接下載,最新的1.4.1版本源代碼鏈接:https://storage.googleapis.com/golang/go1.4.1.src.tar.gz
2.2 使用git工具獲取。
golang使用git版本管理工具,也可以使用git獲取golang源代碼。推薦使用這個方法,因為以後可以隨時獲取最新的golang源代碼。
2.2.1 首先確認ARM平台上已經安裝了git工具,可以使用git --version命令確認。一般linux平台都安裝了git,沒有的話可以自行安裝,不同平台的安裝方法可以參考:http://git-scm.com/download/linux
2.2.2 克隆遠程golang的git倉庫到本地
在終端cd到你想要安裝golang的目錄,確保該目錄下沒有名為go的目錄。然後以下命令獲取代碼倉庫:
git clone https://go.googlesource.com/go
大陸地區可能會獲取失敗,在不翻牆的情況下我試了幾次都沒成功,原因大家都懂的。好在google已經將golang也託管到github上面,所以也可以通過下面命令獲取:
git clone https://github.com/golang/go.git
視網路情況,下載可能需要不少時間。我2M的帶寬花了將近兩個小時才下載完,雖然整個項目不過幾十兆= =
下載完成後,可以看到目錄下多了一個go目錄,裡面即為golang的源代碼,在終端上執行cd go命令進入該目錄。
執行下面命令檢出go1.4.1版本的源代碼,因為現在已經有新的代碼提交上去了,最新的代碼可能不是最穩定的:
git checkout go1.4.1
至此,最新1.4.1發行版的源代碼獲取完畢

3、設置golang的編譯環境變數
主要有GOROOT、GOOS、GOARCH、GOARM四個環境變數需要設置,先解釋四個環境變數的意義。
3.1 GOROOT
主要代表golang樹結構目錄的路徑,也就是上面git檢出的go目錄。一般可以不用設置這個環境變數,因為編譯的時候默認會以go目錄下src子目錄中的all.bash腳本運行時的父目錄作為GOROOT的值。為了保險起見,可以直接設置為go目錄的路徑。
3.2 GOOS和GOARCH
分別代表編譯的目標系統和平台,可選值如下:

GOOS GOARCH
darwin 386
darwin amd64
dragonfly 386
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64
需要注意的是這兩個值代表的是目標系統和平台,而不是編譯源代碼的系統和平台。樹莓派的RaspBian是linux系統,所以這些GOOS設置為linux,GOARCH設置為arm。
3.3 GOARM
表示使用的浮點運算協處理器版本號,只對arm平台有用,可選值有5,6,7。如果是在目標平台上編譯源代碼,這個值可以不設置,它會自動判斷需要使用哪一個版本。
總結下來,在樹莓派上設置golang的編譯環境變數,可編輯$HOME/.bashrc文件,在末尾添加下面內容:
export GOROOT=你的go目錄路徑
export GOOS=linux
export GOARCH=arm
編輯完後保存,執行source ~/.bashrc命令讓修改生效。

4、編譯源代碼
環境變數配置完成自後就可以開始編譯源代碼。在go目錄下的src子目錄中,主要有all.bash和make.bash兩個腳本(另外還有兩個all.bat和make.bat腳本適用於window平台)。編譯實際上就是執行其中一個腳本,兩者的區別在於all.bash在編譯完成後還會執行一些測試套件。如果希望只編譯不測試,可以運行make.bash腳本。使用cd命令進入go下src目錄,執行./all.bash或者./make.bash命令即可開始編譯。由於硬體情況不同,編譯耗費的時間不同。在我的B型樹莓派編譯過程花費了將近半個小時,編譯完成後執行的測試套件又花費了差不多一個小時,總共花費了一個半小時左右。

5、配置golang運行環境變數
編譯完成後,go目錄下會生成bin目錄,裡面就是go的運行腳本。為了以後使用方法,可以將這個bin路徑添加到PATH環境變數中。同樣編輯~/.bashrc文件,因為前面設置過GOROOT環境變數指向go目錄了,所以只需要在末尾加上
export PATH=$PATH:$GOROOT/bin
保存後同樣執行source ~/.bashrc命令讓環境變數生效。

至此,golang源代碼編譯安裝成功。執行go version應該就能看到當前golang的版本信息,表示編譯安裝成功。

⑺ 如何讓go程序一直在centos運行

要使程序開機運行的話將文該命令添加到/etc/rc.local即可: echo "命令的完整路徑/iperf -s">>/etc/rc.local

⑻ 在ubuntu下面怎麼編譯出centos可以運行的庫

最好的辦法是CentOS本地編譯,理論上Linux之間應該是兼容的,但不同的發行版存在軟體版本不同、大的補丁不同等因素,不一定二進制兼容

次一點的辦法是做個交叉編譯環境,找個CentOS的鏡像看看裡面gcc、binutils、glibc的版本,按照LFS的方式,做一個交叉編譯器,源代碼最好用centos的srpm,而不是gnu官方版本

不想麻煩,不妨嘗試下二進制兼容性

如果ubuntu和CentOS之間軟體包版本相差不大,嘗試靜態編譯,是不是可以二進制兼容

如果ubuntu中glibc等依賴庫版本略小於CentOS(鑒於發行版定位,這得需要很老的ubuntu,比如CentOS 6作為目標就需要ubuntu 9.10或之前),試試動態鏈接能不能直接二進制兼容

理論上x64可以運行32位程序,但能達到WOW64那種兼容性的很少,最好保證位元一致

⑼ 如何查看編譯好的庫 centos

PostgreSQL是開源關系型資料庫的首選了,因為現在mysql資料庫都給oracle收購了,下面我們來介紹在centos中編譯PostgreSQL資料庫的教程. readline是一個開源的跨平台程序庫,提供了互動式的文本編輯功能。postgresql需要readline的支持。 wget -c https://ftp/pub/source/v9.3.5/postgresql-9.3.5.tar.gz [root@rootop postgresql-9.3.5]# yum install readline readline-devel [root@rootop postgresql-9.3.5]# ./configure --prefix=/usr/local/pgsql [root@rootop postgresql-9.3.5]# make [root@rootop postgresql-9.3.5]# make install 添加系統賬戶: [root@rootop ~]# useradd postgres [root@rootop ~]# passwd postgres 創建數據目錄: [root@rootop ~]# mkdir /usr/local/pgsql/data [root@rootop ~]# chown postgres:postgres /usr/local/pgsql/data/ 初始化資料庫: [root@rootop ~]# su postgres #切換到postgres用戶執行 [postgres@rootop ~]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/ 根據提示可以通過 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data/ 或 /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start 啟動服務。 推薦下面的腳本啟動方式,啟動以後會在tcp上監聽5432埠。 [postgres@rootop ~]$ lsof -i:5432 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME postgres 5140 postgres 3u IPv4 2394876345 0t0 TCP localhost:postgres (LISTEN) 復制管理腳本(root操作): [root@rootop postgresql-9.3.5]# cp contrib/start-scripts/linux /etc/init.d/postgresql [root@rootop postgresql-9.3.5]# chmod o+x /etc/init.d/postgresql 編輯啟動腳本,注意以下部分為實際信息: #安裝路徑 prefix=/usr/local/pgsql #數據目錄 PGDATA=”/usr/local/pgsql/data” #啟動用戶 PGUSER=postgres #日誌路徑 PGLOG=”$PGDATA/serverlog” 然後就可以通過service postgresql startstoprestartreloadstatus 管理了。 開機啟動: [root@AY131126202614070132Z ~]# chkconfig postgresql on 相關配置文件: 通過 /usr/local/pgsql/data/postgresql.conf 可以配置監聽地址、埠及連接數等。 listen_addresses = port = max_connections = 通過 /usr/local/pgsql/data/pg_hba.conf 可以配置允許遠程連接的地址。 host all all 127.0.0.1/32 trust 登陸資料庫: [root@AY131126202614070132Z ~]# /usr/local/pgsql/bin/psql -h 127.0.0.1 -d postgres -U postgres psql (9.3.5) Type "help" for help. postgres=# \l #查看已有的資料庫 List of databases Name Owner Encoding Collate Ctype Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres postgres UTF8 en_US.UTF-8 en_US.UTF-8 template0 postgres UTF8 en_US.UTF-8 en_US.UTF-8 =c/postgres + postgres=CTc/postgres template1 postgres UTF8 en_US.UTF-8 en_US.UTF-8 =c/postgres + postgres=CTc/postgres (3 rows) postgres=# \q #退出 psql 支持的參數可以通過/usr/local/pgsql/bin/psql --help 獲取 安裝完成。

閱讀全文

與go編譯centos相關的資料

熱點內容
單片機樹莓派接線圖 瀏覽:808
php安裝suhosin 瀏覽:675
伺服器地址443無法連接 瀏覽:732
jpg怎麼批量轉換成pdf 瀏覽:185
甄嬛傳東方衛視源碼 瀏覽:211
linuxpython下載安裝 瀏覽:938
人工免疫演算法matlab 瀏覽:657
黑客點擊指標源碼 瀏覽:816
農場源碼搭建 瀏覽:311
phpfopen讀取 瀏覽:114
linuxc暫停 瀏覽:836
海康的雲伺服器的作業 瀏覽:132
pdf組織技術 瀏覽:402
鋼筋加密區原位標注怎麼確定跨數 瀏覽:366
微信小程序朋友圈發消息源碼 瀏覽:209
手機連接伺服器在什麼設置 瀏覽:931
linux關閉httpd 瀏覽:80
劍與家園伺服器怎麼樣 瀏覽:173
金蜘蛛源碼公式 瀏覽:821
java自定義監聽 瀏覽:984