public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: "Yaakov (Cygwin/X)" <yselkowitz@users.sourceforge.net>
To: cygwin <cygwin@cygwin.com>
Subject: Re: [ANNOUNCEMENT] Updated: cygport-0.11.0-1
Date: Wed, 29 Aug 2012 06:16:00 -0000	[thread overview]
Message-ID: <1346198617.8376.38.camel@YAAKOV04> (raw)
In-Reply-To: <7zehmqu41x.fsf@vzell-de.de.oracle.com>

On Tue, 2012-08-28 at 22:58 +0200, Dr. Volker Zell wrote:
> When doing the packaging step with your latest cygport release on gnutls I get the following:
>     
> which: no KERNEL32.dll in (/misc/src/release/gnutls-2.12.20-1/inst/usr/bin:/usr/local/bin:/usr/bin:/usr/local/scripts:/usr/local/sbin:/usr/sbin:/usr/lib/lapack)
> >>> gnutls requires: libgnutls26 libreadline7
> which: no KERNEL32.dll in (/misc/src/release/gnutls-2.12.20-1/inst/usr/bin:/usr/local/bin:/usr/bin:/usr/local/scripts:/usr/local/sbin:/usr/sbin:/usr/lib/lapack)
> >>> libgnutls26 requires: libgcc1 libgcrypt11 libintl8 liblzo2_2 libp11-kit0 libstdc++6 libtasn1_3 zlib0
> >>> gnutls-devel requires: gettext libgcrypt-devel libgnutls26 libiconv liblzo2-devel libp11-kit-devel libtasn1-devel
> >>> gnutls-doc requires:
> 
> 
> When I call cygcheck directly on cyggnutls-26.dll I get the following:
[snip]
> So in the above requires line for libgnutls26, libggc1 and libintl8
> shouldn't be included at all because libgcrypt11 already depends on
> them. I'm I wrong here ?

cygport uses objdump to find binary dependencies, which unlike cygcheck,
lists direct dependencies only and doesn't worry about subdependencies:

$ objdump -p /usr/bin/cyggnutls-26.dll | grep "DLL Name"
	DLL Name: cygwin1.dll
	DLL Name: cyggcrypt-11.dll
	DLL Name: cygintl-8.dll
	DLL Name: cygtasn1-3.dll
	DLL Name: cygz.dll
	DLL Name: KERNEL32.dll

So libgnutls26 has a hard direct dependency on libintl8.  To understand
why this is done, let's say that a future release of gettext changes the
ABI version again, and then soon thereafter libgcrypt was rebuilt
against that new libintlX.  libgnutls26 would *still* require libintl8,
and can't rely on libgcrypt11 to provide that dep.

OTOH, note that libiconv2 is *not* listed as a dep, even though libintl8
depends on it.  That's because if in the future libiconv would get an
ABI version bump and the same gettext were rebuilt against that, even
though libintl8 would now depend on libiconvX, libgnutls would NOT need
to be rebuilt, and libiconv2 would no longer be necessary.

So for these purposes, objdump is a more precise means of dependency
detection than cygcheck.

> And what about the "which: no KERNEL32.dll" stuff above ? Can it be
> suppressed without adding C:\WINDOWS\system32\ to the PATH ?

Fixed in git master, commit a268dc3.


Yaakov



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

      reply	other threads:[~2012-08-29  0:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-27 12:47 Yaakov (Cygwin/X)
2012-08-29  4:33 ` Dr. Volker Zell
2012-08-29  6:16   ` Yaakov (Cygwin/X) [this message]

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=1346198617.8376.38.camel@YAAKOV04 \
    --to=yselkowitz@users.sourceforge.net \
    --cc=cygwin@cygwin.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).