GNU bug report logs -
#42947
Chez Scheme libraries are broken
Previous Next
Reported by: Martin Becze <mjbecze <at> riseup.net>
Date: Thu, 20 Aug 2020 11:32:02 UTC
Severity: normal
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 42947 in the body.
You can then email your comments to 42947 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#42947
; Package
guix
.
(Thu, 20 Aug 2020 11:32:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Martin Becze <mjbecze <at> riseup.net>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Thu, 20 Aug 2020 11:32:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Chez Scheme libraries are broken. For example `guix environment --ad-hoc
chez-scheme chez-fmt`. chez-fmt will not install (for me) because it is
dependent on chez-srfi and chez-scheme seem unable to locate it.
I think it is because CHEZSCHEMELIBDIRS is not being set. But I'm not
sure why that is happening. The chez-scheme package includes the following
```
(native-search-paths
(list (search-path-specification
(variable "CHEZSCHEMELIBDIRS")
(files (list (string-append "lib/csv" version "-site"))))))
```
Which I think should set it.
-Martin
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42947
; Package
guix
.
(Thu, 20 Aug 2020 18:00:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 42947 <at> debbugs.gnu.org (full text, mbox):
By default chez-scheme seems to be using lib/csv<version> for libaries. This
creates the directory lib/csv<version>-site which the scheme libary packages
expect.
* gnu/packages/chez.scm (chez-scheme): Create libary directory.
---
gnu/packages/chez.scm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index b80421d3f7..bb584696ae 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -194,6 +194,8 @@
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(name "chez-scheme"))
+ ;; create the folder for libary installation
+ (mkdir (string-append lib "/csv" ,version "-site"))
(symlink (string-append bin "/scheme")
(string-append bin "/" name))
(map (lambda (file)
--
2.28.0
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42947
; Package
guix
.
(Thu, 20 Aug 2020 18:00:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 42947 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/chez.scm (chez-srfi): Added make flags so that chez-scheme
loads the tests correctly.
---
gnu/packages/chez.scm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
index bb584696ae..79a5ad965d 100644
--- a/gnu/packages/chez.scm
+++ b/gnu/packages/chez.scm
@@ -242,7 +242,9 @@ and 32-bit PowerPC architectures.")
`(("chez-scheme" ,chez-scheme)))
(arguments
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
- (list (string-append "PREFIX=" out)))
+ (list (string-append "PREFIX=" out)
+ "CHEZ=chez-scheme --libdirs ./"
+ (string-append "chezversion=" ,(package-version chez-scheme))))
#:test-target "test"
#:phases (modify-phases %standard-phases
(delete 'configure))))
--
2.28.0
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42947
; Package
guix
.
(Fri, 28 Aug 2020 13:22:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 42947 <at> debbugs.gnu.org (full text, mbox):
Hi,
Martin Becze <mjbecze <at> riseup.net> skribis:
> * gnu/packages/chez.scm (chez-srfi): Added make flags so that chez-scheme
> loads the tests correctly.
Applied, thanks!
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42947
; Package
guix
.
(Fri, 28 Aug 2020 13:23:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 42947 <at> debbugs.gnu.org (full text, mbox):
Hi Martin,
Martin Becze <mjbecze <at> riseup.net> skribis:
> Chez Scheme libraries are broken. For example `guix environment --ad-hoc
> chez-scheme chez-fmt`. chez-fmt will not install (for me) because it is
> dependent on chez-srfi and chez-scheme seem unable to locate it.
>
> I think it is because CHEZSCHEMELIBDIRS is not being set. But I'm not
> sure why that is happening. The chez-scheme package includes the following
>
>
> ```
> (native-search-paths
> (list (search-path-specification
> (variable "CHEZSCHEMELIBDIRS")
> (files (list (string-append "lib/csv" version "-site"))))))
> ```
> Which I think should set it.
>
> -Martin
Martin Becze <mjbecze <at> riseup.net> skribis:
> By default chez-scheme seems to be using lib/csv<version> for libaries. This
> creates the directory lib/csv<version>-site which the scheme libary packages
> expect.
>
> * gnu/packages/chez.scm (chez-scheme): Create libary directory.
> ---
> gnu/packages/chez.scm | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
> index b80421d3f7..bb584696ae 100644
> --- a/gnu/packages/chez.scm
> +++ b/gnu/packages/chez.scm
> @@ -194,6 +194,8 @@
> (bin (string-append out "/bin"))
> (lib (string-append out "/lib"))
> (name "chez-scheme"))
> + ;; create the folder for libary installation
> + (mkdir (string-append lib "/csv" ,version "-site"))
This is creating an empty directory, right? Are you sure this helps?
Isn’t the problem that packages like chez-fmt install libraries in
‘csv-site’ instead of ‘csv1.2.3-site’?
--8<---------------cut here---------------start------------->8---
$ find $(./pre-inst-env guix build chez-fmt)
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-js.so
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-c.so
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt.so
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.css
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/README
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.html
/gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/VERSION
--8<---------------cut here---------------end--------------->8---
Thanks,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42947
; Package
guix
.
(Mon, 31 Aug 2020 16:54:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 42947 <at> debbugs.gnu.org (full text, mbox):
> This is creating an empty directory, right? Are you sure this helps?
Yes, I think it solves the problem. On line 92 of the package definition
we have
```
(native-search-paths
(list (search-path-specification
(variable "CHEZSCHEMELIBDIRS")
(files (list (string-append "lib/csv" version "-site"))))))
```
search-path-specification won't set the environmental variable unless
the folder already exists. Note lib/csv<version> does exist at this
point but most libraries seem to want to live lib/csv<version>-site.
On 8/28/20 8:22 AM, Ludovic Courtès wrote:
> Hi Martin,
>
> Martin Becze <mjbecze <at> riseup.net> skribis:
>
>> Chez Scheme libraries are broken. For example `guix environment --ad-hoc
>> chez-scheme chez-fmt`. chez-fmt will not install (for me) because it is
>> dependent on chez-srfi and chez-scheme seem unable to locate it.
>>
>> I think it is because CHEZSCHEMELIBDIRS is not being set. But I'm not
>> sure why that is happening. The chez-scheme package includes the following
>>
>>
>> ```
>> (native-search-paths
>> (list (search-path-specification
>> (variable "CHEZSCHEMELIBDIRS")
>> (files (list (string-append "lib/csv" version "-site"))))))
>> ```
>> Which I think should set it.
>>
>> -Martin
>
> Martin Becze <mjbecze <at> riseup.net> skribis:
>
>> By default chez-scheme seems to be using lib/csv<version> for libaries. This
>> creates the directory lib/csv<version>-site which the scheme libary packages
>> expect.
>>
>> * gnu/packages/chez.scm (chez-scheme): Create libary directory.
>> ---
>> gnu/packages/chez.scm | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm
>> index b80421d3f7..bb584696ae 100644
>> --- a/gnu/packages/chez.scm
>> +++ b/gnu/packages/chez.scm
>> @@ -194,6 +194,8 @@
>> (bin (string-append out "/bin"))
>> (lib (string-append out "/lib"))
>> (name "chez-scheme"))
>> + ;; create the folder for libary installation
>> + (mkdir (string-append lib "/csv" ,version "-site"))
>
> This is creating an empty directory, right? Are you sure this helps?
>
> Isn’t the problem that packages like chez-fmt install libraries in
> ‘csv-site’ instead of ‘csv1.2.3-site’?
>
> --8<---------------cut here---------------start------------->8---
> $ find $(./pre-inst-env guix build chez-fmt)
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-js.so
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-c.so
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt.so
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.css
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/README
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.html
> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/VERSION
> --8<---------------cut here---------------end--------------->8---
>
> Thanks,
> Ludo’.
>
>
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42947
; Package
guix
.
(Mon, 31 Aug 2020 20:57:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 42947 <at> debbugs.gnu.org (full text, mbox):
Hi,
Martin Becze <mjbecze <at> riseup.net> skribis:
>> This is creating an empty directory, right? Are you sure this helps?
>
> Yes, I think it solves the problem. On line 92 of the package
> definition we have
>
> ```
> (native-search-paths
> (list (search-path-specification
> (variable "CHEZSCHEMELIBDIRS")
> (files (list (string-append "lib/csv" version "-site"))))))
> ```
> search-path-specification won't set the environmental variable unless
> the folder already exists. Note lib/csv<version> does exist at this
> point but most libraries seem to want to live lib/csv<version>-site.
I see, but now we’re creating a directory that remains empty, and as I
wrote, chez-fmt is actually installed in another directory anyway:
>> Isn’t the problem that packages like chez-fmt install libraries in
>> ‘csv-site’ instead of ‘csv1.2.3-site’?
>>
>> --8<---------------cut here---------------start------------->8---
>> $ find $(./pre-inst-env guix build chez-fmt)
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-js.so
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-c.so
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt.so
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.css
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/README
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.html
>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/VERSION
>> --8<---------------cut here---------------end--------------->8---
So perhaps the search path should be just lib/csv-site? Is that
consistent across Chez packages?
Thanks,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42947
; Package
guix
.
(Tue, 01 Sep 2020 09:23:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 42947 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> I see, but now we’re creating a directory that remains empty, and as I
> wrote, chez-fmt is actually installed in another directory anyway:
Oh yikes! Yeah so I see half of the scheme libraries are installed in
lib/csv-site and other are installed in lib/csv<version>-site. It
appears that there was a missing make flag for scheme-fmt and several
others. Attached is an updated patch that fixes that.
On 8/31/20 3:56 PM, Ludovic Courtès wrote:
> Hi,
>
> Martin Becze <mjbecze <at> riseup.net> skribis:
>
>>> This is creating an empty directory, right? Are you sure this helps?
>>
>> Yes, I think it solves the problem. On line 92 of the package
>> definition we have
>>
>> ```
>> (native-search-paths
>> (list (search-path-specification
>> (variable "CHEZSCHEMELIBDIRS")
>> (files (list (string-append "lib/csv" version "-site"))))))
>> ```
>> search-path-specification won't set the environmental variable unless
>> the folder already exists. Note lib/csv<version> does exist at this
>> point but most libraries seem to want to live lib/csv<version>-site.
>
> I see, but now we’re creating a directory that remains empty, and as I
> wrote, chez-fmt is actually installed in another directory anyway:
>
>>> Isn’t the problem that packages like chez-fmt install libraries in
>>> ‘csv-site’ instead of ‘csv1.2.3-site’?
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> $ find $(./pre-inst-env guix build chez-fmt)
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-js.so
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt-c.so
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/lib/csv-site/fmt.so
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.css
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/README
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/fmt.html
>>> /gnu/store/qr8mgphbivlqbdmn355kps2cxlmi679d-chez-fmt-0.8.11/share/doc/chez-fmt-0.8.11/VERSION
>>> --8<---------------cut here---------------end--------------->8---
>
> So perhaps the search path should be just lib/csv-site? Is that
> consistent across Chez packages?
>
> Thanks,
> Ludo’.
>
[v2-0001-gnu-chez-scheme-Fix-libary-directory-issue.patch (text/x-patch, attachment)]
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Wed, 02 Sep 2020 14:37:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Martin Becze <mjbecze <at> riseup.net>
:
bug acknowledged by developer.
(Wed, 02 Sep 2020 14:37:02 GMT)
Full text and
rfc822 format available.
Message #31 received at 42947-done <at> debbugs.gnu.org (full text, mbox):
Hi,
Martin Becze <mjbecze <at> riseup.net> skribis:
>> I see, but now we’re creating a directory that remains empty, and as I
>> wrote, chez-fmt is actually installed in another directory anyway:
>
> Oh yikes! Yeah so I see half of the scheme libraries are installed in
> lib/csv-site and other are installed in lib/csv<version>-site. It
> appears that there was a missing make flag for scheme-fmt and several
> others. Attached is an updated patch that fixes that.
[...]
> From 328ab304b47671dcdc03768f07484aae298ca646 Mon Sep 17 00:00:00 2001
> From: Martin Becze <mjbecze <at> riseup.net>
> Date: Thu, 20 Aug 2020 12:39:50 -0500
> Subject: [PATCH v2 1/2] gnu: chez-scheme: Fix libary directory issue.
>
> This creates the directory lib/csv<version>-site which the scheme libary packages
> expect.
>
> * gnu/packages/chez.scm (chez-scheme): Create libary directory.
> * gnu/packages/chez.scm (chez-make-flags): Add chezversion to make flags.
I’ve applied it without the ‘mkdir’. I confirm it solves the problem:
echo '(import (fmt))' | ./pre-inst-env guix environment -C --ad-hoc chez-scheme chez-fmt -- chez-scheme
Thanks!
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 01 Oct 2020 11:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 201 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.