[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problems combining static in shared libraries
From: |
Ralf Wildenhues |
Subject: |
Re: Problems combining static in shared libraries |
Date: |
Thu, 15 Nov 2007 20:29:34 +0100 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
Hello Sven,
Replying to this issue only for now:
* Sven Verdoolaege wrote on Thu, Nov 15, 2007 at 10:48:40AM CET:
>
> In any case, I "solved" this problem by specifying AC_DISABLE_SHARED.
> However, my own library not only depends on a static library
> but also on some other libtool libraries (not configured
> with AC_DISABLE_SHARED) and that also produces incorrect results.
Where the "other libtool libraries" are also _uninstalled_ (important
detail!), thus live in a subpackage (or sibling package in a package
hierarchy).
> In particular, if you configure with AC_DISABLE_SHARED
> and have an application "main" that (also) depends on some other
> yet uninstalled libtool library then
> the application will be linked against the .so version of
> the library, but libtool will not create a .libs/main or .libs/lt-main
> and the installed binary will refer to the uninstalled libtool
> library rather than the installed libtool library.
Confirmed. Yuck. You should be able to work around it if you drop the
AC_DISABLE_SHARED and instead add
libbar_la_LDFLAGS = -static
to the toplevel Makefile.am. At least it looks like that does TRT.
So that means in a package hierarchy like in your example (thanks!),
one cannot currently have partly AC_DISABLE_SHARED and partly not.
Ouch.
Cheers,
Ralf