在RHEL6中使用Ada支持编译gcc-5.2.0;确保您使用的是一致版本的gcc/gnatbind";

在RHEL6中使用Ada支持编译gcc-5.2.0;确保您使用的是一致版本的gcc/gnatbind";,gcc,build,compilation,makefile,ada,Gcc,Build,Compilation,Makefile,Ada,使用RHEL6,内核版本2.6.32-573.3.1.el6.x86\u 64. 配置并使成功无误。但是,在制作安装过程中: 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

使用RHEL6,内核版本
2.6.32-573.3.1.el6.x86\u 64.

配置并使成功无误。但是,在制作安装过程中:

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)
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
==================================

[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)
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
configure、make、make install都从单独的生成目录执行,而不是从源目录执行

==================================

[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)
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
==================================

[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)
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
==================================

[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)
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
这件事让我很难堪。今年在同一台服务器上安装GCC4.9.2时,我们使用了相同的配置选项(此后没有重大更新或更改),但没有出现此错误


我很高兴用任何其他相关信息更新此问题,请让我知道。

可能您的4.4.7托管gcc太旧,无法直接构建5.2.0。您应该首先尝试构建一个中间版本,比如4.8.4,然后使用新构建的编译器构建5.2.0。我成功地用Slackware上的4.7.1构建了5.2.0。

我不知道。但4.4.7是一个令人怀疑的旧版本。如果您成功地构建并安装了gcc4.9.2,我建议您使用它来构建gcc5.2,而不是4.4.1。令人惊讶的是,“makeinstall”正在重建这些工具。可能是路径问题吗?您可能正在尝试以root用户身份安装-当您更改为root用户时,路径是否会更改?@BrianDrummond谢谢,我将使用4.9.2重试。目前,我只是从--enable languages行中删除了“ada”。makeinstall目前正在运行,似乎做得更好。在我们解决此问题之前,必须为用户留下“Ada当前不受支持”的消息。@SimonWright所有步骤、配置、制作和制作安装都是以root用户身份运行的。这条路没有什么奇怪/不寻常的地方。目前,我刚刚从语言中删除“艾达”,因为请求GCC最新版本的用户只对C、C++和FORTRAN感兴趣。尽管如此,我还是希望从长远来看能得到Ada的支持。