【发布时间】:2016-01-29 17:37:12
【问题描述】:
使用RHEL6,内核版本2.6.32-573.3.1.el6.x86_64.
配置并成功,没有错误。但是,在 make install 过程中:
gcc -c -g -O2 -gnatpg -gnatwns -W -Wall -nostdinc -I- -I. -Iada/generated
-Iada -I../../gcc-5.2.0/gcc/ada -I../../gcc-5.2.0/gcc/ada/gcc-interface
../../gcc-5.2.0/gcc/ada/gnat1drv.adb -o ada/gnat1drv.o
gnatbind -nostdinc -I- -I. -Iada/generated -Iada -I../../gcc-5.2.0/gcc/ada
-I../../gcc-5.2.0/gcc/ada/gcc-interface -o b_gnat1.adb -n ada/gnat1drv.ali
fatal error: file s-stalib.ali is incorrectly formatted
make sure you are using consistent versions of gcc/gnatbind
===================================
[root@server1 ~]# which gcc
/usr/bin/gcc
[root@server1 ~]# which gnatbind
/usr/bin/gnatbind
[root@server1 Notes]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16
[root@server1 Notes]# gnatbind --version
GNATBIND 4.4.7 20120313 (Red Hat 4.4.7-16)
===================================
configure、make、make install 都是从单独的构建目录执行的,而不是源目录
===================================
wget http://mirrors-usa.go-parts.com/gcc/releases/gcc-5.2.0/gcc-5.2.0.tar.gz
tar -xvf gcc-5.2.0.tar.gz
mkdir gcc-5.2.0-build
cd gcc-5.2.0-build
===================================
../gcc-5.2.0/configure --prefix=/usr/local/pkg/gcc/5.2.0 \
--enable-bootstrap \
--enable-shared \
--enable-threads=posix \
--enable-checking=release \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go \
--enable-java-awt=gtk \
--with-tune=generic \
--with-arch_32=i686 \
--build=x86_64-redhat-linux 2>&1 | tee CONFIGURE.OUT
===================================
我对此感到很困惑。今年我们在同一台服务器上安装 gcc 4.9.2 时也使用了这些相同的配置选项(此后没有重大更新或更改),并且没有收到此错误。
我很高兴用任何其他可能相关的信息来更新这个问题,请告诉我。
【问题讨论】:
-
我不知道。但是 4.4.7 是一个可疑的旧版本。如果您成功构建并安装了 gcc4.9.2,我建议使用它来构建 gcc5.2 而不是 4.4。
-
惊讶地看到“make install”重建工具。会不会是路径问题?您可能正在尝试以 root 身份安装 - 当您更改为 root 时,路径会改变吗?
-
@BrianDrummond 谢谢,我会用 4.9.2 再试一次。目前,我只是从 --enable-languages 行中删除了“ada”。 make install 目前正在运行,似乎做得更好。在我们解决这个问题之前,必须给我们的用户留下“Ada 目前不受支持”的消息。
-
@SimonWright 所有步骤、配置、制作和安装都以 root 身份运行。 PATH 没有什么奇怪/不寻常的地方。目前我只是从语言中删除了“ada”,因为请求这个最新版本 gcc 的用户只对 c、c++ 和 fortran 感兴趣。不过,从长远来看,希望得到 Ada 的支持。
标签: gcc build compilation makefile ada