dlopen and cygcheck inconsistency

Sunil <[email protected]>
Newsgroups gmane.comp.kde.devel.cygwin,gmane.os.cygwin
Message-ID <[email protected]>
Hi,

cygcheck also searches the `basename <arg1>` for
dependent DLLs while dlopen requires PATH to be set to
open the DLL. One of them should be corrected to make
life consistent. example is as follows:

$ cygcheck /usr/lib/gstreamer-0.8/cyggstossaudio.dll
C:/cygwin/lib/gstreamer-0.8/cyggstossaudio.dll
  C:/cygwin/lib/gstreamer-0.8\cyggstaudio.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
    C:\cygwin\bin\cygglib-2.0-0.dll
      C:\cygwin\bin\cygiconv-2.dll
      C:\cygwin\bin\cygintl-3.dll
    C:\cygwin\bin\cyggobject-2.0-0.dll
    C:\cygwin\bin\cyggstreamer-0.8-1.dll
      C:\cygwin\bin\cyggmodule-2.0-0.dll
      C:\cygwin\bin\cyggthread-2.0-0.dll
      C:\cygwin\bin\cygpopt-0.dll
      C:\cygwin\bin\cygxml2-2.dll
        C:\cygwin\bin\cygz.dll
  C:\cygwin\bin\cyggstinterfaces-0.8-0.dll

dlopen on /usr/lib/gstreamer-0.8/cyggstossaudio.dll
fails(with win32 error 126) if /usr/lib/gstreamer-0.8
is not in PATH, probably because cyggstaudio.dll is in
there.

if I run the program with
PATH=/usr/lib/gstreamer-0.8:$PATH <prog>, it dlopen()s
the DLL fine.

I think either cygcheck is misleading in this case or
dlopen should check for basename of its argument to
open the dependent DLLs as well. I am speculating that
its the former.

Thanks,
Sunil
PS: One more thing, errno is set to 13 (permission
denied) after dlopen fails (although dlerror() pointed
to 126). Is that right?

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.