Boost logo

Boost :

From: Alkis Evlogimenos (alkis_at_[hidden])
Date: 2002-10-04 12:51:47


On Friday 04 October 2002 04:54 am, David Abrahams wrote:
> From: "Alkis Evlogimenos" <alkis_at_[hidden]>
>
> > Hi all,
> >
> > I have been running the regression tests of the 1.29 branch as part of
> > building boost for use with gcc 2.95.1 and gcc 2.96-112, both with
>
> STLport
>
> > 4.5.3.
>
> Which platform? Oh, I see from your error messages it's Linux.

Sorry my mistake. 2.95.1 is on RedHat 6.2 (glibc 2.1.3) and 2.96 on RedHat 7.3
(2.2.5).

>
>
> That doesn't seem right. Just from looking at your link errors I can see
> that it's libgcc2 which is using pthreads. I'm pretty sure people have been
> successfully using this toolset on Linux.
>
> Does this happen with any compilers other than 2.96? I ask because that's
> not an official GCC release... though we should probably support it since
> RedHat shipped it <grrrr>. Either way, I think you need to do a more
> careful analysis of the problem before we try to fix it.
>

RedHat 6.2 with gcc 2.95.1
STLport is not installed and lives in its build directory. The test program is
the following:

[alkise_at_starsky alkise]$ cat simple.cpp
#include <cstdlib>

int main(int argc, char** argv)
{
    return EXIT_SUCCESS;
}

[alkise_at_starsky alkise]$ g++ simple.cpp -o simple
[alkise_at_starsky alkise]$ g++ -isystem STLport-4.5.3/stlport simple.cpp -o
simple -L STLport-4.5.3/lib -lstlport_gcc
STLport-4.5.3/lib/libstlport_gcc.so: undefined reference to
`pthread_getspecific'
STLport-4.5.3/lib/libstlport_gcc.so: undefined reference to
`pthread_key_create'
STLport-4.5.3/lib/libstlport_gcc.so: undefined reference to
`pthread_setspecific'
collect2: ld returned 1 exit status
[alkise_at_starsky alkise]$ g++ -pthread -isystem STLport-4.5.3/stlport
simple.cpp -o simple -L STLport-4.5.3/lib -lstlport_gcc
[alkise_at_starsky alkise]$ nm STLport-4.5.3/lib/libstlport_gcc.so | grep pthread
         w pthread_create
         U pthread_getspecific
         U pthread_key_create
         w pthread_key_delete
         U pthread_mutex_destroy@@GLIBC_2.0
         U pthread_mutex_init@@GLIBC_2.0
         U pthread_mutex_lock@@GLIBC_2.0
         w pthread_mutex_trylock
         U pthread_mutex_unlock@@GLIBC_2.0
         w pthread_once
         U pthread_setspecific

RedHat 7.3 with gcc2.96
STLport is not installed and lives in its build directory. Using the same
program:

[alkis_at_moro stlport]$ g++ simple.cpp -o simple
[alkis_at_moro stlport]$ g++ -isystem STLport-4.5.3/stlport simple.cpp -o
simple -L STLport-4.5.3/lib -lstlport_gcc
STLport-4.5.3/lib/libstlport_gcc.so: undefined reference to
`pthread_getspecific'
STLport-4.5.3/lib/libstlport_gcc.so: undefined reference to
`pthread_key_create'
STLport-4.5.3/lib/libstlport_gcc.so: undefined reference to
`pthread_setspecific'
collect2: ld returned 1 exit status
[alkis_at_moro stlport]$ g++ -pthread -isystem STLport-4.5.3/stlport simple.cpp
-o simple -L STLport-4.5.3/lib -lstlport_gcc
[alkis_at_moro stlport]$ nm STLport-4.5.3/lib/libstlport_gcc.so | grep pthread
         U pthread_getspecific
         U pthread_key_create
         U pthread_mutex_destroy@@GLIBC_2.0
         U pthread_mutex_init@@GLIBC_2.0
         U pthread_mutex_lock@@GLIBC_2.0
         U pthread_mutex_unlock@@GLIBC_2.0
         U pthread_setspecific

It both configurations libstlport_gcc.so ends up with undefined symbols to
pthread specific functions.

> Suggestion: post a separate message for each of the failing libraries, with
> that library's name in the header. That will be more likely to raise the
> author's attention.
>

Thanks. I will try that later today.

-- 
Alkis

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk