libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: postdeps empty on OpenBSD


From: Ralf Wildenhues
Subject: Re: postdeps empty on OpenBSD
Date: Thu, 22 Sep 2005 09:19:48 +0200
User-agent: Mutt/1.4.1i

* Olly Betts wrote on Wed, Sep 21, 2005 at 11:00:30PM CEST:
> On Wed, Sep 21, 2005 at 10:45:40PM +0200, Ralf Wildenhues wrote:
> > * Thorsten Glaser wrote on Wed, Sep 21, 2005 at 10:05:53PM CEST:
> > > Olly Betts dixit:
> > > >It looks like the problem is that "g++ -shared" doesn't link to 
> > > >libstdc++.
> > > 
> > > gcc -shared creates a shared library.
> > > 
> > > On OpenBSD, shared libraries do not link against other shared libraries.
> > > The main programme must link against all these.
> 
> Does that apply when using dlopen?

This is another, orthogonal question.  But ltdl.m4:LT_SYS_DLOPEN_DEPLIBS
has
|   openbsd*)
|     lt_cv_sys_dlopen_deplibs=yes
|     ;;

so I would say yes (or above would need fixing as well).

> When python dlopens _xapian.so, something automatically knows to
> load libxapian.so.8.0 too - so there's definitely a working shared
> library dependency mechanism in this case.

Which confirms the above.

> The bottom line for me is that if I explicitly add "-lstdc++" when
> linking _xapian.so, it all works.  If I don't, it doesn't.  So I
> kind of feel that ideally libtool should be doing that for me...

ACK.  I hate to break libtool on systems I cannot test, when the
maintainers may have had good reasons to do something slightly
differently than the default way, though.

> > OK, but this is exactly one thing libtool was designed to do for you:
> > keep track of the libraries you also have to link against; it should
> > have added -lstdc++ to _xapian.la's dependency_libs.
> 
> It definitely isn't doing that.  This is what I have in _xapian.la:
> 
> dependency_libs=' /home/olly/install/lib/libxapian.la'
> 
> But unless python uses ltdl that wouldn't help me here anyway.

See above.  If lt_cv_sys_dlopen_deplibs were false, then yes, you would
need to use ltdl in order for opening to work.  Plus also the fix for
postdeps.

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]