unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ekaitz Zarraga <ekaitz@elenq.tech>
To: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
Cc: guix-devel@gnu.org
Subject: Re: Bootstrap script only works with guix environment, not with guix shell
Date: Fri, 08 Jul 2022 22:07:34 +0000	[thread overview]
Message-ID: <Llz1FS51HbfQCL3bBWUY16lHd0ylvn_SfnbT_AmMWk6533waz3lDs1Nhni8p45G4NSOk7hoWGZ9gTMi0ZK6M2tnYbjepyqR3M8WDbq58hPQ=@elenq.tech> (raw)
In-Reply-To: <641eecde-a1ca-8098-6472-27caf2e020c0@posteo.de>

[-- Attachment #1: Type: text/plain, Size: 17855 bytes --]

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 <zelphirkaltstahl@posteo.de> 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>](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

[-- Attachment #2: Type: text/html, Size: 19486 bytes --]

  parent reply	other threads:[~2022-07-08 22:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-08 21:57 Bootstrap script only works with guix environment, not with guix shell Zelphir Kaltstahl
2022-07-08 22:02 ` Zelphir Kaltstahl
2022-07-08 22:06   ` Julien Lepiller
2022-07-08 22:07   ` Ekaitz Zarraga [this message]
2022-07-08 22:16     ` Zelphir Kaltstahl
2022-07-08 22:22       ` Ekaitz Zarraga
2022-07-08 22:10 ` Christopher Baines

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='Llz1FS51HbfQCL3bBWUY16lHd0ylvn_SfnbT_AmMWk6533waz3lDs1Nhni8p45G4NSOk7hoWGZ9gTMi0ZK6M2tnYbjepyqR3M8WDbq58hPQ=@elenq.tech' \
    --to=ekaitz@elenq.tech \
    --cc=guix-devel@gnu.org \
    --cc=zelphirkaltstahl@posteo.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).