delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/12/19/00:22:40

X-Spam-Check-By: sourceware.org
Date: Mon, 19 Dec 2005 00:22:31 -0500 (EST)
From: Igor Pechtchanski <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: Brett Serkez <techie AT serkez DOT net>
cc: cygwin AT cygwin DOT com
Subject: Re: Perl/TK Segmentation Violation
In-Reply-To: <1134943065.31637.250073396@webmail.messagingengine.com>
Message-ID: <Pine.GSO.4.63.0512190015220.22297@slinky.cs.nyu.edu>
References: <1134745054 DOT 23829 DOT 249957065 AT webmail DOT messagingengine DOT com> <1134754446 DOT 11783 DOT 249970524 AT webmail DOT messagingengine DOT com> <43A30087 DOT 10003 AT cygwin DOT com> <1134757382 DOT 17245 DOT 249972999 AT webmail DOT messagingengine DOT com> <Pine DOT GSO DOT 4 DOT 63 DOT 0512161345480 DOT 4464 AT slinky DOT cs DOT nyu DOT edu> <1134943065 DOT 31637 DOT 250073396 AT webmail DOT messagingengine DOT com>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

---559023410-851401618-1134969751=:22297
Content-Type: TEXT/PLAIN; charset=ISO-8859-1
Content-Transfer-Encoding: 8BIT

Ugh, top-posting...  Reformatted.

On Sun, 18 Dec 2005, Brett Serkez wrote:

> On Fri, 16 Dec 2005 13:55:52 -0500 (EST), "Igor Pechtchanski" <pechtcha AT XX DOT XXX DOT XXX> said:

<http://cygwin.com/acronyms/#PCYMTNQREAIYR>.  Thanks.

> > On Fri, 16 Dec 2005, Brett Serkez wrote:
> >
> > > > > >perhaps there is a missing library dependency?
> > > > >
> > > > > As another test I did a full install of Libs and X11, afterwards
> > > > > my test program now runs.  I believe this confirms the issue is
> > > > > a missing dependency in the package management system.  What
> > > > > tools are available to track down which package contains the
> > > > > missing libraries?
> > > >
> > > > Try the package search page - <http://cygwin.com/packages/>
> > >
> > > Sorry I wasn't clear, actually meant how do I figure out which
> > > libraries are missing?  That will then allow me to use the package
> > > search to figure out which package dependency is missing.
> > >
> > > Here is the list of Cygwin DLLs in use by Perl when it is running my
> > > Perl/TK sample program.  I could use some help determining which
> > > DLLs are in which package and thus missing libraries.  I removed
> > > what were clearly Windows DLLs, I'm not 100% sure every DLL on this
> > > list is a Cygwin DLL:
> > >
> > > ctype.nls
> > > Cwd.dll
> > > cygcrypt-0.dll
> > > cygexpat-0.dll
> > > cygfontconfig-1.dll
> > > cygfreetype-6.dll
> > > cygperl5_8.dll
> > > cygwin1.dll     Cygwin® POSIX Emulation DLL     Red Hat
> > > 1005.18.0000.0000
> > > cygX11-6.dll
> > > cygXft-2.dll
> > > cygXrender-1.dll
> > > cygz.dll
> > > Encode.dll
> > > Event.dll
> > > locale.nls
> > > sortkey.nls
> > > sorttbls.nls
> > > Tk.dll
> > > unicode.nls
> >
> > The short but cryptic answer (as a techie, you might appreciate this):
> >
> > echo $THE_ABOVE_LIST | awk '{print $1}' | xargs which 2>/dev/null | \
> >   xargs cygcheck | sed 's/^\s\+//' | sort -u | cygpath -f - | \
> >   xargs cygcheck -f
> >
> > (provided you have all the packages installed).
> >
> > The long answer: you can use the "cygcheck" tool to find out which
> > DLLs an executable (or DLL) depends on, like this:
> >
> > $ cygcheck `which cygperl5_8.dll`
> > C:/cygwin/bin/cygperl5_8.dll
> >   C:/cygwin/bin\cygcrypt-0.dll
> >     C:/cygwin/bin\cygwin1.dll
> >       C:\WINDOWS\System32\ADVAPI32.DLL
> >         C:\WINDOWS\System32\ntdll.dll
> >         C:\WINDOWS\System32\KERNEL32.dll
> >         C:\WINDOWS\System32\RPCRT4.dll
> >
> > (since DLLs have to be in the PATH unless loaded via dlopen(), you can
> > use "which" to find out where the DLL lives).
> >
> > You can also use this versatile tool to find out which (installed)
> > package a file belongs to, like this:
> >
> > $ cygcheck -f `which cygperl5_8.dll`
> > perl-5.8.7-4
> >
> > The rest is glue.
>
> While this technique is useful, it is not producing results for me.

Huh?  Exactly which of the above recipes doesn't produce results?  What
did you try running them on?  FWIW, for missing dependencies, cygcheck
will complain that a file could not be found (to stderr).

> I can see that simply installing all libraries resolves the dependency.

Right.  And the above commands should show (after installing all
libraries) which of them are actually used by a given DLL.

> Perhaps the package maintainer could try building the package on a
> system with just the default libraries installed?  This should produce a
> clear error from the linker as to precisely which library is in question
> vs. the run-time that simply gives up.

You can do the same thing with the above, if you indeed have all the
libraries installed.  The newer snapshots of Cygwin also allow you to
programmatically search for files in packages that aren't installed.
HTH,
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha AT cs DOT nyu DOT edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor AT watson DOT ibm DOT com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

If there's any real truth it's that the entire multidimensional infinity
of the Universe is almost certainly being run by a bunch of maniacs. /DA

---559023410-851401618-1134969751=:22297
Content-Type: text/plain; charset=us-ascii

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019