X-Spam-Check-By: sourceware.org Date: Fri, 16 Dec 2005 13:55:52 -0500 (EST) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Brett Serkez cc: cygwin AT cygwin DOT com Subject: Re: Perl/TK Segmentation Violation In-Reply-To: <1134757382.17245.249972999@webmail.messagingengine.com> Message-ID: 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> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-851401618-1134759352=:4464" Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , 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-1134759352=:4464 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT 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 - > > 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 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-1134759352=:4464 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-1134759352=:4464--