ASDF build system/sbcl doesn't build FASLs on some packages

  • Done
  • quality assurance status badge
Details
3 participants
  • Guillaume Le Vaillant
  • ykonai
  • Sharlatan Hellseher
Owner
unassigned
Submitted by
ykonai
Severity
normal
Y
Y
ykonai wrote on 11 Nov 2022 10:20
(address . bug-guix@gnu.org)
8535apzw20.fsf@ykonai.net
guix shell sbcl sbcl-uuid --pure -- sbcl --eval '(require :asdf)' --eval '(asdf:load-system :uuid)'
#<THREAD "main thread" RUNNING {100B1E8123}>:
Error opening #P"/gnu/store/in6ndcrnqg9pp2glkbvl1s072zp7r34y-sbcl-uuid-2012.12.26-1.e7d6680/lib/common-lisp/sbcl/uuid/uuid-tmpGHU3ALSV.fasl":

Read-only file system

The issue seems to be that the sbcl-uuid package has an empty
lib/common-lisp/sbcl/uuid directory: the FASL files don't get built.
The build log shows everything is fine
be an issue with the asdf-build-system/sbcl itself. It also seems to
affect a number of packages, including from what I've seen: sbcl-numcl,
sbcl-lack, and sbcl-mito. It doesn't seem to be a missing #:asd-systems
argument either (the .asd file is loaded fine per the build log).
S
S
Sharlatan Hellseher wrote on 12 Nov 2022 10:16
(address . 59200@debbugs.gnu.org)
CAO+9K5o4o2STpud0GNOGkk+-pZvKa+SpGj8QHy7+rb2eB_1+BA@mail.gmail.com
Hi,

I've got the same issue while packing cl-graph which has cl-containers as
one of the inputs. It's fails exactly the same where it can't assess
cl-containers FASL file.

Regards,
Oleg
Attachment: file
G
G
Guillaume Le Vaillant wrote on 15 Nov 2022 11:32
(address . 59200@debbugs.gnu.org)
878rkczedz.fsf@kitej
Hi,

I can't reproduce this issue.

I tried
Toggle snippet (3 lines)
guix shell sbcl sbcl-uuid --pure -- sbcl --eval '(require :asdf)' --eval '(asdf:load-system :uuid)'
guix shell sbcl sbcl-cl-containers --pure -- sbcl --eval '(require :asdf)' --eval '(asdf:load-system :cl-containers)'
and both commands worked without any error.

With each of the following commands, do you see the "uuid.fasl" file at
the end or not?
Toggle snippet (3 lines)
ls -l $(guix build sbcl-uuid)/lib/common-lisp/sbcl/uuid/
ls -l $(guix build --check --no-grafts sbcl-uuid)/lib/common-lisp/sbcl/uuid/
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCY3NtaA8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j/1SAD8DL5FK3e1VfmsR+hQ2pAxdsrle99GvcfR4+cj
Sys3q2wA/jsDV7QO3YO59wrbWeZHbcsmNFJlVKFdznf83CxCZ0MN
=ceUU
-----END PGP SIGNATURE-----

Y
Y
ykonai wrote on 16 Nov 2022 00:09
Re: reproducibility
(address . 59200@debbugs.gnu.org)
85r0y3n7b0.fsf@ykonai.net
Hi,

I can definitely consistently reproduce this issue. Maybe something in
your filesystem could interfere with this? Try:
guix shell sbcl sbcl-uuid --container -- sbcl --eval '(require :asdf)'
--eval '(asdf:load-system :uuid)'

This is on guix commit 8f9588185d74f1f251b041b84d43302c337588ff, which
is from a fresh guix pull.

I was wrong wrt. .fasl files missing: ls -l $(guix build
sbcl-uuid)/lib/common-lisp/sbcl/uuid/ does show that the FASL is there,
it is simply that SBCL arbitrarily decides it needs to be recompiled,
which looks like the problem here. It could be some ASDF upstream bug.
G
G
Guillaume Le Vaillant wrote on 16 Nov 2022 11:20
Re: bug#59200: reproducibility
(name . ykonai)(address . mail@ykonai.net)(address . 59200@debbugs.gnu.org)
87y1sb196x.fsf@kitej
ykonai via Bug reports for GNU Guix <bug-guix@gnu.org> skribis:

Toggle quote (13 lines)
> I can definitely consistently reproduce this issue. Maybe something in
> your filesystem could interfere with this? Try:
> guix shell sbcl sbcl-uuid --container -- sbcl --eval '(require :asdf)'
> --eval '(asdf:load-system :uuid)'
>
> This is on guix commit 8f9588185d74f1f251b041b84d43302c337588ff, which
> is from a fresh guix pull.
>
> I was wrong wrt. .fasl files missing: ls -l $(guix build
> sbcl-uuid)/lib/common-lisp/sbcl/uuid/ does show that the FASL is there,
> it is simply that SBCL arbitrarily decides it needs to be recompiled,
> which looks like the problem here. It could be some ASDF upstream bug.

I tried:

Toggle snippet (5 lines)
guix time-machine --commit=8f9588185d74f1f251b041b84d43302c337588ff -- \
shell sbcl sbcl-uuid --container -- \
sbcl --no-userinit --eval '(require :asdf)' --eval '(asdf:load-system :uuid)'

and it worked without error.

Maybe there is something in your local CL configuration (.sbclrc) that
ASDF doesn't like...
Could you check if you still have an error when ignoring the local
configuration with:

Toggle snippet (3 lines)
guix shell sbcl sbcl-uuid --container -- \
sbcl --no-userinit --eval '(require :asdf)' --eval '(asdf:load-system :uuid)'
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCY3S8Ng8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j/iJQD/fXEDiHlzHcXfW06cVmvZqft9dbOoh12VM6X/
73XOb3gA+wWa/txtLqxQrYfuu45Nk8Eor+AcrrRPnMrJ99tGTjk/
=3/FG
-----END PGP SIGNATURE-----

Y
Y
ykonai wrote on 16 Nov 2022 13:46
(name . Guillaume Le Vaillant)(address . glv@posteo.net)(address . 59200@debbugs.gnu.org)
85mt8rm5in.fsf@ykonai.net
Hi,

It turns out this was due to the fact that I had ironclad git cloned on
my computer, which was accidentally visible via :tree in the ASDF
configuration. ASDF detected that a different ironclad was used and
tried to compile-file to the gnu/store. I thought it was guix-related
since it did occur with both --pure and --container, but I was running
it with the default cwd share on.

Using --container --no-cwd is the solution to this problem.
G
G
Guillaume Le Vaillant wrote on 16 Nov 2022 14:05
(name . ykonai)(address . mail@ykonai.net)(address . 59200-close@debbugs.gnu.org)
87tu2z11ym.fsf@kitej
ykonai <mail@ykonai.net> skribis:

Toggle quote (11 lines)
> Hi,
>
> It turns out this was due to the fact that I had ironclad git cloned on
> my computer, which was accidentally visible via :tree in the ASDF
> configuration. ASDF detected that a different ironclad was used and
> tried to compile-file to the gnu/store. I thought it was guix-related
> since it did occur with both --pure and --container, but I was running
> it with the default cwd share on.
>
> Using --container --no-cwd is the solution to this problem.

Ok. Closing.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCY3Tg0Q8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j8aFwD+M/+aJxDnUQBNqwVmcRH4OORLFWLlsJ+YezUM
22GGd6wA/3HIi8uP3vLw6dOG4iXaB9UNVO5QVsxm12nkMAFoDVSq
=d96R
-----END PGP SIGNATURE-----

?