编译GCC 5.3.0时编译器错误(-Lyes / lib和-Iyes / include)

时间:2016-04-29 02:55:54

标签: gcc configure

尝试编译GNU GCC 5.3.0时,尝试构建libjavamath.la时遇到以下错误。

/bin/bash ../../../libtool --tag=CC   --mode=link /home/borish/Downloads/gcc-build/./gcc/xgcc -B/home/borish/Downloads/gcc-build/./gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include    -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long  -Iyes/include -g -O2 -module -version-info 0:0:0 -no-undefined -Lyes/lib -lgmp -avoid-version  -o libjavamath.la -rpath /usr/local/lib/../lib64/gcj-5.3.0-16 gnu_java_math_GMP.lo ../../../native/jni/classpath/jcl.lo 
../../../libtool: line 5209: cd: yes/lib: No such file or directory
libtool: link: cannot determine absolute directory name of `yes/lib'
Makefile:403: recipe for target 'libjavamath.la' failed

这是在安装了GCC 4.9.2-10的Debian 8.4系统上。我相信我已经满足了所有prerequisitesGoogle wasn't been much help

有什么想法吗?

更新

我使用以下命令运行配置脚本:

../gcc-5.3.0/configure --disable-multilib --with-mpc --with-isl --with-mpfr --with-gmp

2 个答案:

答案 0 :(得分:2)

听起来你没有运行"配置"正确。例如:

  

https://software.ecmwf.int/issues/browse/SUP-676

     

好的,我已经看到了一个问题," - with-jasper"选项必须指向   到" jasper"的前缀安装,例如

$./configure --with-jasper=/usr/local/jasper --with-png-support.
     

否则价值"是"被设置为前缀..

例如,如果你看这里:

http://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html

您会看到像‘--with-headers=directory’ 这样的旗帜要求您输入目录路径。我怀疑你的" -with-mpc"正在发生同样的事情。等

建议:清理您的构建目录,并(小心!)重新运行./configure

答案 1 :(得分:0)

在启动--with-gmp脚本时,罪魁祸首似乎是--with-mpc--with-mpfrconfigure次切换。我怀疑libgmplibmpclibmpfr的先决条件,configure脚本中的错误功能将包括违规{{1} }和-I指令。包含其中任何一个将导致根Makefile

中的以下内容
-L

我没有在其他任何Makefile中确认过这种情况,但我怀疑其他地方发生了类似情况,这是我在尝试构建HOST_GMPLIBS = -Lyes/lib -lmpc -lmpfr -lgmp HOST_GMPINC = -Iyes/include 时遇到的情况。

解决方法是从配置调用中省略这些开关。它们应该包含在任何事件中,因为libjavamath.la脚本如果在主机上不存在则会失败。