package `guile@3.0.9' has an invalid input: ("_" #<syntax-transformer pkg-config>)

  • Done
  • quality assurance status badge
Details
3 participants
  • Josselin Poiret
  • Maxim Cournoyer
  • Paul Alesius
Owner
unassigned
Submitted by
Paul Alesius
Severity
normal
P
P
Paul Alesius wrote on 25 Aug 2023 09:19
(address . bug-guix@gnu.org)
CAL8jUGVkBhNxxa6LUpz5HRfGvPV3O7-GfsmQFN_cF5sV2XHJMw@mail.gmail.com
In the source code directory of Guix, when trying to build a package from
gnu/packages/python-xyz.scm, it fails with the following error:

guix build: error:
/storage/src/guix/guix-gnu/guix/build-system/gnu.scm:146:8: package
`guile@3.0.9' has an invalid input: ("_" #<syntax-transformer pkg-config>)

For example:
guix build -L $(pwd) -e "(begin (use-modules (gnu packages python-xyz))
poetry)"
guix build -L $(pwd) -e "(begin (use-modules (gnu packages python-xyz))
python-lsp-server)"

It fails for all packages in python-xyz.scm. But you can build other
packages:
guix build -L $(pwd) -e "(begin (use-modules (gnu packages any-other))
program)"

/ Paul
Attachment: file
J
J
Josselin Poiret wrote on 2 Sep 2023 09:48
87h6odkobm.fsf@jpoiret.xyz
Hi Paul,

Paul Alesius <paul@unnservice.com> writes:

Toggle quote (7 lines)
> In the source code directory of Guix, when trying to build a package from
> gnu/packages/python-xyz.scm, it fails with the following error:
>
> guix build: error:
> /storage/src/guix/guix-gnu/guix/build-system/gnu.scm:146:8: package
> `guile@3.0.9' has an invalid input: ("_" #<syntax-transformer pkg-config>)

Usually, if you see `#<syntax-transformer ...>` anywhere in an error,
that means that something that used to be just a variable was turned
into a macro, but the other modules using it weren't recompiled
(reminder that macro expansion happens at compilation time). This
happens because Guile doesn't have any dependency tracking! You can
work around this by recompiling all files containing a reference to
pkg-config, I usually do `grep -Rl pkg-config --include '*.go' . | xargs
rm`, followed by `make`.

Best,
--
Josselin Poiret
-----BEGIN PGP SIGNATURE-----

iQHEBAEBCgAuFiEEOSSM2EHGPMM23K8vUF5AuRYXGooFAmTy6N0QHGRldkBqcG9p
cmV0Lnh5egAKCRBQXkC5FhcainixC/sHROBQ06f7QKqiXz9Tts6x0uOZqMnHEKzq
ZClQnq9B94HtDJzX8H25IrU3q9x91YI0SPvZw30vDl/Kp4Iq4GutQznjamMr1TyY
KeD0Lg3UG7Lv93sB1vSAtNOD+ODS0ZMlOXezc3ykr4G2kWlTyiWd0ld6OochpmxA
WxJ3DohIZwLYAO8ubq6heqD2J8LAN/+8TCeBLc6sj1eUe2r/Gfmln9CF4neNIt89
1kaIua2KmRdrdf2MjmPVlxknpysEzuzSgTymBU+yI86Y2dCyXSSi7D9Gj7wo22IT
S0bK5DTGEUcVdE9uZEoHoL4O2E3kCSxeLtHMvWsUHcuRA8Lfm2+tmt9sIUQc+NFP
+GsbtVEf7mS6Z2NwA9F5fzZ3pdNe7SdwMWUDtDeAjRQrOmTUbKQskrJky69rMFoA
/iLGGdNZlgdg/XGaZhIw9VDo3TONY601Ygk0P5ydlh+XmOm7iKzpBlBzaHTz46wv
SsQCRcEqijIQZwzjkRbC41wxB414E1U=
=i8tT
-----END PGP SIGNATURE-----

M
M
Maxim Cournoyer wrote on 2 Feb 05:57 +0100
control message for bug #65523
(address . control@debbugs.gnu.org)
87plxfo43v.fsf@gmail.com
tags 65523 notabug
close 65523
quit
M
M
Maxim Cournoyer wrote on 2 Feb 05:57 +0100
Re: bug#65523: package `guile@3.0.9' has an invalid input: ("_" #<syntax-transformer pkg-config>)
(name . Josselin Poiret)(address . dev@jpoiret.xyz)
87r0hvo441.fsf@gmail.com
Hi,

Josselin Poiret <dev@jpoiret.xyz> writes:

Toggle quote (20 lines)
> Hi Paul,
>
> Paul Alesius <paul@unnservice.com> writes:
>
>> In the source code directory of Guix, when trying to build a package from
>> gnu/packages/python-xyz.scm, it fails with the following error:
>>
>> guix build: error:
>> /storage/src/guix/guix-gnu/guix/build-system/gnu.scm:146:8: package
>> `guile@3.0.9' has an invalid input: ("_" #<syntax-transformer pkg-config>)
>
> Usually, if you see `#<syntax-transformer ...>` anywhere in an error,
> that means that something that used to be just a variable was turned
> into a macro, but the other modules using it weren't recompiled
> (reminder that macro expansion happens at compilation time). This
> happens because Guile doesn't have any dependency tracking! You can
> work around this by recompiling all files containing a reference to
> pkg-config, I usually do `grep -Rl pkg-config --include '*.go' . | xargs
> rm`, followed by `make`.

Thanks for the answer, Josselin!

Closing.

--
Maxim
Closed
?