Subject: Re: bug#26949: Python path conflict

From: [email-masked] (Ludovic Courtès)
Date: Wed, 17 May 2017 21:54:07 +0200

Hello,

Pjotr Prins <[email-masked]> skribis:

> 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?

Yes, sure; I just wanted to make sure you had check the “I understand
the risks” box.  ;-)

>> > 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?

Yes, it could be that it happens with a particular combination of
packages in the profile.

Could you try to see if you could reproduce the problem in a fresh
profile starting from what the offending profile has and gradually
reducing the package set?

Thanks,
Ludo’.