Subject: Re: bug#26949: Python path conflict

From: [email-masked] (Ludovic Courtès)
Date: Wed, 17 May 2017 15:08:05 +0200

Hi,

Pjotr Prins <[email-masked]> skribis:

> Note that I do most of my buiding with --no-grafts.

This is an unsafe thing to do.

> Using the Guix tree from source 4a3495d57c08dff9287fe559482a6d2009109304
>
>   ./pre-inst-env guix package -i [email-masked] 
>
> renders

[...]

> In unknown file:
>    ?: 0 [# # #<procedure dependency-grafts (item)> #]
>
> ERROR: In procedure #<syntax-transformer mapm>:
> ERROR: Wrong type to apply: #<syntax-transformer mapm>

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

> and
>
>   ./pre-inst-env guix package --no-grafts -i [email-masked]
>
> renders
>
> The following package will be downgraded:
>    python	3.5.2 -> 2.7.13	/gnu/store/q5kdj7gpawi94pqd15x3wizjq0nx4zhx-python-2.7.13
>
> The following derivation will be built:
>    /gnu/store/hrl55dd3m9v8jqwf3jn5g0j36ix5n1n5-profile.drv

[...]

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

Thanks for reporting it!

Ludo’.