This is from the LinuxThreads README:

http://pauillac.inria.fr/~xleroy/linuxthreads/README

"WARNING:

Many existing libraries are not compatible with LinuxThreads,
either because they are not inherently thread-safe, or because they
have not been compiled with the -D_REENTRANT.  For more info, see the
FAQ.html file in this directory.

A prime example of the latter is Xlib. If you link it with
LinuxThreads, you'll probably get an "unknown 0 error" very
early. This is just a consequence of the Xlib binaries using the
global variable "errno" to fetch error codes, while LinuxThreads and
the C library use the per-thread "errno" location.

See the file README.Xfree3.3 for info on how to compile the Xfree 3.3
libraries to make them compatible with LinuxThreads."

I dunno how to tell if something was compiled with this option...

Jim

>
> On Thu, Oct 25, 2001 at 05:10:45PM -0700, Jim Wilcoxson wrote:
>
> > I think you can just say ld -o blah.so -shared blah.a without
> > extracting .o files.
> >
> > The tricky part is going to be ensuring that the files were compiled
> > with the -D_REENTRANT flag on Linux.  Otherwise, the code won't work
> > in weird cases (like referencing errno).
>
> I'm doing this on Solaris (SunOS 5.8).  I have no idea whether the
> vendor's library was compiled with -D_REENTRANT - is there some way
> for me to check?
>
> --
> Andrew Piskorski <[EMAIL PROTECTED]>
> http://www.piskorski.com
>

Reply via email to