Hi, Isn't `guix environment guix` equivalent to `guix shell -D guix`? I think you are missing a -D there so it's adding a shell with guix and not with its development dependencies. Hope that helps, Ekaitz [ElenQ Technology](https://elenq.tech) Ethical Innovation ------- Original Message ------- On Saturday, July 9th, 2022 at 12:02 AM, 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 >> [](http://gnu.org/licenses/gpl.html) >> 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