unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>, guix-devel@gnu.org
Subject: Re: Bootstrap script only works with guix environment, not with guix shell
Date: Sat, 09 Jul 2022 00:06:44 +0200	[thread overview]
Message-ID: <21D170FD-D4A2-4D7D-9981-4F9B6DF54CB1@lepiller.eu> (raw)
In-Reply-To: <641eecde-a1ca-8098-6472-27caf2e020c0@posteo.de>

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

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 <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>
>> 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: 19073 bytes --]

  reply	other threads:[~2022-07-08 22:07 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 [this message]
2022-07-08 22:07   ` Ekaitz Zarraga
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=21D170FD-D4A2-4D7D-9981-4F9B6DF54CB1@lepiller.eu \
    --to=julien@lepiller.eu \
    --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).