That's because you're not using guix shell properly. guix shell guix Creates a shell where guix *itself* is available guix shell -D guix Creates a shell where guix *dependencies* are available. That's what you need to use. The manual provides more information on how to build Guix from the sources: https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html#Building-from-Git HTH! On July 9, 2022 12:02:12 AM GMT+02:00, Zelphir Kaltstahl wrote: >On 7/8/22 23:57, Zelphir Kaltstahl wrote: >> >> Hello Guix developers! >> >> I am messing around again with updating a package and according to my own guide from previous adventures, I have to run the following command to generate the `pre-inst-env` script, in the root directory of the guix sources: >> >> ~~~~ >> guix environment guix -- ./bootstrap >> ~~~~ >> >> But then I remembered, that actually `guix shell` is the newer thing and changed it to: >> >> ~~~~ >> guix shell guix -- ./bootstrap >> ~~~~ >> >> However, this does not work. I get an error: >> >> ~~~~ >> $ guix shell guix -- ./bootstrap >> + find po/doc -type f -name guix-manual*.po >> + sed -e s,.*/guix-manual\.,,;s,\.po$,, >> + langs=fr >> ru >> es >> pt_BR >> de >> zh_CN >> + [ ! -e doc/guix.fr.texi ] >> + [ ! -e doc/guix.ru.texi ] >> + [ ! -e doc/guix.es.texi ] >> + [ ! -e doc/guix.pt_BR.texi ] >> + [ ! -e doc/guix.de.texi ] >> + [ ! -e doc/guix.zh_CN.texi ] >> + find po/doc -type f -name guix-cookbook*.po >> + sed -e s,.*/guix-cookbook\.,,;s,\.po$,, >> + langs=de >> fr >> sk >> ko >> + [ ! -e doc/guix-cookbook.de.texi ] >> + [ ! -e doc/guix-cookbook.fr.texi ] >> + [ ! -e doc/guix-cookbook.sk.texi ] >> + [ ! -e doc/guix-cookbook.ko.texi ] >> + exec autoreconf -vfi >> autoreconf: Entering directory `.' >> autoreconf: running: autopoint --force >> autoreconf: running: aclocal --force -I m4 >> autoreconf: configure.ac: tracing >> autoreconf: configure.ac: not using Libtool >> autoreconf: running: /usr/bin/autoconf --force >> configure.ac:92: error: possibly undefined macro: GUILE_MODULE_AVAILABLE >> If this token and others are legitimate, please use m4_pattern_allow. >> See the Autoconf documentation. >> configure.ac:99: error: possibly undefined macro: GUILE_PKG >> configure.ac:100: error: possibly undefined macro: GUILE_PROGS >> autoreconf: /usr/bin/autoconf failed with exit status: 1 >> ~~~~ >> >> When I use `guix environment` it works: >> >> ~~~~ >> guix environment guix -- ./bootstrap >> + find po/doc -type f -name guix-manual*.po >> + sed -e s,.*/guix-manual\.,,;s,\.po$,, >> + langs=fr >> ru >> es >> pt_BR >> de >> zh_CN >> + [ ! -e doc/guix.fr.texi ] >> + [ ! -e doc/guix.ru.texi ] >> + [ ! -e doc/guix.es.texi ] >> + [ ! -e doc/guix.pt_BR.texi ] >> + [ ! -e doc/guix.de.texi ] >> + [ ! -e doc/guix.zh_CN.texi ] >> + find po/doc -type f -name guix-cookbook*.po >> + sed -e s,.*/guix-cookbook\.,,;s,\.po$,, >> + langs=de >> fr >> sk >> ko >> + [ ! -e doc/guix-cookbook.de.texi ] >> + [ ! -e doc/guix-cookbook.fr.texi ] >> + [ ! -e doc/guix-cookbook.sk.texi ] >> + [ ! -e doc/guix-cookbook.ko.texi ] >> + exec autoreconf -vfi >> autoreconf: Entering directory `.' >> autoreconf: running: autopoint --force >> autoreconf: running: aclocal --force -I m4 >> autoreconf: configure.ac: tracing >> autoreconf: configure.ac: not using Libtool >> autoreconf: running: /gnu/store/km9l89sd4wm9jp358481v2z6qacwl2h9-autoconf-2.69/bin/autoconf --force >> autoreconf: running: /gnu/store/km9l89sd4wm9jp358481v2z6qacwl2h9-autoconf-2.69/bin/autoheader --force >> autoreconf: running: automake --add-missing --copy --force-missing >> Makefile.am:816: warning: AM_GNU_GETTEXT used but 'po' not in SUBDIRS >> autoreconf: Leaving directory `.' >> ~~~~ >> >> I do not know, if this is intentional or not, but I thought that `guix environment` will be phased out or something. >> >> Here is my installed guix version: >> >> ~~~~ >> $ guix describe >> guix d7d2340 >> repository URL:https://git.savannah.gnu.org/git/guix.git >> branch: master >> commit: d7d23407213247d0173eabd2c769f2b98cef4fe9 >> >> $ guix --version >> guix (GNU Guix) 0 >> Copyright (C) 2022 the Guix authors >> License GPLv3+: GNU GPL version 3 or later >> This is free software: you are free to change and redistribute it. >> There is NO WARRANTY, to the extent permitted by law. >> ~~~~ >> >> I did `guix pull && guix package -u` just a few minutes ago, so everything should be quite up-to-date. >> >> Best regards, >> Zelphir >> >> -- >> repositories:https://notabug.org/ZelphirKaltstahl > >Addendum: > >I just noticed, that also the next step `guix shell guix -- ./configure --localstatedir=/var` does not work, but `guix environment guix -- ./configure --localstatedir=/var` does work: > >~~~~ >$ guix shell guix -- ./configure --localstatedir=/var >checking for a BSD-compatible install... /usr/bin/install -c >checking whether build environment is sane... yes >checking for a thread-safe mkdir -p... /usr/bin/mkdir -p >checking for gawk... gawk >checking whether make sets $(MAKE)... yes >checking whether make supports nested variables... yes >checking whether UID '1000' is supported by ustar format... yes >checking whether GID '1000' is supported by ustar format... yes >checking how to create a ustar tar archive... gnutar >checking whether make supports nested variables... (cached) yes >checking whether make supports the include directive... yes (GNU style) >checking for gcc... gcc >checking whether the C compiler works... yes >checking for C compiler default output file name... a.out >checking for suffix of executables... >checking whether we are cross compiling... no >checking for suffix of object files... o >checking whether we are using the GNU C compiler... yes >checking whether gcc accepts -g... yes >checking for gcc option to accept ISO C89... none needed >checking whether gcc understands -c and -o together... yes >checking dependency style of gcc... gcc3 >checking how to run the C preprocessor... gcc -E >checking for grep that handles long lines and -e... /usr/bin/grep >checking for egrep... /usr/bin/grep -E >checking for ANSI C header files... yes >checking for sys/types.h... yes >checking for sys/stat.h... yes >checking for stdlib.h... yes >checking for string.h... yes >checking for memory.h... yes >checking for strings.h... yes >checking for inttypes.h... yes >checking for stdint.h... yes >checking for unistd.h... yes >checking minix/config.h usability... no >checking minix/config.h presence... no >checking for minix/config.h... no >checking whether it is safe to define __EXTENSIONS__... yes >checking for a sed that does not truncate output... /usr/bin/sed >checking whether NLS is requested... yes >checking for msgfmt... no >checking for gmsgfmt... : >checking for xgettext... no >checking for msgmerge... no >checking build system type... x86_64-pc-linux-gnu >checking host system type... x86_64-pc-linux-gnu >checking for ld used by gcc... /usr/bin/ld >checking if the linker (/usr/bin/ld) is GNU ld... yes >checking for shared library run path origin... done >checking for CFPreferencesCopyAppValue... no >checking for CFLocaleCopyCurrent... no >checking for GNU gettext in libc... yes >checking whether to use NLS... yes >checking where the gettext function comes from... libc >checking for sed... (cached) /usr/bin/sed >checking for the Guix system type... x86_64-linux >checking for the store directory... /gnu/store >checking the length of the installed socket file name... 30 >checking for unit test root directory... /home/xiaolong/dev/guix/test-tmp >checking the length of the socket file name used in tests... 64 >checking the length of a typical hash bang line... 73 >checking the length of a hash bang line used in tests... 101 >checking for pkg-config... /usr/bin/pkg-config >checking pkg-config is at least version 0.9.0... yes >configure: checking for guile 3.0 >configure: error: >No Guile development packages were found. > >Please verify that you have Guile installed. If you installed Guile >from a binary distribution, please verify that you have also installed >the development packages. If you installed it yourself, you might need >to adjust your PKG_CONFIG_PATH; see the pkg-config man page for more. > >$ guix environment guix -- ./configure --localstatedir=/var >checking for a BSD-compatible install... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/install -c >checking whether build environment is sane... yes >checking for a thread-safe mkdir -p... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/mkdir -p >checking for gawk... gawk >checking whether make sets $(MAKE)... yes >checking whether make supports nested variables... yes >checking whether UID '1000' is supported by ustar format... yes >checking whether GID '1000' is supported by ustar format... yes >checking how to create a ustar tar archive... gnutar >checking whether make supports nested variables... (cached) yes >checking whether make supports the include directive... yes (GNU style) >checking for gcc... gcc >checking whether the C compiler works... yes >checking for C compiler default output file name... a.out >checking for suffix of executables... >checking whether we are cross compiling... no >checking for suffix of object files... o >checking whether we are using the GNU C compiler... yes >checking whether gcc accepts -g... yes >checking for gcc option to accept ISO C89... none needed >checking whether gcc understands -c and -o together... yes >checking dependency style of gcc... gcc3 >checking how to run the C preprocessor... gcc -E >checking for grep that handles long lines and -e... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/grep >checking for egrep... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/grep -E >checking for ANSI C header files... yes >checking for sys/types.h... yes >checking for sys/stat.h... yes >checking for stdlib.h... yes >checking for string.h... yes >checking for memory.h... yes >checking for strings.h... yes >checking for inttypes.h... yes >checking for stdint.h... yes >checking for unistd.h... yes >checking minix/config.h usability... no >checking minix/config.h presence... no >checking for minix/config.h... no >checking whether it is safe to define __EXTENSIONS__... yes >checking for a sed that does not truncate output... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/sed >checking whether NLS is requested... yes >checking for msgfmt... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/msgfmt >checking for gmsgfmt... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/msgfmt >checking for xgettext... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/xgettext >checking for msgmerge... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/msgmerge >checking build system type... x86_64-pc-linux-gnu >checking host system type... x86_64-pc-linux-gnu >checking for ld used by gcc... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/ld >checking if the linker (/gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/ld) is GNU ld... yes >checking for shared library run path origin... done >checking for CFPreferencesCopyAppValue... no >checking for CFLocaleCopyCurrent... no >checking for GNU gettext in libc... yes >checking whether to use NLS... yes >checking where the gettext function comes from... libc >checking for sed... (cached) /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/sed >checking for the Guix system type... x86_64-linux >checking for the store directory... /gnu/store >checking the length of the installed socket file name... 30 >checking for unit test root directory... /home/xiaolong/dev/guix/test-tmp >checking the length of the socket file name used in tests... 64 >checking the length of a typical hash bang line... 73 >checking the length of a hash bang line used in tests... 101 >checking for pkg-config... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/pkg-config >checking pkg-config is at least version 0.9.0... yes >configure: checking for guile 3.0 >configure: found guile 3.0 >checking for guile-3.0... no >checking for guile3.0... no >checking for guile-3... no >checking for guile3... no >checking for guile... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guile >checking for Guile version >= 3.0... 3.0.8 >checking for guild... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guild >checking for guile-config... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guile-config >checking for guile-3.0 >= 3.0.3... yes >checking for guile-3.0... yes >checking if (gnutls) is available... yes >checking if (git) is available... yes >checking whether Guile-JSON is available and recent enough... yes >checking whether Guile-Sqlite3 is available and recent enough... yes >checking whether Guile-Gcrypt is available and recent enough... yes >checking whether Guile-Git is available and recent enough... yes >checking if (htmlprag) exports `%strict-tokenizer?'... yes >checking whether Guile-zlib is available and recent enough... yes >checking if (lzlib) is available... yes >checking if (avahi) is available... yes >checking if (newt) is available... no >checking whether /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guile provides feature 'regex'... yes >checking whether /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guile provides feature 'posix'... yes >checking whether /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guile provides feature 'socket'... yes >checking whether /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guile provides feature 'net-db'... yes >checking whether /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guile provides feature 'threads'... yes >checking for a sed that does not truncate output... (cached) /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/sed >checking for gzip... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/gzip >checking for bzip2... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/bzip2 >checking for xz... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/xz >checking for libgcrypt-config... /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/libgcrypt-config >checking libgcrypt's library directory... /gnu/store/3kl94m3ksm45a880b6lnn3kagk857lj9-libgcrypt-1.8.8/lib >checking whether Guile-SSH is available and recent enough... yes >checking whether to build daemon... yes >checking for g++... g++ >checking whether we are using the GNU C++ compiler... yes >checking whether g++ accepts -g... yes >checking dependency style of g++... gcc3 >checking for ar... ar >checking the archiver (ar) interface... ar >checking whether g++ supports C++11... yes >checking for ranlib... ranlib >checking for special C compiler options needed for large files... no >checking for _FILE_OFFSET_BITS value needed for large files... no >checking for gzdopen in -lz... yes >checking how to run the C++ preprocessor... g++ -E >checking zlib.h usability... yes >checking zlib.h presence... yes >checking for zlib.h... yes >checking for BZ2_bzWriteOpen in -lbz2... yes >checking bzlib.h usability... yes >checking bzlib.h presence... yes >checking for bzlib.h... yes >checking for sqlite3 >= 3.6.19... yes >checking for gcry_md_open in -lgcrypt... yes >checking gcrypt.h usability... yes >checking gcrypt.h presence... yes >checking for gcrypt.h... yes >checking for chroot... yes >checking for unshare... yes >checking sched.h usability... yes >checking sched.h presence... yes >checking for sched.h... yes >checking sys/param.h usability... yes >checking sys/param.h presence... yes >checking for sys/param.h... yes >checking sys/mount.h usability... yes >checking sys/mount.h presence... yes >checking for sys/mount.h... yes >checking sys/syscall.h usability... yes >checking sys/syscall.h presence... yes >checking for sys/syscall.h... yes >checking for lutimes... yes >checking for lchown... yes >checking for posix_fallocate... yes >checking for sched_setaffinity... yes >checking for statvfs... yes >checking for nanosleep... yes >checking for strsignal... yes >checking for statx... yes >checking locale usability... yes >checking locale presence... yes >checking for locale... yes >checking sys/personality.h usability... yes >checking sys/personality.h presence... yes >checking for sys/personality.h... yes >checking for default substitute URLs...https://ci.guix.gnu.org https://bordeaux.guix.gnu.org >checking whether Guile-SSH is available and recent enough... (cached) yes >checking for unit test root directory... (cached) /home/xiaolong/dev/guix/test-tmp >checking for guile... (cached) /gnu/store/18zvp6m7c63r66849g0pj20bxi3mc501-profile/bin/guile >checking the current installation's localstatedir... none >checking that generated files are newer than configure... done >configure: creating ./config.status >config.status: creating Makefile >config.status: creating po/guix/Makefile.in >config.status: creating po/packages/Makefile.in >config.status: creating etc/guix-daemon.cil >config.status: creating guix/config.scm >config.status: creating etc/committer.scm >config.status: creating etc/teams.scm >config.status: creating test-env >config.status: creating pre-inst-env >config.status: creating nix/config.h >config.status: executing depfiles commands >config.status: executing po-directories commands >config.status: creating po/guix/POTFILES >config.status: creating po/guix/Makefile >config.status: creating po/packages/POTFILES >config.status: creating po/packages/Makefile >~~~~ > >-- >repositories:https://notabug.org/ZelphirKaltstahl