guile-user
[Top][All Lists]
Advanced

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

Re: guile-2.0.pc misses a few dependency libraries


From: Ludovic Courtès
Subject: Re: guile-2.0.pc misses a few dependency libraries
Date: Mon, 30 Jan 2012 18:10:44 +0100
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux)

Hi,

Mark H Weaver <address@hidden> skribis:

> address@hidden (Ludovic Courtès) writes:
>
>> Eli Zaretskii <address@hidden> skribis:
>>
>>> When statically linking programs against libguile-2.0.a, I get
>>> unresolved externals.  This is on MS-Windows, but I don't think this
>>> is related to the problem.
>>>
>>> I finally traced that to the contents of guile-2.0.pc file:
>>>
>>>   Libs: -L${libdir} -lguile-2.0 -Ld:/usr/lib -lgc  
>>>   Libs.private: d:/usr/lib/libgmp.dll.a -Ld:/usr/lib
>>> d:/usr/lib/libltdl.dll.a -Ld:/usr/lib -lffi -lregex -lcrypt -lws2_32
>>> -lm
>>>
>>> However, libguile-2.0.la shows more dependency libraries:
>>>
>>>   dependency_libs=' -lgc -lffi -lunistring -liconv -lregex -lintl
>>> -liconv -lgmp -ltdl -lregex -lintl -lwsock32 -lole32 -luuid
>>> -lmsvcp60 -lcrypt -lws2_32'
>>>
>>> As you see, quite a few libraries are missing from guile-2.0.pc, and
>>> also a several libraries need to appear more than once in the link
>>> command line.
>>
>> Commit 58f86505d658359508732c8f187bc37d010074d0 (see below) should solve
>> most of that, but not all, since I don’t know where -lole32, and -lregex
>> come from, for example.
>
> It seems to me that adding a fixed list of indirect dependencies to
> guile-2.0.pc.in is the wrong approach, because the indirect dependencies
> may depend on the platform, as well as the specific versions/variants of
> any of the direct or indirect dependencies.

For the record, most of those added in
58f86505d658359508732c8f187bc37d010074d0 are empty on GNU systems, for
instance.  So it’s really an OS-dependent list.

> How do other programs that use 'pkg-config' deal with this issue?
> Are they all broken in this way?

Yes, AFAIK.

> If we really need the full list of indirect dependencies, maybe we
> should somehow extract it from the generated .la file?

That sounds right, but slightly nasty.

Keep in mind that the only issue could be for users linking without
Libtool, and in the even that ‘Libs.private’ is outdated compared to
what the actual dependency list.

Thanks,
Ludo’.



reply via email to

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