建立我自己的gcc版本

时间:2013-06-19 05:35:22

标签: gcc dynamic-linking gfortran gcc4.7

我的发行版(CentOS 6.3)附带gcc 4.4.6。由于我想尝试Fortran2003的功能,所以我决定编译gcc 4.7。

我按照我在网上找到的步骤:首先单独编译gmp,mpc,mpfr,ppl和cloog以及编译的gcc。

我将配置的脚本运行为:

configure --prefix=... --with-gmp=... --with-mpfr=... --with-mpc=... --program-suffix=-4.7 --enable-cloog-backend=isl --with-ppl=... --with-cloog=... --disable-multilib

这很有效,我可以用make&编译。 make install

现在,当我使用一个简单的测试程序(一个hello world类型的东西)尝试我的新编译器时,我得到了错误:

gfortran-4.7 -o test test.F90

/home/amcastro/gcc-4.7/output/libexec/gcc/x86_64-unknown-linux-gnu/4.7.0/f951: error while loading shared libraries: libcloog-isl.so.1: cannot open shared object file: No such file or directory

所以我决定设置LD_LIBRARY_PATH=/home/amcastro/gcc-4.7/output/lib 然后我就可以编译了。

运行时我收到错误:

./test

./test: error while loading shared libraries: libquadmath.so.0: cannot open shared object file: No such file or directory

所以我设置LD_LIBRARY_PATH=/home/amcastro/gcc-4.7/output/lib:/home/amcastro/gcc-4.7/output/lib64

现在该程序正常运行。

问题是:为什么我的发行版gcc(4.4.6)不需要我设置LD_LIBRARY_PATH?发行版gcc如何知道在哪里寻找这些动态受欢迎的库?我应该以某种方式让他们静态链接? 我还读到设置LD_LIBRARY_FLAG并不是一个好主意。还有其他解决方案吗?

提前谢谢

一个。

0 个答案:

没有答案