This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Perl/TK Segmentation Violation
While this technique is useful, it is not producing results for me.
I can see that simply installing all libraries resolves the dependency.
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.
Brett
On Fri, 16 Dec 2005 13:55:52 -0500 (EST), "Igor Pechtchanski"
<pechtcha@cs.nyu.edu> said:
> 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.
> HTH,
> Igor
> --
> http://cs.nyu.edu/~pechtcha/
> |\ _,,,---,,_ pechtcha@cs.nyu.edu
> ZZZzz /,`.-'`' -. ;-;;,_ igor@watson.ibm.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
----------------------------------------------------------------
Brett C. Serkez, Techie
--
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/