[avahi] Re: [fwd] acx_pthread fixes for GCC shared/pthread
sjoerd at luon.net
Sat May 27 12:55:46 PDT 2006
I've included the Avahi mailing list in my reply. To give the avahi people some
context. When i made the acx_pthread patch for avahi, i also proposed it
upstream. Now apparently it's the ``wrong'' solution. Below is the mail from the
acx_pthread author about it.
Steven, thanks for your reply. Avahi does actually use libtool, but still it
fails to build on debian mips without the change to acx_pthread.. If i
understand you correctly this is a bug in libtool then (or avahi's use of it) ?
On Sat, May 27, 2006 at 02:49:35PM -0400, Steven G. Johnson wrote:
> On Sat, 27 May 2006, Steven G. Johnson wrote:
> >This is a bug in the ekg package, which doesn't follow the documentation
> >for ACX_PTHREAD. The documentation clearly states that PTHREAD_CFLAGS
> >must be used for *both* compiling and linking.
> Sorry, I had misread the first few lines in the Debian thread. They did
> include -pthread when linking. I have now looked into it more closely,
> and I see what they are doing. However, I still would like you to revert
> the patch.
> The problem is that they were not linking an executable, but creating a
> shared library with an inter-library dependency. This is not the problem
> that ACX_PTHREAD solves, and is inherently non-portable. (Although it
> happens to work in some cases.)
> ACX_PTHREAD figures out how to link a *program* that needs pthreads.
> Creating a shared library is a whole different beast, and the proper way
> to do this portably is to use GNU libtool. Otherwise, to do it right you
> would have to duplicate large parts of libtool in ACX_PTHREAD, which is
> not reasonable. The proposed patch doesn't attempt this, and instead only
> tries to solve the problem for gcc on certain platforms.
> (In fact, it's not even *possible* to create shared libraries with
> inter-library dependencies on some platforms.)
> Unfortunately, the authors of the ekg program were not using libtool, and
> instead of doing the right thing they hacked acx_pthread instead. This is
> fine for their purpose (getting it to run on Debian), but should not go
> into the official acx_pthread macro.
> In summary, please revert the patch. People wanting to build shared
> libraries need to hack on libtool, not acx_pthread.
When you know absolutely nothing about the topic, make your forecast by
asking a carefully selected probability sample of 300 others who don't
know the answer either.
-- Edgar R. Fiedler
More information about the avahi