On Aug 31 20:07, Michael Haubenwallner wrote: > Applications installed to some prefix like /opt/application do expect > dlopen("libAPP.so") to load "/opt/application/bin/cygAPP.dll", which > is similar to "/opt/application/lib/libAPP.so" on Linux. > > See also https://cygwin.com/ml/cygwin-developers/2016-08/msg00020.html > > * dlfcn.cc (dlopen): For dlopen("N"), search directory where the > application executable is in. > --- > winsup/cygwin/dlfcn.cc | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/winsup/cygwin/dlfcn.cc b/winsup/cygwin/dlfcn.cc > index f8b8743..974092e 100644 > --- a/winsup/cygwin/dlfcn.cc > +++ b/winsup/cygwin/dlfcn.cc > @@ -232,6 +232,12 @@ dlopen (const char *name, int flags) > not use the LD_LIBRARY_PATH environment variable. */ > finder.add_envsearchpath ("LD_LIBRARY_PATH"); > > + /* Search the current executable's directory like > + the Windows loader does for linked dlls. */ > + int exedirlen = get_exedir (cpath, wpath); > + if (exedirlen) > + finder.add_searchdir (cpath, exedirlen); > + > /* Finally we better have some fallback. */ > finder.add_searchdir ("/usr/bin", 8); > finder.add_searchdir ("/usr/lib", 8); > -- > 2.7.3
Still not quite sure if that's the right thing to do... Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
signature.asc
Description: PGP signature