When I try to emerge gnat-3.43, I get following error: >>> Source unpacked. creating cache ./config.cache checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for a BSD compatible install... /bin/install -c checking for i686-pc-linux-gnu-ar... no checking for ar... ar checking for i686-pc-linux-gnu-as... no checking for as... as checking for i686-pc-linux-gnu-dlltool... no checking for dlltool... dlltool checking for i686-pc-linux-gnu-ld... no checking for ld... ld checking for i686-pc-linux-gnu-nm... no checking for nm... nm checking for i686-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for i686-pc-linux-gnu-windres... no checking for windres... windres checking for i686-pc-linux-gnu-objcopy... no checking for objcopy... objcopy checking for i686-pc-linux-gnu-objdump... no checking for objdump... objdump checking for i686-pc-linux-gnu-ar... no checking for ar... ar checking for i686-pc-linux-gnu-as... no checking for as... as checking for i686-pc-linux-gnu-dlltool... no checking for dlltool... dlltool checking for i686-pc-linux-gnu-ld... no checking for ld... ld checking for i686-pc-linux-gnu-nm... no checking for nm... nm checking for i686-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for i686-pc-linux-gnu-windres... no checking for windres... windres checking whether to enable maintainer-specific portions of Makefiles... no updating cache ./config.cache creating ./config.status creating Makefile gcc -c xtreeprs.adb gnatbind -x xtreeprs.ali fatal error: file a-except.ali is incorrectly formatted make sure you are using consistent versions of gcc/gnatbind 7. P SS ZX | gnatmake: *** bind failed. !!! ERROR: dev-lang/gnat-3.43 failed. !!! Function src_compile, Line 89, Exitcode 4 !!! building helper tools !!! If you need support, post the topmost build error, NOT this status message. It happens on 5 on my machines (but all "spawned" from one installation) and doesn't on 3 others (installed independently), so I'm quite sure the problem is somewhere in my configuration (all machines where up-to-date). I tried loosening the CFLAGS and emerge -e gnat - to no avail. I also looked at the ebuild and - after emerge failed - tried to reproduce the steps it performed. I also failed at running: gcc -c xtreeprs.adb gnatbind -x xtreeprs.ali with exactly the same error message. Reproducible: Always Steps to Reproduce: 1. emerge =dev-lang/gnat-3.43 2. 3. Portage 2.0.51.19 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r4 i686) ================================================================= System uname: 2.6.11-gentoo-r4 i686 Intel(R) Celeron(R) CPU 2.00GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar 22 2005, 19:05:21) ] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.4.3-r3, 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer - DG_DISABLE_ASSERT -DNDEBUG" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/ share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb / usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/ texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=pentium4 -march=pentium4 -pipe -fomit-frame-pointer - DG_DISABLE_ASSERT -DNDEBUG" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://gentoo.zie.pg.gda.pl http://gd.tuwien.ac.at/opsys/linux/ gentoo/ ftp://gentoo.blueyonder.co.uk/mirrors/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aalib acpi alsa apache2 apm arts avi bash-completion berkdb bitmap- fonts cdparanoia cdr crypt cscope cups curl dga doc dvd dvdread emboss encode esd famfastcgi font-server foomaticdb gdbm gif gphoto2 gpm gstreamer gtk gtk2 imagemagick imap imlib informix innodb ipv6 java jikes jpeg jpeg2k junit kde kdeenablefinal ldap lesstif libg++ libwww mad maildir mikmod mmx motif mozilla moznocompose moznoirc mp3 mpeg mysql nas ncurses nls nptl objc odbc oggvorbis opengl oss pam pda pdflib perl png postgres povray python qt quicktime readline ruby samba sasl sdk sdl slang spell sse ssl svg svga tcpd tetex theora tiff truetype truetype-fonts type1-fonts unicode usb vim-with-x xml xml2 xmms xosd xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Created attachment 57457 [details, diff] Possible fix This ebuild does not play well with a preexisting gnat install, apparently using both it and the bootstrap compiler. To fix, set ADA_INCLUDE_PATH and ADA_OBJECTS_PATH. The attached a preliminary patch does this, as well as possibly fixing this build for powerpc, and adding a flag to allow using any installed gnat as the bootstrap compiler. I haven't fully tested either the noboot flag or powerpc yet, though, since my powerpc is disassembled and I didn't add the noboot until 3.4.3 was installed, so it might not work with others. Feel free to remove the noboot stuff or rename the use flag, or document it in the right place, or whatever. Note that there is probably a better way to do this, but I only know gnat well enough to get it to compile my own programs.
The patch fixed the issue for me, thanks
So, who closed the bug while the fix did not make it into the tree yet? Marek: if that was you, please do not do so in the future. This effectively makes the bug loose visibility and we are much less likely to react on it.. Thomas: Thanks for the patch and for testing and commenting. I incorporated what was not yet implemented of this patch in the 3.44 version. This really boiled down to defining ADA_OBJECTS_PATH and ADA_INCLUDE_PATH. The rest of assignments were already done. I cleaned-up detection of GCC_EXEC_PREFIX - should now work on all three "supported" arches, so this should not cause that failure on x86 you reported to me yesterday.. The noboot flag and related branches I nuked for now. David: I would rather leave this at your discretion, I mean whether to implement this. The idea of noboot flag, as I understand from the patch, is to allow building gnat using installed compiler. IMHO this does not give any real advantages (the compiler is bootstrapped and built against final internal version anyway) and can potentially cause problems such as the reported one. The fixes are in the tree, I replaced previous version of gnat-3.44.ebuild. No revision bump, as these are compile-time fixes and do not provide any new functionality.. well, the usual drill. I'll leave the bug closed, since the fix is in, but if anybody tests and finds a problem, please reopen.. The shared libs are still commented out (#64373) and the ebuild is still masked. Waiting for more tests/comments.. George