SUMMARY: (fixed) Need help linking with pthreads

From: Rick Beebe <BEEBE_at_BIOMED.MED.YALE.EDU>
Date: Tue, 13 Jan 1998 16:41:31 -0500 (EST)

Thanks again for the quick responses. This time from:

Pat Lampert <lampert_at_decatl.alf.dec.com>
"Rustam T. Usmanov" <rustam_at_stu.ruslan.ru>
Natalia Salzberg <natalia_at_stn-atlas.com.au>

Pat (note the address) suggested that I should call Digital Support. Rustam
told me about a problem installing DCE 2.0. The release notes pointed to a
Digital Unix 4.0 Release Notes Addendum that refered to a patch needed if
one was using localtime_r or pthreads_self. With those incentives, I
decided to call Digital.

Paul Hill spent some time looking through their database (and also pointing
out that my version of c++ is terribly out of date) and discovered a small
reference that pthreads_self is broken in c++ 5.1 (6.0 is the current
version). To fix it one must use:

#define pthread_self __pthread_self
extern pthread_t pthread_self(void);

I added those lines to the two source files that reference pthread_self and
the program compiled fine. Thanks everyone! Next I guess I should tackle
upgrading my programming environment.

I still have one question though. Does anyone know the equivalent to
'ar -t' on a shared object (.so) library? I might have figured this out if
I could have seen what was actually in the library. (Paul didn't know).

  _______________________________________________________________________

    Rick Beebe (203) 785-4566
    Network Engineering Manager FAX: (203) 737-4037
    ITS-Med Technology Operations Richard.Beebe_at_yale.edu
    Yale University School of Medicine
    P.O. Box 208089, New Haven, CT 06520-8089
  _______________________________________________________________________

Original message:

> I'm trying to compile a C++ application (mysql) which requires pthreads on a
> DU 4.0 machine. There is no libpthreads.a on the machine, only
> libpthreads.so (a search through the archives showed that this is 'normal'
> for this version of the OS though it would hopefully be corrected in future
> versions. I'll be looking at 4.0d when it comes out).
>
> During my initial compilation attempts, linking failed with unresolved
> symbol 'pthread_self'. I added -call_shared and it compiled and linked
> without error. But when I try to run the application it dies with
> 'unresolvable symbol: pthread_self_Xv'.
>
> The actual compile lines look similar to:
>
> cxx -pthread -call_shared -O -c mysqld.cc
>
> with the link:
>
> cxx -pthread -call_shared -O -o mysqld mysqld.o -lpthread -lmach -lexc -lc
Received on Tue Jan 13 1998 - 22:55:29 NZDT

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:37 NZDT