Hello : ) Thank you both! I did not know that. I previously mistakenly thought "environment = shell", but did not know, that I would have to add `-D` or `--development` to actually make an equivalent call. So `guix shell`, I guess, is more nuanced then, than `guix environment`. Anyway, that solves it, thank you! Best regards, Zelphir On 7/9/22 00:07, Ekaitz Zarraga wrote: > 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 > 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 >>> 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 > -- repositories:https://notabug.org/ZelphirKaltstahl