Cent0S 6.7 i686编译gcc-7.1.0的问题,求解?

睿智的神 发布于 2017/10/20 19:32
阅读 287
收藏 1

还有人在吗?我又遇到了一个问题!!!!

我今天在编译gcc-7.1.0源码的时候,我的configure是这样写的:

./configure --prefix=/usr/local/gcc-7.1.0 \
--with-gmp=/usr/local/gmp-4.3.2 \
--with-mpfr=/usr/local/mpfr-2.4.2 \
--with-mpc=/usr/local/mpc-1.0.3 

 ~/.bash_profile配置文件,贴出一部分

C_INCLUDE_PATH=/usr/local/gmp-4.3.2/include/:$C_INCLUDE_PATH    
C_INCLUDE_PATH=/usr/local/mpfr-2.4.2/include/:$C_INCLUDE_PATH    
C_INCLUDE_PATH=/usr/local/mpc-1.0.3/include/:$C_INCLUDE_PATH    
export C_INCLUDE_PATH

LIBRARY_PATH=/usr/local/gmp-4.3.2/lib/:$LIBRARY_PATH
LIBRARY_PATH=/usr/local/mpfr-2.4.2/lib/:$LIBRARY_PATH
LIBRARY_PATH=/usr/local/mpc-1.0.3/lib/:$LIBRARY_PATH
export LIBRARY_PATH

LD_LIBRARY_PATH=/usr/local/gmp-4.3.2/lib/:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/local/mpfr-2.4.2/lib/:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/usr/local/mpc-1.0.3/lib/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

然后我使用source ~/.bash_profile命令使得该配置文件生效

但是当我make的时候,结果出现这样的错误

/usr/local/src/gcc-7.1.0/host-i686-pc-linux-gnu/gcc/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory

我知道他的意思就是:找不到libmpc.so.3这个动态库,但是我进入/usr/loca/gmp-1.0.3这个目录的时候,我是可以看到这动态库的:

哪位兄弟姐姐们能给我点提示,一点提示就好,不耽误大家太多的时间,谢谢!!!!!

加载中
0
iforgetmyname
iforgetmyname

严格来说,我应该算弟弟吧(笑),所以,

哥哥,

configure错了

./configure --prefix=/usr/local/gcc-7.1.0 \
--with-gmp=/usr/local/gmp-4.3.2 \
--with-gmp=/usr/local/mpfr-2.4.2 \
--with-gmp=/usr/local/mpc-1.0.3 \

其中指定mpfr和mpc的目录是用--with-mpfr和--with-mpc

所以应该是

./configure --prefix=/usr/local/gcc-7.1.0 \
--with-gmp=/usr/local/gmp-4.3.2 \
--with-mpfr=/usr/local/mpfr-2.4.2 \
--with-mpc=/usr/local/mpc-1.0.3 \

 

还有…………你进的明明是 /usr/local/mpc-1.0.3/ 目录啊,为啥写

但是我进入/usr/loca/gmp-1.0.3这个目录的时候

 然后贴出的shell又是mpc目录,看得我一脸懵逼……

0
睿智的神
睿智的神

引用来自“iforgetmyname”的评论

严格来说,我应该算弟弟吧(笑),所以,

哥哥,

configure错了

./configure --prefix=/usr/local/gcc-7.1.0 \
--with-gmp=/usr/local/gmp-4.3.2 \
--with-gmp=/usr/local/mpfr-2.4.2 \
--with-gmp=/usr/local/mpc-1.0.3 \

其中指定mpfr和mpc的目录是用--with-mpfr和--with-mpc

所以应该是

./configure --prefix=/usr/local/gcc-7.1.0 \
--with-gmp=/usr/local/gmp-4.3.2 \
--with-mpfr=/usr/local/mpfr-2.4.2 \
--with-mpc=/usr/local/mpc-1.0.3 \

 

还有…………你进的明明是 /usr/local/mpc-1.0.3/ 目录啊,为啥写

但是我进入/usr/loca/gmp-1.0.3这个目录的时候

 然后贴出的shell又是mpc目录,看得我一脸懵逼……

我刚看到你的回答了,我贴的代码写错了,修正过来了。再帮我解答一下吧,谢谢啊!!!!!

iforgetmyname
iforgetmyname
你的mpc,mpfr和gmp是已经编译好了的吗?
0
iforgetmyname
iforgetmyname

或者有个简单的方法,把gmp、mpfr和mpc全部link到gcc源码目录下再编译试一试

iforgetmyname
iforgetmyname
还有一个问题我才刚刚看到,~/.bash_profile是提供给login shell的,如果你是non-login shell的话应该修改~/.bashrc
iforgetmyname
iforgetmyname
其实不推荐自己编译这三个库,因为gcc会自己编译的 在编译前执行./contrib/download_prerequisites
iforgetmyname
iforgetmyname
在gcc源码目录下, ln -s /usr/local/gmp-4.3.2 . ln -s /usr/local/mpfr-2.4.2 . ln -s /usr/local/mpc-1.0.3 . 然后再config --prefix = /usr/local/gcc-7.1.0 \ --enable-languages=c, c++ 如果没有别的语言要求的话就这两个就可以了,编译其他语言要别的包
返回顶部
顶部