[M3devel] [cm3] unresolved pthread symbols during bootstrap
Tony Hosking
hosking at cs.purdue.edu
Wed May 30 16:47:56 CEST 2007
Can you use the -commands option to cm3 to show the link command? It
certainly looks like it is not finding the pthread library.
On May 30, 2007, at 9:24 AM, Ronny Forberger wrote:
> Dear m3-Developers,
>
> I could not successfully build the cm3 compiler when invoking
>
>
>> ./do-cm3-std.sh buildship
>
>
> from the script directory as described in the documentation.
>
> The build process stops by the following:
>
>> === package /root/cm3/m3-sys/m3cgcat ===
>> +++ cm3 -build -DROOT='/root/cm3' && cm3 -ship -DROOT='/root/
>> cm3' +++
>> --- building in LINUXLIBC6 ---
>>
>> ignoring ../src/m3overrides
>>
>> -> linking m3cgcat
>> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a
>> (ThreadPThread.mo): In function `ThreadPThread__InnerLockMutex':
>> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:142:
>> undefined reference to `pthread_cond_wait'
>>
> [ some similar lines removed ]
>
>>
>> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a
>> (ThreadPThread.mo): In function `RTHooks__PushEFrame':
>> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1429:
>> undefined reference to `pthread_getspecific'
>> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1430:
>> undefined reference to `pthread_setspecific'
>> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a
>> (ThreadPThread.mo): In function `RTHooks__PopEFrame':
>> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1437:
>> undefined reference to `pthread_setspecific'
>> /usr/local/cm3/pkg/m3core/LINUXLIBC6/libm3core.a
>> (ThreadPThread.mo): In function `ThreadPThread__InitHandlers':
>> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1442:
>> undefined reference to `pthread_key_create'
>> /root/cm3/m3-libs/m3core/LINUXLIBC6/ThreadPThread.m3:1443:
>> undefined reference to `pthread_setspecific'
>> /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libc.a(vfork.o):
>> In function `vfork':
>> (.text+0x1): undefined reference to `pthread_create'
>> collect2: ld returned 1 exit status
>> Fatal Error: package build failed
>> *** execution of failed ***
>
>
> Looks like gcc cannot link against the pthread-lib.
>
> I have already added
>
>> "PTHREAD" : [ "-L/usr/lib", "-lpthread" ]
>
> to the SYSTEM_LIBS array in cm3.cfg.
>
> This is a Debian 4.0 'etch' system (x86) where libpthread.a
> resides in /usr/lib.
>
> I can build trivial C programs like gcc foo.c -L /usr/lib -lpthread
> arccordingly which become linked against libpthread.a properly.
>
>
> Do you have any glues?
>
> Best regards,
>
> Ronny
>
> --
> Ronny Forberger
> Systemadministrator
>
> elego Software Solutions GmbH ronny.forberger(at)
> elegosoft.com
> Ohmstraße 9, 10179 Berlin HRB 77719
> Tel.: +49 30 23 45 86 96 Amtsgericht Charlottenburg
> Fax: +49 30 23 45 86 95 Sitz der Gesellschaft: Berlin
> http://www.elegosoft.com Geschäftsführer: Olaf Wagner
>
> Bitte senden Sie Ihre technischen Support-Anfragen an admins(at)
> elego.de .
More information about the M3devel
mailing list