libtool
[Top][All Lists]
Advanced

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

Re: fixing linkage against uninstalled libtool archives on macos?


From: Andy Wingo
Subject: Re: fixing linkage against uninstalled libtool archives on macos?
Date: Mon, 17 Nov 2008 11:39:01 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

Hi Ralf,

Thanks for the debugging.

On Thu 13 Nov 2008 21:46, Ralf Wildenhues <address@hidden> writes:

> * Andy Wingo wrote on Thu, Nov 13, 2008 at 11:41:15AM CET:
>> >> >
>> >> >>    http://lists.gnu.org/archive/html/bug-libtool/2008-11/msg00012.html
>> >> >>
>> >> >> Just to recap, the bug is that having
>> >> >> "../../../gst/libgstreamer-0.10.la" on the link line expands into
>> >> >> "-L../../../gst/.libs -lgstreamer-0.10" instead of
>> >> >> "../../../gst/.libs/libgstreamer-0.10.dylib". I tested replacing the
>> >> >> "-L -l" combination with the path to the dylib, and that seems to
>> >> >> work.
>
>> But the badness is still there, of course, on line 6985, column 466:
>> 
>>    -L/opt/yobuild/lib -L../../../gst/.libs -lgstreamer-0.10
>
> This shouldn't happen on darwin.
>
> Here is where it happens the first time in your trace:
>
>> + test -n ''
>> + test lib = prog
>> + test link '!=' relink
>> + add_shlibpath=
>> + add_dir=
>> + add=
>> + lib_linked=yes
>> + case $hardcode_action in

So, from my libtool:

    ~/src/yobuild/gstreamer$ grep ^hardcode libtool
    hardcode_into_libs=no
    hardcode_libdir_flag_spec=""
    hardcode_libdir_flag_spec_ld=""
    hardcode_libdir_separator=""
    hardcode_direct=yes
    hardcode_direct_absolute=no
    hardcode_minus_L=no
    hardcode_shlibpath_var=unsupported
    hardcode_automatic=yes
    hardcode_action=immediate

>> + test yes = no                       (*)

Thus this test corresponds to libe 5229 of ltmain.m4sh:

              if test "$hardcode_direct" = no; then

Which indeed, hardcode_direct is yes. We fall through to the -L -l case
on 5259:

>> + test no = no
>> + case $host in
>> + add_dir=-L../../../gst/.libs
>> + add=-lgstreamer-0.10

> What I don't understand is: your --config output had
> | hardcode_direct=no
>
> so something set this to "yes" in the meantime.  That bit is wrong.
>
> Any chance the package you are building is using a patched ltmain.sh
> file?

I don't think anything is patching ltmain.sh, no. And while I'm pretty
sure that I did invoked ./libtool --config correctly before, now it's
giving me different results -- I must have done something to it in the
meantime (but I really don't know what), or invoked it incorrectly.
(This bug still manifests itself in the same way though.) Attaching the
--config log.

So! Where to from here? Sorry for any confusion wrt the --config log.

Andy

Attachment: libtool-config
Description: ./libtool --config


reply via email to

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