Bug 709436 - Internal error in ahven-tap_runner.adb from gnatmake when compiling Ahven
Summary: Internal error in ahven-tap_runner.adb from gnatmake when compiling Ahven
Keywords:
Status: CLOSED DUPLICATE of bug 613407
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 15
Hardware: i386
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-05-31 17:43 UTC by Tero Koskinen
Modified: 2011-06-08 22:49 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2011-06-08 22:49:14 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Tero Koskinen 2011-05-31 17:43:53 UTC
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.

Comment 1 Jakub Jelinek 2011-06-08 15:21:01 UTC
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.

Comment 2 Tero Koskinen 2011-06-08 15:43:40 UTC
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 $

Comment 3 Jakub Jelinek 2011-06-08 15:49:02 UTC
Perhaps try installing libgnat-static package, maybe the ada FE does something stupid.

Comment 4 Tero Koskinen 2011-06-08 15:58:48 UTC
(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.

Comment 5 Björn Persson 2011-06-08 22:49:14 UTC
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 ***


Note You need to log in before you can comment on or make changes to this bug.