本文,写的比较简略:
因构建工具链的耗时,取决于电脑的配置,以及网速。本文采用的环境是在vultr.com搭建一个8G RAM + 4cpu的vps进行编译,因为是按小时收费,所以耗费不了多少钱。
------------------------------------------------分割线--------------------------------------------------------------------------------------
创建普通用户,本文创建的用户名为sung
cd /home/sung/
mkdir cross_chain_home
build_root ----------------- ptx 和下载包的根目录
build_root/ptxdist ----------------- ptxdist的安装目录
build_root/download_pack ------------------ 下载的软件包的根目录
cross_chain_root ------------------ 目标工具链根目录
环境:
ubuntu 14.04 8G RAM 4vcpu
ptxdist-2016.06.1
OSELAS.Toolchain-2016.06.1
目标工具链:
arm-v7a-linux-gnueabihf
创建对应的目录
mkdir build_root build_root/ptxdist build_root/download_pack cross_chain_root
upload file to cross_chain_home :
OSELAS.Toolchain-2016.06.1.tar.bz2
ptxdist-2016.06.1.tar.bz2
版本必须一致,不一致需加--force选项
解压两个包
1.安装ptxdist
解压 ptxdist-2016.06.1
cd ptxdist-2016.06.1
首先进行配置configure:
./configure --prefix=/home/sung/cross_chain_home/build_root/ptxdist
configure的过程,需要安装许多包,缺什么装什么即可,安装的速度飞起,不用担心耗时,安装的包如下(略去了很多)
apt-get install gcc g++
sudo apt-get install libncurses-dev
。。。。。。
编译 make
安装 make install
PATH更新:
PATH updated:
可以手动进行export
export PATH=$PATH:/home/sung/cross_chain_home/build_root/ptxdist/bin
进行一些特殊配置:
ptxdist setup
如果远程ssh无法编辑,手动编辑.ptxdist文件夹,该文件夹位于~/.ptxdist,修改文件 ~/.ptxdist/ptxdistrc-2016.06
需要修改其中两项内容:
#
# Project Searchpath
#
PTXCONF_SETUP_PROJECTPATH="/home/sung/cross_chain_home" #搜索的根目录
#
# Source Directories
#
PTXCONF_SETUP_SRCDIR="/home/sung/cross_chain_home/build_root/download_pack" #下载的安装包的安装的根目录
2.toolchain 编译
解压 OSELAS.Toolchain-2016.06.1
cd OSELAS.Toolchain-2016.06.1
进行select选择对应的ptxconfig文件,本文选择的是arm-v7a-linux-gnueabihf_gcc-5.4.0_glibc-2.23_binutils-2.26_kernel-4.6-sanitized.ptxconfig
ptxdist select ./ptxconfigs/arm-v7a-linux-gnueabihf_gcc-5.4.0_glibc-2.23_binutils-2.26_kernel-4.6-sanitized.ptxconfig
进行目标的安装目录选择
ptxdist menuconfig
misc
---> src install
如果远程ssh无法编辑,可以手动编辑对应的ptxconfig文件,修改后,用menuconfig查看,是否修改成功
手动修改 ptxconfig文件,需要修改的内容:PTXCONF_PREFIX="/home/sung/cross_chain_home/cross_chain_root"
3.进行实际编译
ptxdist go
中间如果有些下载包失败,可以添加一个下载源https://ftp.gnu.org/gnu
4.结语:
用此环境编译,基本耗费时间能控制再1个小时以内
sung.2019.03.26