嘗試在CentOS7 2上編譯安裝Swift4 0

2021-09-16 18:51:12 字數 3013 閱讀 6446

原:嘗試在centos7.2上編譯安裝swift4.0

swift --version

swift version 4.0-dev

target: x86_64-unknown-linux-gnu

yum install -y git clang gcc-c++ uuid-devel libicu-devel icu libedit-devel libxml2-devel sqlite-devel swig python-devel ncurses-libs ncurses-devel pkgconfig libuuid-devel epel-release libbsd-devel
更新cmake

cmake 3.4.3版本有要求,必須比cmake 3.4.3高。cmake官網

wget

# 解壓

tar -zxvf cmake-3.9.0.tar.gz

cd cmake-3.9.0

./bootstrap --prefix=/usr

make

sudo make install

開啟 找到cloned repositories建立mkdir -p /usr/local/swift && cd /usr/local/swift目錄並進入swift

tar -zxvf swift-development-snapshot-2017-07-29-a.tar.gz -c src/llvm

wget -p ninja

上面採用 開發板編譯花了三個小時,後面用 released 版本編譯,警告少了許多,而且編譯快了相當多呢,所以你需要選擇乙個穩定的 released 版本安裝。

wget  -p ninja
安裝之後的目錄結構

swift/

└── src

├── clang

├── cmark

├── lldb

├── llvm

├── ninja

├── swift-corelibs-libdispatch

└── swift

yum install re2c -y # re2c 是乙個用於編寫快速靈活的詞法分析器的工具
編譯

./configure.py --bootstrap

cp ninja /usr/local/bin/

在檔案vi /etc/profile新增下面**,新增完成之後,source /etc/profile更改立即生效。

export swift_source_root=/usr/local/swift/src
進入cd /usr/local/swift/src/swift/utils/目錄,執行指令碼

# ./build-script -r

# 上面命令會報錯,建議使用下面命令

./build-script --libdispatch

./build-script --libdispatch --extra-cmake-options="-dswift_build_sourcekit:bool=true"

swap區不夠大的原因。導致clang++ kernel opps

clang: error: unable to execute command: killed

clang: error: linker command failed due to signal (use -v to see invocation)

**大分割槽:

sudo fallocate -l 4g /swapfile

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

開機自動掛載swap:

使用 vi 或 nano 在 /etc/fstab 檔案底部新增如下內容:

/swapfile none swap sw 0 0
libatomic不存在

# 錯誤

/usr/bin/ld: cannot find /usr/lib64/libatomic.so.1.0.0

解決辦法,building swift on centos。

wget --no-check-certificate -o /etc/yum.repos.d/libatomic-4.8.5-11.el7.x86_64.rpm

# 安裝

rpm -ivh libatomic-4.8.5-11.el7.x86_64.rpm

編譯完成,設定環境資訊vi ~/.bash_profile

path=$path:/usr/local/swift/src/build/ninja-releaseassert/swift-linux-x86_64/bin
立即生效source ~/.bash_profile

新增touch ~/helloworld.swift檔案,新增下面**測試

print("hello world!")
編譯swift檔案

swiftc ~/helloworld.swift -o ~/hello
執行~/hello輸出hello world!

大功告成!

在CentOS7 2上安裝Ghost

部署環境 centos7.2 1核1g 安裝g 編譯器 yum update y yum list gcc c yum install gcc c x86 64 y 安裝nodejs 目前node.js v4.2.0 lts 已經成為ghost推薦版本 wget tar zxvf node v4.2...

CentOS 7 2編譯安裝Tengine

tengine官網上有個非常簡單的教程,中間並未涉及到一些常用的設定,所以僅供參考。一下午為本人的安裝步驟及過程。配置firewalld,iptables,關閉selinux 1 安裝必要的編譯環境好 由於tengine安裝需要使用源 自行編譯,所以在安裝前需要安裝必要的編譯工具 yum y upd...

CentOS 7 2編譯安裝Tengine

tengine官網上有個非常簡單的教程,中間並未涉及到一些常用的設定,所以僅供參考。一下午為本人的安裝步驟及過程。配置firewalld,iptables,關閉selinux 1 安裝必要的編譯環境好 由於tengine安裝需要使用源 自行編譯,所以在安裝前需要安裝必要的編譯工具 yum y upd...