unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Guillaume Le Vaillant <glv@posteo.net>
To: Foo Chuan Wei <chuanwei.foo@hotmail.com>
Cc: guix-devel@gnu.org, cox.katherine.e@gmail.com
Subject: Re: cl-gsll fails to load
Date: Tue, 07 Dec 2021 12:27:08 +0000	[thread overview]
Message-ID: <87v900efyw.fsf@kitej> (raw)
In-Reply-To: <PU1PR01MB21558461D0825768519467588D6D9@PU1PR01MB2155.apcprd01.prod.exchangelabs.com>

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

Foo Chuan Wei <chuanwei.foo@hotmail.com> skribis:

> I am using Guix on Ubuntu 20.04, and SBCL 2.1.9 (installed using `guix
> install sbcl`). I have installed cl-gsll (`guix install cl-gsll`), but
> `(asdf:load-system :gsll)` fails. Why?
>
> This is my ASDF configuration
>
> ;;;; File: ~/.config/common-lisp/source-registry.conf.d/guix-asdf.conf
> (:tree "~/.guix-profile/share/common-lisp/")
>
>
> This is the error message when `(asdf:load-system :gsll)` fails:
>
> ; pkg-config libffi --cflags
> ; ERROR: Couldn't execute "pkg-config": No such file or directory
>
>
> ; Attempting to continue anyway.
> ; gcc -o /home/fcw/.cache/common-lisp/sbcl-2.1.9-linux-x64/gnu/store/5c2r9qg7krpnsqiia34jf6s8w71vgqsf-cl-cffi-0.24.1/share/common-lisp/source/cl-cffi/libffi/libffi-types__grovel-tmpTASQCYAW.o -c -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wunused-parameter -fno-omit-frame-pointer -momit-leaf-frame-pointer -fPIC -I/gnu/store/5c2r9qg7krpnsqiia34jf6s8w71vgqsf-cl-cffi-0.24.1/share/common-lisp/source/cl-cffi/ /home/fcw/.cache/common-lisp/sbcl-2.1.9-linux-x64/gnu/store/5c2r9qg7krpnsqiia34jf6s8w71vgqsf-cl-cffi-0.24.1/share/common-lisp/source/cl-cffi/libffi/libffi-types__grovel.c
> While evaluating the form starting at line 21, column 0
>   of #P"/gnu/store/q27bpjg4pcm81j9ij66fhdpvlwx3jdcz-cl-gsll-0.0.0-1.1a8ada2/share/common-lisp/source/cl-gsll/gsll.asd":
>
> debugger invoked on a ASDF/FIND-SYSTEM:LOAD-SYSTEM-DEFINITION-ERROR in thread #<THREAD "main thread" RUNNING {10018587C3}>: Error while trying to load definition for system gsll from pathname /gnu/store/q27bpjg4pcm81j9ij66fhdpvlwx3jdcz-cl-gsll-0.0.0-1.1a8ada2/share/common-lisp/source/cl-gsll/gsll.asd: Couldn't execute "gcc": No such file or directory
>
> Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
>
> restarts (invokable by number or by possibly-abbreviated name):
>   0: [RETRY                        ] Retry #<PROCESS-OP > on #<GROVEL-FILE "cffi-libffi" "libffi" "libffi-types">.
>   1: [ACCEPT                       ] Continue, treating #<PROCESS-OP > on #<GROVEL-FILE "cffi-libffi" "libffi" "libffi-types"> as having been successful.
>   2: [RETRY                        ] Retry EVAL of current toplevel form.
>   3: [CONTINUE                     ] Ignore error and continue loading file "/gnu/store/q27bpjg4pcm81j9ij66fhdpvlwx3jdcz-cl-gsll-0.0.0-1.1a8ada2/share/common-lisp/source/cl-gsll/gsll.asd".
>   4: [ABORT                        ] Abort loading file "/gnu/store/q27bpjg4pcm81j9ij66fhdpvlwx3jdcz-cl-gsll-0.0.0-1.1a8ada2/share/common-lisp/source/cl-gsll/gsll.asd".
>   5:                                 Retry #<DEFINE-OP > on #<UNDEFINED-SYSTEM "gsll">.
>   6:                                 Continue, treating #<DEFINE-OP > on #<UNDEFINED-SYSTEM "gsll"> as having been successful.
>   7:                                 Retry ASDF operation.
>   8: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration.
>   9:                                 Retry ASDF operation.
>  10:                                 Retry ASDF operation after resetting the configuration.
>  11:                                 Exit debugger, returning to top level.
>
> ((FLET "H0" :IN ASDF/ACTION:PERFORM) #<CFFI-GROVEL:GROVEL-ERROR "~a" {100B957A93}>)
> ; File has been modified since compilation:
> ;   SYS:CONTRIB;ASDF;ASDF.LISP.NEWEST
> ; Using form offset instead of character position.
>    error finding frame source: invalid feature expression: "#.(UIOP/UTILITY:SYMBOL-TEST-TO-FEATURE-EXPRESSION (COMMON-LISP:QUOTE #:COMPILER-ERROR-CONTEXT-%SOURCE) (COMMON-LISP:QUOTE #:SB-C))"
>    source: NIL
> 0]
>
> The problem does not appear when using sbcl-gsll instead of cl-gsll.
> How do I fix the problem when using cl-gsll? It seems to be missing some
> kind of input or native-input.

I think the problem comes from the fact that the build system for
cl-xxx packages doesn't use the custom phases added to some sbcl-xxx
packages (like the 'fix-cffi-paths' phase of sbcl-gsll). Instead a fixed
set of phases is used (see '%standard-phases/source' from
"guix/build/asdf-build-system.scm", used in the
'sbcl-package->cl-source-package' function from
"guix/build-system/asdf.scm").

Therefore cl-xxx packages usually contain upstream version of the code,
without Guix-specific fixes, and having the dependencies installed in
a traditional/FHS way is necessary to compile the code.
For example the following seems to work:

--8<---------------cut here---------------start------------->8---
guix shell -C sbcl cl-gsll gcc-toolchain libffi gsl -- sbcl --eval '(require :asdf)' --eval '(asdf:load-system "gsll")'
--8<---------------cut here---------------end--------------->8---

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

  reply	other threads:[~2021-12-07 12:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-06  6:16 cl-gsll fails to load Foo Chuan Wei
2021-12-07 12:27 ` Guillaume Le Vaillant [this message]
2021-12-10  4:07   ` Foo Chuan Wei
2021-12-10 13:41     ` Guillaume Le Vaillant
2021-12-10 15:27       ` Guillaume Le Vaillant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v900efyw.fsf@kitej \
    --to=glv@posteo.net \
    --cc=chuanwei.foo@hotmail.com \
    --cc=cox.katherine.e@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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