This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: What is the minimum needed to run gtar?

On Wed, 6 Aug 2003, David A. Case wrote:

> On Wed, Aug 06, 2003, David Rothenberger wrote:
> >
> > You can find out what DLLs an executable needs by running cygcheck on it.
> Note that this may not give a complete list.  Consider rxvt.exe:
> quine% cygcheck rxvt.exe
> Found: .\rxvt.exe
> Found: C:\cygwin\bin\rxvt.exe
> rxvt.exe
>   .\cygwin1.dll
>     C:\WINDOWS\System32\KERNEL32.dll
>       C:\WINDOWS\System32\ntdll.dll
>   C:\WINDOWS\System32\USER32.dll
>     C:\WINDOWS\System32\GDI32.dll
>       C:\WINDOWS\System32\ADVAPI32.dll
>         C:\WINDOWS\System32\RPCRT4.dll
> This might suggest that only cygwin1.dll is needed (besides the windows
> stuff).  However, continuing (in X, with DISPLAY set):
> quine% cd /usr/X11R6/bin
> quine% mv libX11.dll libX11.dll~
> quine% back
> /bin
> quine% ./rxvt.exe
> failed to load libX11.dll
> Putting libX11.dll~ back to its original name again allows rxvt.exe to run
> correctly.  Thus in this case (at least) cygcheck is not finding _all_ of the
> dll's that are needed.
> ...dave case


Yes, you're quite correct.  Cygcheck will only list the DLLs that the
program is statically linked to (that is, it's linked to the import
libraries).  If the program uses dlopen() or LoadLibrary() to load the
library (like rxvt does with libX11/libW11), cygcheck will not list that
library in the list of dependences.  A quick and dirty test for that would
be "strings program.exe | egrep -i 'dlopen|loadlibrary'".  Finding out
exactly which libraries are loaded with this mechanism won't be as easy
(because in some cases the DLL name may be constructed dynamically).
Strace might help with that somewhat, at least for dlopen() calls.
      |\      _,,,---,,_
ZZZzz /,`.-'`'    -.  ;-;;,_
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]