libtool
[Top][All Lists]
Advanced

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

Re: [PATCH] Don't install .la files when --no-la-files is used


From: Kurt Roeckx
Subject: Re: [PATCH] Don't install .la files when --no-la-files is used
Date: Sun, 9 Nov 2008 16:10:08 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

On Sun, Nov 09, 2008 at 12:01:33AM +0200, Roumen Petrov wrote:
> Russ Allbery wrote:
>> Roumen Petrov <address@hidden> writes:
>>> Russ Allbery wrote:
>>
>>>> libreadline is linked against libncurses on Debian.
>>
>>> Which version ?
>>
>> readline 5.2-3, ncurses 5.7-2.
>
> No,no debian version/release.

That's the version currently in unstable and won't even be part of
our next release.

>>> This is an 7(5?) years old linux bug.
>>
>> I'm very dubious of that assertion.  Applications which use readline but
>> do not directly use any curses functions should not need to link with any
>> curses library.
>
> Linking readline against ncurses prevent application to link against  
> readline against ncursesw and to offer wide characters support.

I was under the impression that ncursesw was going to go away,
but I'm not sure where I got that from.

And you can still have ncursesw load before ncurses if you put
the libraries in the right order.

>>> Details:
>>> - library foo1 for pkg1 export function foo1
>>> - library foo2 for pkg2 export function foo2 and use function foo1
>>> - application use functions foo1 and foo2 and and to link with libraries
>>> that export them.

This example seems to be wrong.  The example should be about the
the application only using the function foo2 and not using foo1.
It should only need to link to library foo2, it should not link to
library foo1, since it's not using symbols from that.

>>>
>>> Where is libtool bug ?
>>
>> Your example as described above has nothing to do with the case that we're
>> talking about since it contains no implicit dependencies.  I'm afraid I
>> can only conclude that I've not been sufficiently clear and you're not
>> following my point at all.  I've explained this as clearly as I can,
>> though.  Maybe someone else can do a better job.
>>
>
> But is a package author uncomment line:
> #libfoo2_la_LIBADD = -L${testPREFIX}/lib -lfoo1
> from pkg2/bootstrap.sh you will see dependency added in la-file.

library foo2 is using symbols from foo1 so it really should link
against that library.  And the .la should contain foo1 in it's
dependency_libs.

The problem is that when linking the application making use of
foo2 libtool should _not_ look at foo2's dependency_libs if it's
linking to foo2 shared and it's an arch that does not need that
for shared libraries like in the case of ELF.  A way of forcing
libtool not to look at it is to remove the .la file.


Kurt





reply via email to

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