> Date: Fri, 11 Jan 2013 22:41:25 -0600 > From: Akop Pogosian <apogos...@gmail.com> > > On Wed, Jan 9, 2013 at 3:57 PM, Ludovic Courtès <l...@gnu.org> wrote: > > Hi! > > > > Akop Pogosian <apogos...@gmail.com> skribis: > > > >> # ERROR: In procedure load-extension: > >> # ERROR: In procedure dynamic-link: file: "libguilereadline-v-18", > >> message: "The specified module could not be found." > > > > [...] > > > >> # $ ls software/packages/guile-2.0.7/lib/ > >> # guile libguile-2.0.la libguilereadline-v-18.la > >> # libguile-2.0.a libguilereadline-v-18.a pkgconfig > > > > As you can see, you only have a static version of libguilereadline, > > which is why ‘dynamic-link’ fails. > > Indeed. I am really confused about why there are no shared libraries > in /usr/lib under cygwin. However, they are installed in /usr/bin > under strange names such as /usr/bin/cygreadline6.dll
Windows isn't Posix. A Windows incarnation of a shared library is a DLL file that should be in a directory on PATH, because that's where the Windows dynamic link procedure looks for them. As for the "cyg" prefix, I believe this is to distinguish the Cygwin-compiled DLLs from native Windows DLL, whose names should be libreadline6.dll (that's what I have here, having built Readline with MinGW). Since native and Cygwin DLLs are incompatible, keeping the names different helps avoiding weird crashes when both MinGW and Cygwin tools are installed on the same system. > Is guile build system supposed to pick up shared libraries in those > locations It should. If it doesn't, that's a bug, IMO.