updated: guile-1.6.7-2, guile-1.7.2-2
Charles Wilson
cygwin@cwilson.fastmail.fm
Sat Oct 8 02:18:00 GMT 2005
Christopher Faylor wrote:
> Either you're using an older version of cygwin or that's not a cygwin
> error. It looks like something is calling LoadLibrary directly rather
> than using the cygwin dlopen(). Cygwin was changed in 1.5.18 to use
> strerror style output in the result of dlerror.
Until recently, libltdl had support for both direct LoadLibrary() and
dlopen(). I *thought* that dlopen() was preferred, and LoadLibrary()
was the fallback -- tho the errors posted by the OP seem to imply otherwise.
However, that's all water under the bridge, as the current version of
libltdl uses ONLY dlopen().
Perhaps guile should be re-libtoolized and/or Jan should confirm that he
has the most recent version of /usr/bin/cygltdl-3.dll (from
libltdl3-1.5.20-2) installed on his machine.
In any case, when using libltdl to manage modules and runtime-loading of
libraries (which guile does, I think), the .la files are important -- as
libltdl does NOT use LD_LIBRARY_PATH but rather explicitly dlopen()s
using the fullpathname of the target dll as computed by parsing the .la
file(s). But libltdl *should* be looking in the $(libdir) [*], and
never in $(bindir) for those .la files.
--
Chuck
[*] there is also some what to set at project compile time (e.g. when
Jan compiles guile, not when I compile libltdl3) a specific module load
directory that libltdl3 will use to look for .la files, but I forgot how
that works and I'm too lazy to look in the docs right now.
More information about the Cygwin-apps
mailing list