Ubuntu18.04系统源码安装gcc7.3.0:一次痛苦的尝试

然后使用以下命令进行配置和编译:必须先将GMP的头文件路径添加到环境变量中:

专注于为中小企业提供成都网站建设、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业屏边免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

最近,我在我的Ubuntu18.04系统中尝试进行源码安装gcc7.3.0。这是一个旨在提高编译速度和代码质量的GCC版本,但由于它并不包含在默认软件仓库中,所以需要手动进行安装。

首先,我去了GCC官方网站下载了源代码包,并按照README文件中的说明解压缩了该文件。接下来,我进入解压后的目录,并使用以下命令开始配置:

```

./configure --prefix=/usr/local/gcc-7

这个过程非常漫长,在我的机器上大约花费了20分钟左右。然而,在完成之前出现了错误:

checking for the correct version of gmp.h... no

configure: error: Building GCC requires GMP 4.2+, MPFR 2.4+ and MPC 0.8+. Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations.

经过查找资料得知,此错误意味着缺少必要的依赖项GMP、MPFR和MPC库。因此,我决定将它们也手动下载并编译。

第一个依赖项是GMP库。同样地,在其官方网站下载完整源代码包后(gmp-6.x.x.tar.bz2),我解压缩并进入该目录,然后使用以下命令进行配置和编译:

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

make -j4 && make install

这个过程很快就完成了,并显示出了成功安装的信息。

接下来是MPFR库。步骤与上述类似,但需要注意一点:在执行“make”命令之前,必须先将GMP的头文件路径添加到环境变量中:

export CFLAGS="-I/usr/local/gmp-6/include"

export LDFLAGS="-L/usr/local/gmp-6/lib"

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

最后一个依赖项MPC库同样如此处理。但由于它还需要引用MPFR库,因此要设置两个环境变量:

export CFLAGS="-I/usr/local/gmp-6/include -I/usr/local/mpfr-3/include"

export LDFLAGS="-L/usr/local/gmp-6/lib -L/usr/local/mpfr-3/lib"

./configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-6 --with-MPFR=/usr/locl/mpfr--3

现在所有依赖项都已经准备好了。我回到GCC源代码目录,并重新执行了之前的配置命令。这次,它通过了检查,并开始编译:

这个过程非常漫长,花费了大约1小时。然而,在完成之前又出现了错误:

/usr/bin/ld: cannot find -lgcc_s

collect2: error: ld returned 1 exit status

Makefile:10530:recipe for target 'libgcc_s.so.1' failed

make[3]: *** [libgcc_s.so.1] Error 1

make[3]: Leaving directory '/home/user/gcc-7.3.0/x86_64-pc-linux-gnu/libgcc'

Makefile:15247:recipe for target 'all-target-libgcc' failed

make[2]: *** [all-target-libgcc] Error 2

make[2]: Leaving directory '/home/user/gcc-7.3.0'

Makefile:2389:recipe for target 'all' failed

make[1]: *** [all] Error 2

make[1]: Leaving directory '/home/user/gcc-7.3.0'

Makefile:9266:recipe for target 'bootstrap' failed

make: *** [bootstrap] Error 2

这是由于缺少一个名为“libtinfo”的库的原因。我在网上查找解决方法,并尝试使用以下命令安装它:

sudo apt-get install libncurses-dev:i386 lib32z-dev libssl-dev libc6-i386 g++

但结果并不理想,错误依旧存在。

当前题目:Ubuntu18.04系统源码安装gcc7.3.0:一次痛苦的尝试
URL网址:http://www.mswzjz.com/qtweb/news10/194510.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联