>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

Reply via email to