Description of problem: Compilation of Ahven dies to SYSTEM.ASSERTIONS.ASSERT_FAILURE in ahven-tap_runner.adb. Version-Release number of selected component (if applicable): gcc-gnat-4.6.0-7.fc15.i686 GNATLS 4.6.0 20110509 (Red Hat 4.6.0-7) How reproducible: Always. Steps to Reproduce: 1. hg clone https://bitbucket.org/tkoskine/ahven 2. cd ahven 3. hg update -r ac47736c2d83 4. make Actual results: ... gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-listeners-basic.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-tap_runner.adb Exception name: SYSTEM.ASSERTIONS.ASSERT_FAILURE Message: namet.adb:655 gnatmake: INTERNAL ERROR. Please report. make: *** [build_lib] Error 4 $ Expected results: No errors when building. Additional info: This is similar to bug 690610 but happens in a different file and with different Fedora and gcc-gnat versions. Platform is Fedora 15/i386. GNAT GPL 2010/i386 from Adacore can build the source code. Also, GNAT 4.6.0 20110203 on OpenBSD/amd64 works. I haven't tested Fedora 15/x86_64.
Ada is included as is in Fedora, if you can reproduce it with upstream gcc 4.6 (there are only very small differences on redhat/gcc-4_6-branch related to ada), please report it to upstream (http://gcc.gnu.org/bugs.html ), otherwise it will not be fixed.
I cannot reproduce it with vanilla FSF GCC 4.6.0 build from the source code. So some local patch causes the internal errors. Which is pretty weird, since I couldn't find any relevant Ada patches from gcc rpm specs. Example log: perula {4} 18:38 $ cd ahven /home/tkoskine/work/ahven perula {5} 18:38 $ export PATH=$HOME/programs/gcc-46/bin:$PATH perula {6} 18:38 $ which gnatmake /home/tkoskine/programs/gcc-46/bin/gnatmake perula {7} 18:38 $ which gcc /home/tkoskine/programs/gcc-46/bin/gcc perula {8} 18:38 $ which gnatls /home/tkoskine/programs/gcc-46/bin/gnatls perula {9} 18:38 $ gnatls -v GNATLS 4.6.0 Copyright (C) 1997-2010, Free Software Foundation, Inc. Source Search Path: <Current_Directory> /home/tkoskine/programs/gcc-46/lib/gcc/i686-pc-linux-gnu/4.6.0/adainclude/ Object Search Path: <Current_Directory> /home/tkoskine/programs/gcc-46/lib/gcc/i686-pc-linux-gnu/4.6.0/adalib/ Project Search Path: <Current_Directory> /home/tkoskine/programs/gcc-46/lib/gnat/ perula {10} 18:38 $ make clean gnatclean -q -Pgnat/ahven_lib gnatclean -q -Pgnat/ahven_tests rm -f doc/api/*.html ahven.specs perula {11} 18:38 $ make OS_VERSION=unix gnatmake -Pgnat/ahven_lib gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-parameters.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/unix/ahven_compat.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-temporary_output.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-text_runner.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-xml_runner.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-slist.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-listeners.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-framework.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-results.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-astrings.ads gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-runner.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-listeners-basic.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-tap_runner.adb building static library for project ahven_lib ar cr /home/tkoskine/work/ahven/lib/libahven.a /home/tkoskine/work/ahven/objects/ahven-listeners-basic.o ... ranlib /home/tkoskine/work/ahven/lib/libahven.a OS_VERSION=unix gnatmake -Pgnat/ahven_tests gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/tester.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/ahven_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/assertion_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/basic_listener_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/derived_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/framework_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/results_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/slist_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/static_test_case_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/dummy_tests.adb gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/simple_listener.adb gnatbind -E -static -I- -x /home/tkoskine/work/ahven/test_objects/tester.ali gnatlink /home/tkoskine/work/ahven/test_objects/tester.ali -g -g -L/home/tkoskine/work/ahven/lib/ -lahven -Wl,-rpath,/home/tkoskine/programs/gcc-46/lib/gcc/i686-pc-linux-gnu/4.6.0/adalib/ -o /home/tkoskine/work/ahven/tester gcc -c -g -gnatQ -gnatwa -gnatwF -gnat95 -gnatf -g -I- -gnatA /home/tkoskine/work/ahven/test/tap_tester.adb gnatbind -E -static -I- -x /home/tkoskine/work/ahven/test_objects/tap_tester.ali gnatlink /home/tkoskine/work/ahven/test_objects/tap_tester.ali -g -g -L/home/tkoskine/work/ahven/lib/ -lahven -Wl,-rpath,/home/tkoskine/programs/gcc-46/lib/gcc/i686-pc-linux-gnu/4.6.0/adalib/ -o /home/tkoskine/work/ahven/tap_tester perula {12} 18:39 $ export PATH=/usr/bin:$PATH perula {13} 18:40 $ which gcc /usr/bin/gcc perula {14} 18:40 $ which gnatmake /usr/bin/gnatmake perula {15} 18:40 $ which gnatls /usr/bin/gnatls perula {16} 18:40 $ make clean gnatclean -q -Pgnat/ahven_lib gnatclean -q -Pgnat/ahven_tests rm -f doc/api/*.html ahven.specs perula {17} 18:40 $ make OS_VERSION=unix gnatmake -Pgnat/ahven_lib gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-parameters.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/unix/ahven_compat.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-temporary_output.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-text_runner.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-xml_runner.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-slist.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-listeners.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-framework.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-results.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-astrings.ads gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-runner.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-listeners-basic.adb gcc -c -g -gnatf -gnatVa -gnato -gnatwe -gnatwa -gnatwl -gnatE -gnatwF -gnatyd3ibmhex -gnat95 -I- -gnatA /home/tkoskine/work/ahven/src/ahven-tap_runner.adb Exception name: SYSTEM.ASSERTIONS.ASSERT_FAILURE Message: namet.adb:655 gnatmake: INTERNAL ERROR. Please report. make: *** [build_lib] Error 4 perula {18} 18:41 $ uname -a Linux perula 2.6.38.7-30.fc15.i686 #1 SMP Fri May 27 06:02:17 UTC 2011 i686 i686 i386 GNU/Linux perula {19} 18:41 $ gnatls -v GNATLS 4.6.0 20110530 (Red Hat 4.6.0-9) Copyright (C) 1997-2010, Free Software Foundation, Inc. Source Search Path: <Current_Directory> /usr/lib/gcc/i686-redhat-linux/4.6.0/adainclude/ Object Search Path: <Current_Directory> /usr/lib/gcc/i686-redhat-linux/4.6.0/adalib/ Project Search Path: <Current_Directory> /usr/lib/gnat/ perula {20} 18:41 $
Perhaps try installing libgnat-static package, maybe the ada FE does something stupid.
(In reply to comment #3) > Perhaps try installing libgnat-static package, maybe the ada FE does something > stupid. Thanks, installing libgnat-static package helped. Now the compilation works as expected.
Gnatmake tries to find the directory that contains libgnat by looking for a file named libgnat.a. I made fedora-gnat-project-common pull in libgnat-static to work around this problem for Ada packages in Fedora. Gnatmake probably ought to be fixed upstream to work with only shared libraries installed, but until that happens libgnat.a must always be present when Gnat is installed. *** This bug has been marked as a duplicate of bug 613407 ***