R: [1.7] does LD_PRELOAD support more than 1 dll ?

Marco Atzeri marco_atzeri@yahoo.it
Sat May 30 20:23:00 GMT 2009


--- Sab 30/5/09, Christopher ha scritto:

> >> ? Did you export it?? That might make a
> >> difference if the shell is involved.
> >> 
> >> ? ? cheers,
> >> ? ? ? DaveK
> >> 
> >Hi Dave,
> >also exporting all the 3 variables in the script
> >does make no difference
> >
> >export
> PATH="$builddir/src:$builddir/liboctave:$builddir/libcruft:$PATH"
> >export LD_PRELOAD="$liboctinterp:$liboctave:$libcruft"
> >export
> LD_LIBRARY_PATH="$builddir/src:$builddir/liboctave:$builddir/libcruft:$LD_LIBRARY_PATH"
> >OCTAVE_SITE_INITFILE="$top_srcdir/scripts/startup/main-rcfile"
> \
> >  exec $driver "$builddir/src/octave"
> --no-init-path --path="$LOADPATH" --image-path="$IMAGEPATH"
> --doc-cache-file="$DOCFILE" --info-file="$INFOFILE" "$@"
> >
> >
> >      5 [main] sh 3964
> C:\cygwin2\bin\sh.exe: *** fatal error - error while loading
> shared libraries:
> /pub/cygports/octave/octave-3.2.0-rc4_build/src/cygoctinterp.dll:
> cannot open shared object file: No such process
> 
>  From the source:
> 
>       if (!LoadLibraryW
> (lib.get_wide_win32_path (libname)))
>         {
>           __seterrno ();
>           api_fatal ("error while
> loading shared libraries: %s: "
>                
>      "cannot open shared object file:
> %s", p,
>                
>      strerror (get_errno ()));
>         }
> 
>  "No such process" == ESRCH == PROC_NOT_FOUND
> 
> cgf

Hi Christopher
but the dll file is there:

$ ls -lh /pub/cygports/octave/octave-3.2.0-rc4_build/src/cygoctinterp.dll
-rwxr-xr-x 1 itq00146 Domain_Users 202M May 27 20:01 /pub/cygports/octave/octave-3.2.0-rc4_build/src/cygoctinterp.dll

so how can it fail to load dlls only with LD_PRELOAD defined ?

Ok, I found it. 
The order is also relevant

cygoctinterp.dll requires 
   cygcruft.dll and cygoctave.dll

cygoctave.dll requires 
  cygcruft.dll

So the working way is :

export LD_PRELOAD="$libcruft:$liboctave:$liboctinterp"



Regards
Marco





--
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/



More information about the Cygwin mailing list