前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu20.04 安装 Swift

Ubuntu20.04 安装 Swift

原创
作者头像
Vine
修改2022-06-05 23:47:28
4580
修改2022-06-05 23:47:28
举报
文章被收录于专栏:Swift Server

新建用户

代码语言:txt
复制
adduser swift

usermod -aG sudo swift

下载

代码语言:txt
复制
wget https://download.swift.org/swift-5.6-release/ubuntu2004/swift-5.6-RELEASE/swift-5.6-RELEASE-ubuntu20.04.tar.gz
代码语言:txt
复制
$ apt-get install \

          binutils \

          git \

          gnupg2 \

          libc6-dev \

          libcurl4 \

          libedit2 \

          libgcc-9-dev \

          libpython2.7 \

          libsqlite3-0 \

          libstdc++-9-dev \

          libxml2 \

          libz3-dev \

          pkg-config \

          tzdata \

          uuid-dev \

          zlib1g-dev

验证

  • 下载 GPG, 导出密钥
代码语言:txt
复制
$ wget -q -O - https://swift.org/keys/all-keys.asc | \

  gpg --import -
  • 吊销已有 GPG,更新密钥
代码语言:txt
复制
$ gpg --keyserver hkp://pool.sks-keyservers.net --refresh-keys Swift
  • 下载 SIG 文件, 签名文件
代码语言:txt
复制
wget https://download.swift.org/swift-5.6-release/ubuntu2004/swift-5.6-RELEASE/swift-5.6-RELEASE-ubuntu20.04.tar.gz.sig
  • 验证 签名
代码语言:txt
复制
$ gpg --verify swift-5.6-RELEASE-ubuntu20.04.tar.gz.sig
  • 成功
代码语言:txt
复制
gpg: Good signature from "Swift 5.x Release Signing Key <swift-infrastructure@swift.org>" [unknown]

解压安装包

代码语言:txt
复制
$ tar xzf swift-5.6-RELEASE-ubuntu20.04.tar.gz

添加环境变量

  • 永久添加环境变量
代码语言:txt
复制
$ sudo mv swift-5.6-RELEASE-ubuntu20.04 /opt
  • 重建链接
代码语言:txt
复制
sudo rm /opt/swift



sudo ln -s /opt/swift-5.6-RELEASE-ubuntu20.04 /opt/swift
代码语言:txt
复制
$ vim ~/.bashrc



export PATH=/opt/swift/usr/bin:${PATH}
  • 或者
代码语言:txt
复制
echo "export PATH=/opt/swift/usr/bin:$PATH" >> ~/.bashrc
  • 刷新
代码语言:txt
复制
source ~/.bashrc

查看版本

代码语言:txt
复制
swift --version

运行期间查找动态库

  • LD\_LIBRARY\_PATH

主要是用于指定动态链接器(ld)查找ELF可执行文件运行时所依赖的动态库(so)的路径。即用于在程序运行期间查找动态链接库时,指定除了系统默认路径(/usr/lib)之外的路径.

代码语言:txt
复制
export LD\_LIBRARY\_PATH=/opt/swift/usr/lib:${LD\_LIBRARY\_PATH}

Centos 的问题

  • # \_\_block conflicts with clang's \_\_block qualifier
代码语言:txt
复制
      sed -i -e 's/\\*\_\_block/\\*\_\_libc\_block/g' /usr/include/unistd.h

编译期间查找动态库

  • LIBRARY\_PATH

LIBRARY_PATH是在程序编译期间查找动态链接库时指定的查找共享库的路径。

指定gcc编译需要链接动态链接库的目录。设置libtest1和libtest2目录

代码语言:txt
复制
export LIBRARY\_PATH=libtest1:libtest2:$LIBRARY\_PATH 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新建用户
  • 下载
  • 验证
  • 解压安装包
  • 添加环境变量
  • 查看版本
  • 运行期间查找动态库
  • Centos 的问题
  • 编译期间查找动态库
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档