1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux安装ld编译器 科学网—手动安装特定版本的gcc编译器 - 亓欣波的博文

linux安装ld编译器 科学网—手动安装特定版本的gcc编译器 - 亓欣波的博文

时间:2022-03-15 07:24:21

相关推荐

linux安装ld编译器 科学网—手动安装特定版本的gcc编译器 - 亓欣波的博文

Linux发行版中一般预装了gcc编译器,版本随系统不同而不同,有时候不想用(或者是不能用)系统默认的gcc编译器,就需要自己编译特定版本的gcc编译器。

这里以在Ubuntu14.04环境(默认gcc为4.8.2)安装gcc4.6.3为例,记录一下安装过程。

整个安装过程很繁琐且漫长,计入发现坑以及填坑的时间,至少需要两个小时(也与机器有关),总之耐心。。。

期间参考了以下网站:

需要提前准备好的软件有:系统自带的gcc(如果没有,需要从软件库中通过apt-get安装)、m4、gmp、mpfr、mpc。

gcc-4.6.3源码和gmp、mpfr、mpc的源码都可以在gcc官网中找到,gcc在release文件夹中,其他的在infrastructure文件夹中。

因为这几个软件之间相互有依赖关系,故它们的安装顺序不要打乱。

1、安装m4

sudo apt-get install m4

(上面命令可能提示找不到m4,此时可以更换软件源试试,也可以使用新立得软件包管理器synpatic安装)

2、安装gmp

tar -xjvf gmp-4.3.2.tar.bz2

cd gmp-4.3.2

./configure --prefix=/usr/local/gmp

make

sudo make install

3、安装mpfr

tar -xjvf mpfr-2.4.2.tar.bz2

cd mpfr-2.4.2

./configure --prefix=/usr/local/mpfr--with-gmp=/usr/local/gmp

make

sudo make install

4、安装mpc

tar -xzvf mpc-0.8.1.tar.gz

cd mpc-0.8.1

./configure--prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr

make

sudo make install

5、配置库路径

将三个软件的库文件加入动态链接库中:

vim ~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp/lib: /usr/local/mpfr/lib:/usr/local/mpc/lib

保存以后:

source ~/.bashrc

将三个软件的库文件加入共享链接库中:

vim /etc/ld.so.conf

/usr/local/mpc/lib

/usr/local/gmp/lib

/usr/local/mpfr/lib

保存以后:

sudo /sbin/ldconfig

6、安装gcc-4.6.3

cd gcc-4.6.3

./configure --prefix=/usr/local/gcc-4.6.3 --enable-threads=posix --disable-checking

--disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp

--with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc

make

sudo make install

在make中有可能出现以下错误:

(1)/usr/include/features.h:374:25: fatalerror: sys/cdefs.h:没有那个文件或目录

这是因为在64位机器上生成32位的编译代码,因此需要安装32位的库:

sudo apt-get install gcc-multilib

sudo apt-get install g++-multilib

(2)/usr/bin/ld: cannot find crti.o: No suchfile or directory

此时需要修改LD_LIBRARY_PATH变量,即在.bashrc中设置:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu

并且做一个链接:

sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

这里的路径与机器位数有关,64位为x86_64,32位为i386。

7、配置gcc

用gcc-4.6.3替换原来的gcc,需要将原来的gcc屏蔽掉:

sudo mv/usr/bin/gcc /usr/bin/gcc-4.8.2

sudo mv/usr/bin/g++ /usr/bin/g++-4.8.2

然后将gcc-4.6.3的bin路径加入到环境变量中:

vim ~/.bashrc

exportPATH=$PATH:/usr/local/gcc-4.6.3/bin

转载本文请联系原作者获取授权,同时请注明本文来自亓欣波科学网博客。

链接地址:/blog-441611-875715.html

上一篇:GTD软件推荐——Wunderlist

下一篇:COMSOL第一个算例——扳手拧螺栓

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。