>On Saturday, January 6, 2024 at 01:45:09 AM PST, marco atzeri via Cygwin ><cygwin@cygwin.com> wrote: >On Sat, 6 Jan 2024, 10:28 Brian Inglis via Cygwin, wrote:
>> On 2024-01-05 18:07, asebian via Cygwin wrote: >> > package: liguile3.0_1 >> > version: 3.0.9-2 >> > >> > ================ >> > Problem >> > >> > Loading the ice-9/readline module coming with libguile raises an error: >> > >> > $ guile -q >> > scheme@(guile-user)> (use-modules (ice-9 readline)) >> > While compiling expression: >> > In procedure dlopen: file "guile-readline.dll", message "No such file >> > or directory" > > >> > Seems as if version number 0 got attached: >> > >> > $ ls -1 /usr/lib/guile/3.0/extensions/ >> > guile-readline.la >> > guile-readline-0.dll >> > >> > C:\cygwin64\lib\guile\3.0\exte >> > nsions> dir /B >> > guile-readline-0.dll >> > guile-readline.la >> > >> > ================ >> > Makeshift fix >> > >> > Create symlink (as Admin): >> > >> > C:\cygwin64\lib\guile\3.0\extensions> mklink guile-readline.dll >> > guile-readline-0.dll >> > symbolic link created for guile-readline.dll <<===>> guile-readline-0.dll >> > >> > $ guile -q >> > scheme@(guile-user)> (use-modules (ice-9 readline)) >> > scheme@(guile-user)> (activate-readline) >> >> As these appear to be generated during package config or build, this >> should be >> handled during package config, build, install, or postinstall, perhaps >> using >> alternatives. >> >Alternatives today can not be used as does not handle dll's only exe and >script >Mklink could be a possible general approch in alternatives for handling >dll. >With some file system limitation > will look on the guile issue next week This is a known regression in Guile itself. Bug #64723. Guile used to use libltdl to do dynamic linking, and libltdl would search for dlls that had major version numbers attached, such as 'guile-readline0.dll' Guile replaced libltdl with internal code, which no longer handles dlls with major version numbers attached. A patch was proposed but has not made it into the main tree to restore major version number handling in Dlls. I keep my own version of the patch in my fork: here. github.com/spk121/guile/commit/ddcdfe0db957a8231deb8e8ee70a7aec6307acd9 Another workaround would be to add the "-avoid-version" flag to LDFLAGS for guile-readline -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple