From: Tomas Cech <tcech@suse.cz>
To: 宋文武 <iyzsong@gmail.com>
Cc: guix-devel@gnu.org
Subject: Re: missing input and more
Date: Thu, 05 Feb 2015 12:57:27 +0100 [thread overview]
Message-ID: <87pp9oh8pk.wl-tcech@suse.cz> (raw)
In-Reply-To: <87zj8s62rl.fsf@gmail.com>
At Thu, 05 Feb 2015 19:01:18 +0800,
宋文武 wrote:
>
> Andreas Enge <andreas@enge.fr> writes:
>
> > 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/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
next prev parent reply other threads:[~2015-02-05 11:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-05 7:05 missing input and more sleep_walker
2015-02-05 9:48 ` 宋文武
2015-02-05 10:30 ` Andreas Enge
2015-02-05 11:01 ` 宋文武
2015-02-05 11:57 ` Tomas Cech [this message]
2015-02-05 16:01 ` Andreas Enge
2015-02-05 20:54 ` Ludovic Courtès
2015-02-05 15:59 ` Andreas Enge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pp9oh8pk.wl-tcech@suse.cz \
--to=tcech@suse.cz \
--cc=guix-devel@gnu.org \
--cc=iyzsong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.