[gps-users] Sucess!

Hal V. Engel hvengel at astound.net
Sun Sep 10 03:12:10 CEST 2006


On Saturday 09 September 2006 12:02, Martin Krischik wrote:
> Am Samstag, 9. September 2006 10:11 schrieb Martin Krischik:
snip
> I successfully compiled a working GPS 4.0 on SuSE 10.1 x86_64 with the
> above setup. 
snip
> The bad news is: It won't work with gcc 4.1.1:
>
> ------------
> gcc -c -g -gnatec=/work/gnuada/rpm/BUILD/gps-4_0_0/gps/gnat_debug.adc -g -O
> -gnata -gnatVa -gnatQ -gnaty -gnatwaCJe -Wall -I- -gnatA
> /work/gnuada/rpm/BUILD/gps-4_0_0/kernel/src_info/projects.adb
> osint.ads:564:46: "Get_Target_Object_Suffix" is undefined
> gnatmake: "/work/gnuada/rpm/BUILD/gps-4_0_0/kernel/src_info/projects.adb"
> compilation error

This is the same error I am seeing with gcc 4.1.1. After installing gnat-gpl 
2006 and making it my active ada compiler I still fail when trying to link.  
I also rebuilt GtkAda and XmlAda using gnat-gpl to make sure that everything 
was ABI compatible.  I am getting link errors for the python library and it 
appears to be related to threading.  I am using the newer glibc (2.4) which 
is NPTL only (no Linux threads).  Not sure if that is the issue or not.

I tried to make the build exclude any python stuff by

$ ./configure --without-pygtk --without-python

But this didn't work.

Here are the error messages I am seeing at the end of the build:

/usr/lib/python2.4/config/libpython2.4.a(posixmodule.o): In function 
`posix_tmpnam':
: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
/usr/lib/python2.4/config/libpython2.4.a(posixmodule.o): In function 
`posix_tempnam':
: warning: the use of `tempnam' is dangerous, better use `mkstemp'
/usr/lib/python2.4/config/libpython2.4.a(thread.o): In function 
`PyThread_release_lock':
: undefined reference to `sem_post'
/usr/lib/python2.4/config/libpython2.4.a(thread.o): In function 
`PyThread_acquire_lock':
: undefined reference to `sem_wait'
/usr/lib/python2.4/config/libpython2.4.a(thread.o): In function 
`PyThread_acquire_lock':
: undefined reference to `sem_trywait'
/usr/lib/python2.4/config/libpython2.4.a(thread.o): In function 
`PyThread_free_lock':
: undefined reference to `sem_destroy'
/usr/lib/python2.4/config/libpython2.4.a(thread.o): In function 
`PyThread_allocate_lock':
: undefined reference to `sem_init'
/usr/lib/python2.4/config/libpython2.4.a(thread.o): In function 
`PyThread_start_new_thread':
: undefined reference to `pthread_create'
/usr/lib/python2.4/config/libpython2.4.a(thread.o): In function 
`PyThread_start_new_thread':
: undefined reference to `pthread_detach'
collect2: ld returned 1 exit status
gnatlink: cannot call /usr/x86_64-pc-linux-gnu/gnat-gpl-bin/3.4/gnatgcc
gnatmake: *** link failed.
make[1]: *** [internal-build] Error 4
make: *** [default] Error 2

The INSTALL file says "Optionally, you might want to install python on your 
system if it isn't already installed."  So this is an option.  How do I stop 
the build from using python as an option?  Also like everything else on my 
system python is built with gcc 4.1.1 if that makes a difference.

Does anyone have any ideas what "gnatlink: cannot 
call /usr/x86_64-pc-linux-gnu/gnat-gpl-bin/3.4/gnatgcc" is all about.  I 
didn't see anything like this when I built XmlAda or GtkAda?  Or is this just 
because of the undefined references errors?

Hal

> make[2]: *** [internal-build] Fehler 4
> make[2]: Leaving directory `/work/gnuada/rpm/BUILD/gps-4_0_0/gps'
> make[1]: *** [default] Fehler 2
> make[1]: Leaving directory `/work/gnuada/rpm/BUILD/gps-4_0_0'
> error: Bad exit status from /var/tmp/rpm-tmp.13781 (%build)
>
>
> RPM build errors:
>     Bad exit status from /var/tmp/rpm-tmp.13781 (%build)
> if [ -x /opt/gnat/tools/bin/vim ] ; then
> LD_LIBRARY_PATH=/opt/gnat/tools/lib /opt/gnat/tools/bin/vim -g -M
> + --servername "RPM--Build-Logs" --remote-silent
> "../LOGS/gnat-gcc-gps-4.1.1.log" ; fi
> ------------
>
> A quick check revealed that GNAT.OS_Lib is just plain to old. There is
> nothing to be done about apart from waiting for the next gcc release.
>
> I whish you all good look in creating your own GPS. To help you, here is
> the script I used:
>
> http://svn.sourceforge.net/viewvc/gnuada/trunk/rpm/SPECS/Prototypes/gnat-gp
>s.spec?view=markup
>
> Martin


More information about the gps-users mailing list