From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Cech Subject: Re: missing input and more Date: Thu, 05 Feb 2015 12:57:27 +0100 Message-ID: <87pp9oh8pk.wl-tcech@suse.cz> References: <20150205070425.GA25300@venom> <20150205103004.GA21848@debian.eduroam.u-bordeaux.fr> <87zj8s62rl.fsf@gmail.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45939) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJL3s-0002F8-SH for guix-devel@gnu.org; Thu, 05 Feb 2015 06:57:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YJL3p-00036c-6a for guix-devel@gnu.org; Thu, 05 Feb 2015 06:57:32 -0500 Received: from cantor2.suse.de ([195.135.220.15]:39663 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YJL3p-00036M-0L for guix-devel@gnu.org; Thu, 05 Feb 2015 06:57:29 -0500 In-Reply-To: <87zj8s62rl.fsf@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?UTF-8?B?5a6L5paH5q2m?= Cc: guix-devel@gnu.org At Thu, 05 Feb 2015 19:01:18 +0800, =E5=AE=8B=E6=96=87=E6=AD=A6 wrote: >=20 > Andreas Enge writes: >=20 > > On Thu, Feb 05, 2015 at 08:05:03AM +0100, sleep_walker@suse.cz wrote: > >> 1] ldd shows run-time dependency: > >> $ ldd /gnu/store/0mfgwxgqyhlvi5xyi1j2lbr3ygczsdyp-gnutls-3.2.21/lib/li= bgnutls.so | grep libz > >> libz.so.1 =3D> /gnu/store/x8cg3irwf8y2mkr88bqmsqhadi71xf6s-zlib= -1.2.7/lib/libz.so.1 (0x00007fe4fac90000) > > > > That is fine - so there is a dependency, but our rpath recoding handles= it. > > So far, there is no need for zlib as a propagated input - we do not nee= d to > > install it into the user profile when installing gnutls. > > > >> Libs.private: -lz -lgmp > >> Requires.private: nettle, hogweed, libtasn1, zlib > > > > Reading up the documentation of pkg-config: > > "Requires and Requires.private define other modules needed by the libra= ry. > > It is usually preferred to use the private variant of Requires to avoid > > exposing unnecessary libraries to the program that is linking with your > > library. If the program will not be using the symbols of the required l= ibrary, > > it should not be linking directly to that library." > Ah, I think libraries in 'Requires.private' should also be propagated, > otherwise, we got: > $ pkg-config --cflags gnutls > =3D Package 'zlib', required by 'GnuTLS', not found > If not propagated, other packages use gnutls have to add zlib to inputs, > even they never use it. That is exactly my case I found and have to add workaround for that. =20 > I just pushed a commit to propagate zlib for gnutls, > hope I'm not wrong ;-) Perfect, thanks! But that fixed only one problem while we should do something dependencies in general. Imagine I have not came with this bug and some other people would just added zlib to the inputs. We could have it wrong on multiple places and when we would replace gnutls with something else in future, it would stay there unnoticed. I can hack some script to do the checks but I believe that everyone would appreciate clean solution which would check dependencies after build as a p= art of build process... S_W