From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.user Subject: Re: guile-2.0.pc misses a few dependency libraries Date: Mon, 30 Jan 2012 18:10:44 +0100 Message-ID: <87boplune3.fsf@gnu.org> References: <83mx98xedm.fsf@gnu.org> <87mx96m703.fsf@gnu.org> <871uqhi0nu.fsf@netris.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1327943470 18235 80.91.229.3 (30 Jan 2012 17:11:10 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 30 Jan 2012 17:11:10 +0000 (UTC) Cc: guile-user@gnu.org To: Mark H Weaver Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Jan 30 18:11:09 2012 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Rruku-00079K-Om for guile-user@m.gmane.org; Mon, 30 Jan 2012 18:11:00 +0100 Original-Received: from localhost ([::1]:50796 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rrukt-0002qw-QP for guile-user@m.gmane.org; Mon, 30 Jan 2012 12:10:59 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:42029) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rrukm-0002qo-E2 for guile-user@gnu.org; Mon, 30 Jan 2012 12:10:56 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rrukg-0000JC-DI for guile-user@gnu.org; Mon, 30 Jan 2012 12:10:52 -0500 Original-Received: from mail1-relais-roc.national.inria.fr ([192.134.164.82]:1422) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rrukg-0000Iw-8i for guile-user@gnu.org; Mon, 30 Jan 2012 12:10:46 -0500 X-IronPort-AV: E=Sophos;i="4.71,592,1320620400"; d="scan'208";a="142089577" Original-Received: from unknown (HELO pluto) ([193.50.110.208]) by mail1-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-SHA; 30 Jan 2012 18:10:44 +0100 X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 =?iso-8859-1?Q?Pluvi=F4se?= an 220 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu In-Reply-To: <871uqhi0nu.fsf@netris.org> (Mark H. Weaver's message of "Mon, 30 Jan 2012 12:02:29 -0500") User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 192.134.164.82 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:9220 Archived-At: Hi, Mark H Weaver skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Eli Zaretskii 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=20=20 >>> 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=3D' -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=E2=80=99t 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=E2=80=99s 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 =E2=80=98Libs.private=E2=80=99 is outdated co= mpared to what the actual dependency list. Thanks, Ludo=E2=80=99.