张小白树莓派4B踩坑记(三)
前情回顾:
张小白树莓派4B踩坑记(一)https://bbs.huaweicloud.com/blogs/330786
张小白树莓派4B踩坑记(二)https://bbs.huaweicloud.com/blogs/330956
ARM CPU的MindSpore版本已经装上了,今天我们来玩些什么呢?
张小白第一次源码安装gcc 7.3.0失败,这让张小白非常郁闷。今天就在新的系统中看看能不能打破这个僵局。
gcc7.3.0的安装按照 https://bbs.huaweicloud.com/blogs/198349 ,应该是 gmp5.0.1+mpc1.1.0+mpfr3.1.0+gcc7.3.0 分别源码安装。
wget ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2
wget http://www.multiprecision.org/downloads/mpc-1.1.0.tar.gz
wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.0.tar.xz
bzip2 -d gmp-5.0.1.tar.bz2
tar xvf gmp-5.0.1.tar
cd gmp-5.0.1
./configure --prefix=/usr/local/gmp-5.0.1
抱歉,我不认识这个系统。。
加个参数试一下:
./configure --prefix=/usr/local/gmp-5.0.1 --build=arm-linux
...
抱歉。。。
张小白再查了下资料,似乎需要依靠automake提供的config.guess才行、
下载automake源码:
wget https://ftp.gnu.org/gnu/automake/automake-1.16.tar.gz
解压后,需要修改automake的Makefile,按下面的箭头所示增加 --no-discard-stderr参数
然后再configure
make -j8
sudo make install
将automake-1.16/lib下的config.guess文件覆盖gmp-5.0.1下的config.guess文件:
回到gmp-5.0.1的目录,再重新 ./configure --prefix=/usr/local/gmp-5.0.1
make -j8
sudo make install -j8
同样解压 mpfr进行./configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1
会发现同样的问题,当然也可以采用同样的解决方案:
重新./configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1
make -j8
sudo make install -j8
对于mpc如法炮制:
./configure --prefix=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0
make -j8
sudo make install -j8
修改/etc/ld.so.conf
sudo ldconfig
然后解压gcc的包,开始编译gcc:
./configure --with-gmp=/usr/local/gmp-5.0.1 --with-mpc=/usr/local/mpc-1.1.0 --with-mpfr=/usr/local/mpfr-3.1.0 --disable-multilib
啊,什么问题:
再来一遍看看:
加个参数再试一下:
./configure --with-gmp=/usr/local/gmp-5.0.1 --with-mpc=/usr/local/mpc-1.1.0 --with-mpfr=/usr/local/mpfr-3.1.0 --disable-multilib --disable-libsanitizer
make -j8
终于编译成功。
sudo make install -j8
查看下gcc:
/usr/local/bin/gcc是自己源码编译的7.3.0,/usr/bin/gcc是系统自带的。
做个备份,删掉/usr/bin下的软链接:
这样gcc 7.3.0就OK了。
这也算是解决了第一章遇到的装不起来的难题。撒花!
(未完待续)
- 点赞
- 收藏
- 关注作者
评论(0)