From: Pjotr Prins <pjotr.public12@thebird.nl>
To: Ludovic Court??s <ludo@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Heads-up: transition to Guile 2.2
Date: Mon, 15 May 2017 09:26:26 +0200 [thread overview]
Message-ID: <20170515072626.GA963@thebird.nl> (raw)
In-Reply-To: <871srrruvi.fsf@gnu.org>
Hi Ludo,
On Sun, May 14, 2017 at 11:28:17PM +0200, Ludovic Court??s wrote:
> > Starting from running 'guix pull' twice and essentially following the section
> > 'Building GNU Guix from source (using Guix)' in
> >
> > https://gitlab.com/pjotrp/guix-notes/blob/master/INSTALL.org#building-gnu-guix-from-source-using-guix
> >
> > which used to work reliably. It all has to do with the guile upgrade. Even from
> > a clean git clone it won't work as expected.
>
> Apparently I cannot access that page without logging in. For
Sorry. I am migrating repositories from github and while gitlab imports even
the issue trackers (cool!) it set repos to private by default. Go figure.
Fixed access. But don't look at it now, I need to fix the text.
> developers, the instructions at
> <https://www.gnu.org/software/guix/manual/html_node/Building-from-Git.html>
> are still valid, AFAIK.
The good news is that I got a build of a recent guix with
env -i /bin/bash --login --noprofile --norc
~/.guix-profile/bin/guix environment guix --ad-hoc help2man git strace pkg-config
rm -rf autom4te.cache/ # to be sure
make clean
./bootstrap
./configure --localstatedir=/var
make clean # to be sure
make
which is *nice*. It is clear my environment is somewhat unstable - a
combination of PATH pollution and (I think) recent tools mixed into the
build process.
And this is what my message is about, the tooling in my guix environment is
old. Checking inside above environment
gcc --version
gcc (GCC) 5.4.0
guile --version
guile (GNU Guile) 2.0.14
So, what is happening is that I am building a recent tree with an old
toolset. This is exactly what I meant! I don't dare do a guix pull
now, to avoid the tree build failing again(!). Heh.
Everyone, I mean everyone, is building guix with different toolsets, i.e,
combinations of tools and versions.
This is wrong and unguixy.
> > Typical errors during build are
> >
> > Backtrace:
> > GUILEC gnu/packages/fcitx.go
> > Exception thrown while printing backtrace:
> > GUILEC ERROR: gnu/packages/figlet.go
> > In procedure public-lookup: Module named (system repl debug) does
> > not exist
>
> Weird. Was it with Guile 2.0 or 2.2? What was on GUILE_LOAD_PATH?
I know, can't reproduce it now.
> > But I got it somehow to build. guix now lacks a version number:
> >
> > ./pre-inst-env guix --version
> > guile: warning: failed to install locale
> > warning: failed to install locale: Invalid argument
> > guix (GNU Guix) UNKNOWN
> >
> > probably because bootstrap never did the right thing. Bootstrap passes, but
>
> That???s because build-aux/git-version-gen didn???t find ???git??? in $PATH.
Git was in the path, for sure. But obviously my system was unsettled.
> > ./configure --localstatedir=/var
> >
> > complains with
> >
> > configure: error: C preprocessor "/lib/cpp" fails sanity check
>
> What does config.log say?
It was a whole range of gcc 7.10 errors, looking for limit.h etc. Lost the log in anger ;)
> > And during installation:
> >
> > ERROR: In procedure stat:
> > ERROR: In procedure stat: No such file or directory:
> > "/gnu/store/q5kdj7gpawi94pqd15x3wizjq0nx4zhx-python-2.7.13/share/man/man1/python.1"
>
> During installation of what?
It was during profile path resolving of Guix. I happen to have this in
a screen. The full trace is
warning: collision encountered: /gnu/store/b11lvv9x75jgiiw7rpyb53vj8j57jrw6-mysql-5.7.17/share/man/man1/mysqltest.1.gz
/gnu/store/vdvwj57w1rnay7khvi0c4wp05f35gqcl-mysql-5.6.25/share/man/man1/mysqltest.1.gz
warning: arbitrarily choosing /gnu/store/b11lvv9x75jgiiw7rpyb53vj8j57jrw6-mysql-5.7.17/share/man/man1/mysqltest.1.gz
Backtrace:
In ice-9/boot-9.scm:
160: 17 [catch #t #<catch-closure 8cac60> ...]
In unknown file:
?: 16 [apply-smob/1 #<catch-closure 8cac60>]
In ice-9/boot-9.scm:
66: 15 [call-with-prompt prompt0 ...]
In ice-9/eval.scm:
432: 14 [eval # #]
In ice-9/boot-9.scm:
2404: 13 [save-module-excursion #<procedure 8ea7c0 at ice-9/boot-9.scm:4051:3 ()>]
4056: 12 [#<procedure 8ea7c0 at ice-9/boot-9.scm:4051:3 ()>]
1727: 11 [%start-stack load-stack #<procedure 8fcae0 at ice-9/boot-9.scm:4047:10 ()>]
1732: 10 [#<procedure 8fd6f0 ()>]
In unknown file:
?: 9 [primitive-load "/gnu/store/v9h4yaza43hi1780piyvvjsn5ba43hbn-profile-builder"]
In ./guix/build/profiles.scm:
133: 8 [build-profile "/gnu/store/2qnn7divxnh5phd1k8sq7g9p29y1vapc-profile" # ...]
In unknown file:
?: 7 [hash-for-each #<procedure d3f3f0 at ./guix/build/union.scm:143:21 (file dirs-with-file)> ...]
?: 6 [hash-for-each #<procedure b92b10 at ./guix/build/union.scm:143:21 (file dirs-with-file)> ...]
?: 5 [hash-for-each #<procedure eabd80 at ./guix/build/union.scm:143:21 (file dirs-with-file)> ...]
?: 4 [hash-for-each #<procedure f24720 at ./guix/build/union.scm:143:21 (file dirs-with-file)> ...]
In ./guix/build/union.scm:
110: 3 [union "/gnu/store/2qnn7divxnh5phd1k8sq7g9p29y1vapc-profile/share/man/man1/python.1" ...]
In unknown file:
?: 2 [partition #<procedure file-is-directory? (file)> #]
In ./guix/build/union.scm:
49: 1 [file-is-directory? "/gnu/store/q6rbp7s542jkhrhz04hsp2i60gw0h4as-python-2.7.12/share/man/man1/python.1"]
In unknown file:
?: 0 [stat "/gnu/store/q6rbp7s542jkhrhz04hsp2i60gw0h4as-python-2.7.12/share/man/man1/python.1" ...]
ERROR: In procedure stat:
ERROR: In procedure stat: No such file or directory: "/gnu/store/q6rbp7s542jkhrhz04hsp2i60gw0h4as-python-2.7.12/share/man/man1/python.1"
builder for `/gnu/store/ssqb8qmdna28yjq2ggy5bxiy2wn5q1k7-profile.drv' failed with exit code 1
guix package: error: build failed: build of `/gnu/store/ssqb8qmdna28yjq2ggy5bxiy2wn5q1k7-profile.drv' failed
but, lets not focus on that right now.
> > In all, the system feels flaky at this point. I wish we had found a
> > way of upgrading guile with backward compatibility. Maybe temporarily
> > naming it guile2.2 with matching paths would have been better.
>
> IIUC this does not relate to ???guix pull??? since you???re building from Git.
The tooling I am using to build from git is coming from a guix pull.
> FWIW I had been running Guix in my checkout with Guile 2.2 long before
> this ???guix pull??? transition. It required making sure that all the 2.2
> dependencies were in the environment (not the 2.0 dependencies), but
> apart from that that went fine.
>
> I???m afraid I don???t have enough info to debug the issues you mention here
> though. :-/
No need. What I am suggesting is that we create an environment with a recent
and *tested* set of tools to build the source tree. If that build is
reproducible with recent tooling it will be easy to hunt down bugs. Currently
we can pull a guix environment, but point me where we have an automated build
of that to prove that it is working. Tell me how *you* can recreate
the exact same build environment that I am using. Above environment
isolation feature is useful, but does not guarantee reproducible
builds from source. The point is that we *can* do it.
I suggest to create a guix-build package which is tested against every commit
that updates guix itself on the build farm. We don't have to trigger for
updated packages. Just for commits to the core.
Do you get what I mean? I think it is fairly trivial to achieve, If you agree
this is important I may even have a go at it at some point.
Pj.
next prev parent reply other threads:[~2017-05-15 7:26 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-15 16:13 Ready for Guile 2.2! Ludovic Courtès
2017-03-15 20:33 ` Pjotr Prins
2017-03-15 20:41 ` Ludovic Courtès
2017-04-20 12:35 ` Ludovic Courtès
2017-04-20 13:10 ` Andy Wingo
2017-04-20 15:21 ` Maxim Cournoyer
2017-04-21 16:05 ` Joshua Branson
2017-04-22 22:20 ` Ludovic Courtès
2017-04-21 21:03 ` Ludovic Courtès
2017-04-24 1:31 ` Maxim Cournoyer
2017-04-21 21:14 ` Ludovic Courtès
2017-03-31 16:34 ` Ludovic Courtès
2017-04-22 22:34 ` ‘guix pull’ vs. transition to Guile 2.2 Ludovic Courtès
2017-04-23 14:09 ` Jan Nieuwenhuizen
2017-04-27 13:25 ` Ludovic Courtès
2017-05-09 21:22 ` Heads-up: " Ludovic Courtès
2017-05-09 22:26 ` myglc2
2017-05-10 12:05 ` Ludovic Courtès
2017-05-10 17:11 ` myglc2
2017-05-11 0:40 ` myglc2
2017-05-11 8:29 ` Ludovic Courtès
2017-05-11 8:50 ` Vincent Legoll
2017-05-11 20:53 ` Ludovic Courtès
2017-05-11 11:53 ` myglc2
2017-05-11 17:48 ` ng0
2017-05-11 18:17 ` ng0
2017-05-11 20:49 ` Adonay Felipe Nogueira
2017-05-12 8:11 ` Chris Marusich
2017-05-18 12:32 ` ng0
2017-05-14 13:50 ` Pjotr Prins
2017-05-14 15:35 ` Pjotr Prins
2017-05-14 16:13 ` Pjotr Prins
2017-05-14 16:28 ` Jan Nieuwenhuizen
2017-05-14 17:29 ` pjotr.public12
2017-05-14 18:30 ` Creating a reliable bootstrap for building from source Pjotr Prins
2017-05-14 21:32 ` Ludovic Courtès
2017-05-15 1:20 ` David Pirotte
2017-05-15 13:27 ` Ludovic Courtès
2017-05-15 7:35 ` Pjotr Prins
2017-05-15 13:28 ` Ludovic Courtès
2017-05-17 7:47 ` Pjotr Prins
2017-05-19 8:58 ` Ludovic Courtès
2017-05-17 7:52 ` Pjotr Prins
2017-05-14 21:28 ` Heads-up: transition to Guile 2.2 Ludovic Courtès
2017-05-15 7:26 ` Pjotr Prins [this message]
2017-05-15 15:48 ` Ludovic Courtès
2017-05-15 20:24 ` Rethinking guix pull [was Re: Heads-up: transition to Guile 2.2] myglc2
2017-05-16 15:55 ` Ricardo Wurmus
2017-05-16 20:56 ` Maxim Cournoyer
2017-05-18 13:54 ` Katherine Cox-Buday
2017-05-18 15:08 ` Ludovic Courtès
2017-05-17 12:45 ` Ludovic Courtès
2017-05-17 17:54 ` myglc2
2017-05-17 16:06 ` myglc2
2017-05-17 17:46 ` myglc2
2017-05-17 23:45 ` Leo Famulari
2017-05-12 5:41 ` ‘guix pull’ vs. transition to Guile 2.2 Chris Marusich
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170515072626.GA963@thebird.nl \
--to=pjotr.public12@thebird.nl \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.