guix-devel
[Top][All Lists]
Advanced

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

Re: missing input and more


From: Tomas Cech
Subject: Re: missing input and more
Date: Thu, 05 Feb 2015 12:57:27 +0100
User-agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (Gojō) APEL/10.8 Emacs/24.4 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO)

At Thu, 05 Feb 2015 19:01:18 +0800,
宋文武 wrote:
> 
> Andreas Enge <address@hidden> writes:
> 
> > On Thu, Feb 05, 2015 at 08:05:03AM +0100, address@hidden wrote:
> >> 1] ldd shows run-time dependency:
> >> $ ldd 
> >> /gnu/store/0mfgwxgqyhlvi5xyi1j2lbr3ygczsdyp-gnutls-3.2.21/lib/libgnutls.so 
> >> | grep libz
> >>        libz.so.1 => 
> >> /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 need 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 library.
> > 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 
> > library,
> > 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
>   = 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.
 
> 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 part
of build process...

S_W



reply via email to

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