On Fri, Feb 26, 2016 at 09:19:40PM -0800, Diane Trout wrote: > Hi, > > Attached is the patch I used for trying to update python 3 to 3.5. I disabled > a test and added an exception handler for some code calling pwd.getpwuid(0) > and the group equivalent. > > It builds outside of the python.scm module but if I change the version in > python.scm python-minimal ends up with a link error. > > *** WARNING: renaming "_ctypes" since importing it failed: build/lib.linux- > x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu.so: cannot open shared object > file: No such file or directory > error: [Errno 2] No such file or directory: 'build/lib.linux- > x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu.so' -> 'build/lib.linux- > x86_64-3.5/_ctypes.cpython-35m-x86_64-linux-gnu_failed.so' > Makefile:608: recipe for target 'sharedmods' failed > > I'm currently pretty baffled by the link error as if I do --keep-failed I can > get it to build with: > cd /tmp/nix-builc-python-minimal-3.5.1.drv > chown -R me . > guix environment python-minimal > cd Python-3.5.1 > make
Thanks for attempting this major upgrade! I think that using `guix environment python-minimal` will not get you the exact environment that exists while building with the daemon. Without the '--pure' or '--container' options, `guix environment` augments your existing environment rather than replacing it. Also, the 'python-minimal' offered by `guix environment python-minimal` is likely the one that lives on the master branch, deployed by `guix pull`, unless you symlinked your git checkout to '~/.config/guix/latest'. Could you try something like this, having checked out the branch where you are attempting this upgrade: `~/src/guix/pre-inst-env guix environment --pure python-minimal` I would suggest '--container' but you'd have to make some changes to your system if you are on Debian. You could also try to source the 'environment-variables' file in the failed build directory, although you will again want to unset your pre-existing environment first (I'm not sure how to do that). Sorry if I've misunderstood your dilemma.