Subject: Re: bug#26949: Python path conflict

From: Pjotr Prins <[email-masked]>
Date: Wed, 17 May 2017 15:23:12 +0200

On Wed, May 17, 2017 at 03:08:05PM +0200, Ludovic Court??s wrote:
> Hi,
> 
> Pjotr Prins <[email-masked]> skribis:
> 
> > Note that I do most of my buiding with --no-grafts.
> 
> This is an unsafe thing to do.

Depends on the machine and what it is used for. Yes, for services that
can be vulnerable you need to use grafts using an older guix tree. But
I mostly build against git checkouts of guix - which means I am using
the latest versions of packages anyway. Agree?

> 
> This is due to an ABI change a few weeks ago.  Just run ???make clean-go
> && make???.

clean-go is a new one for me.

> 
> > In ./guix/build/union.scm:
> >   50: 1 [file-is-directory? "/gnu/store/q5kdj7gpawi94pqd15x3wizjq0nx4zhx-python-2.7.13/share/man/man1/python.1"]
> > In unknown file:
> >    ?: 0 [stat "/gnu/store/q5kdj7gpawi94pqd15x3wizjq0nx4zhx-python-2.7.13/share/man/man1/python.1" ...]
> >
> > 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"
> > builder for `/gnu/store/hrl55dd3m9v8jqwf3jn5g0j36ix5n1n5-profile.drv' failed with exit code 1
> > guix package: error: build failed: build of `/gnu/store/hrl55dd3m9v8jqwf3jn5g0j36ix5n1n5-profile.drv' failed
> 
> I can???t seem to reproduce it:
 
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env guix package -p foo -i [email-masked]
> The following package will be installed:
>    python	2.7.13	/gnu/store/p0ygwmwspjpn4pwnla3p26n0xrypzdxv-python-2.7.13
> 
> substitute: updating list of substitutes from 'https://bayfront.guixsd.org'... 100.0%
> substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
> The following derivations will be built:
>    /gnu/store/x0pffs6dzzzrajvhajicwgw6aj0g34zl-profile.drv
>    /gnu/store/xi5js16n6f9v5vr4cdqsqnh9vcm3yppn-manual-database.drv
> substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
> Creating manual page database for 1 packages... done in 0.015 s
> find-files: /gnu/store/p0ygwmwspjpn4pwnla3p26n0xrypzdxv-python-2.7.13/share/man/man1/python.1: No such file or directory
> 1 package in profile
> The following environment variable definitions may be needed:
>    export PATH="foo/bin${PATH:+:}$PATH"
>    export PYTHONPATH="foo/lib/python2.7/site-packages${PYTHONPATH:+:}$PYTHONPATH"
> $ git describe
> v0.12.0-3905-g516bfed7a
> --8<---------------cut here---------------end--------------->8---
> 
> Could you check if the problem occurs with current Guix, and if it does,
> whether the above command is easy to reproduce it?

I am using current Guix. The problem occurs on an existing profile. On
a new profile it does not happen.

I remember the python.1 path is a symlink not pointing anywhere. We
dealt with that a year ago. Maybe it now confuses the man db builder.
Does it somehow use the (existing) profile?

Note that python-2.7.3 is the newly installed package.

Pj.