public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* libguile package | dlopen: no such file: guile-readline.dll
@ 2024-01-06  1:07 asebian
  2024-01-06  9:28 ` Brian Inglis
  0 siblings, 1 reply; 5+ messages in thread
From: asebian @ 2024-01-06  1:07 UTC (permalink / raw)
  To: cygwin

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)


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: libguile package | dlopen: no such file: guile-readline.dll
  2024-01-06  1:07 libguile package | dlopen: no such file: guile-readline.dll asebian
@ 2024-01-06  9:28 ` Brian Inglis
  2024-01-06  9:43   ` marco atzeri
  0 siblings, 1 reply; 5+ messages in thread
From: Brian Inglis @ 2024-01-06  9:28 UTC (permalink / raw)
  To: cygwin

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.

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: libguile package | dlopen: no such file: guile-readline.dll
  2024-01-06  9:28 ` Brian Inglis
@ 2024-01-06  9:43   ` marco atzeri
  2024-01-06 14:05     ` Mike Gran
  0 siblings, 1 reply; 5+ messages in thread
From: marco atzeri @ 2024-01-06  9:43 UTC (permalink / raw)
  To: The Cygwin Mailing List

[-- Attachment #1: Type: text/plain, Size: 1513 bytes --]

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

I will look on the guile issue next week

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: libguile package | dlopen: no such file: guile-readline.dll
  2024-01-06  9:43   ` marco atzeri
@ 2024-01-06 14:05     ` Mike Gran
  2024-01-10 20:58       ` Marco Atzeri
  0 siblings, 1 reply; 5+ messages in thread
From: Mike Gran @ 2024-01-06 14:05 UTC (permalink / raw)
  To: The Cygwin Mailing List, marco atzeri

>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 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: libguile package | dlopen: no such file: guile-readline.dll
  2024-01-06 14:05     ` Mike Gran
@ 2024-01-10 20:58       ` Marco Atzeri
  0 siblings, 0 replies; 5+ messages in thread
From: Marco Atzeri @ 2024-01-10 20:58 UTC (permalink / raw)
  To: Mike Gran, The Cygwin Mailing List

On 06/01/2024 15:05, Mike Gran wrote:
>> On Saturday, January 6, 2024 at 01:45:09 AM PST, marco atzeri via Cygwin  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"
>>>

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


Thanks for the patch

with it

$ cygcheck -cd guile3.0
Cygwin Package Information
Package              Version
guile3.0             3.0.9-3


$ guile -q
GNU Guile 3.0.9
..
scheme@(guile-user)> (use-modules (ice-9 readline))
scheme@(guile-user)>

Regards
Marco



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-01-10 20:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-06  1:07 libguile package | dlopen: no such file: guile-readline.dll asebian
2024-01-06  9:28 ` Brian Inglis
2024-01-06  9:43   ` marco atzeri
2024-01-06 14:05     ` Mike Gran
2024-01-10 20:58       ` Marco Atzeri

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).