| delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| 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 |
| Message-ID: | <20050522024920.6281.qmail@web31715.mail.mud.yahoo.com> |
| Date: | Sat, 21 May 2005 19:49:20 -0700 (PDT) |
| From: | Sunil <funtoos AT yahoo DOT com> |
| Subject: | dlopen and cygcheck inconsistency |
| To: | cygwin AT cygwin DOT com, kde-cygwin AT kde DOT org |
| MIME-Version: | 1.0 |
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
--
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/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |