Installation of wxpython-2.8.10.1 gets: Writing /var/tmp/portage/dev-python/wxpython-2.8.10.1/image/opt/lib/python2.6/wxPython_common-2.8.10.1-py2.6.egg-info mv: cannot stat `/var/tmp/portage/dev-python/wxpython-2.8.10.1/image//usr/bin/*': No such file or directory mv: cannot stat `/var/tmp/portage/dev-python/wxpython-2.8.10.1/image//usr/lib/python2.6/site-packages/wxversion.*': No such file or directory mv: cannot stat `/var/tmp/portage/dev-python/wxpython-2.8.10.1/image//usr/lib/python2.6/site-packages/wx.pth': No such file or directory * ERROR: dev-python/wxpython-2.8.10.1 failed: * failed with CPython 2.6 in rename_files() function
Created attachment 240221 [details] emerge --info =dev-python/wxpython-2.8.10.1
emerge -pqv =dev-python/wxpython-2.8.10.1 [ebuild N ] dev-python/wxpython-2.8.10.1 USE="cairo opengl -doc -examples"
Attach full build log.
Created attachment 240223 [details] build log
The mv commands are not the ones that are failing (no die() is used for those). python_execute_function -q rename_files is failing.
I see. I thought that these commands where part of the python_execute_function -q rename_files. The fact, however, remains that the installation fails.
> running install_lib > creating /var/tmp/portage/dev-python/wxpython-2.8.10.1/image/opt > creating /var/tmp/portage/dev-python/wxpython-2.8.10.1/image/opt/lib > creating /var/tmp/portage/dev-python/wxpython-2.8.10.1/image/opt/lib/python2.6 > creating /var/tmp/portage/dev-python/wxpython-2.8.10.1/image/opt/lib/python2.6/wx-2.8-gtk2-unicode > creating /var/tmp/portage/dev-python/wxpython-2.8.10.1/image/opt/lib/python2.6/wx-2.8-gtk2-unicode/wxPython You have another "python2.6" in PATH. (python_execute_function() intentionally calls die() when function executed by python_execute_function() has non-zero return status.)
If you refer to /opt/lib/python2.6, a lot of packages put their stuff in there. If you refer to multiple versions of python, that's intended in gentoo, you can eselect them. I don't have any python outside of Gentoo portage. So I can't see the problem.
Maybe your Python is broken. Try to reinstall it.
Are we sure it's not mv returning a non-zero status inside of python_execute_function that's causing the error? The first error is because the scripts got installed into "${D}/opt/bin" but the ebuild does `for file in "${D}/usr/bin/*" ...`. Similarly the last two are caused by files getting installed into "${D}/opt/lib/python2.6/" while the ebuild tries to do `for file in "${D}$(python_get_sitedir)/wx{version.*,.pth}" ...` which gets turned into "${D}/usr/lib/python2.6/site-packages/ wx{version.*,.pth}". Where did this /opt/lib python come from, and why does $(python_get_sitedir) mean /opt/lib/python2.6 in installation() but /usr/lib/python2.6/site-packages in rename_files() right after it?
I wondered about /opt/lib/python2.6, too. I wasn't sure whether I created it. I have an complete alternate prefix at /opt, with bin, lib, share, etc, and everything. But then after problems with emerging python-2.6.5, I removed the whole /opt/lib/python. But after re-emerging of packages broken because of the removal of /opt/lib/python, the stuff went into /opt/lib/python again. /opt/lib/python is in sys.path. I checked whether I have put it in there but a search for /etc/env.d did not get anything. They only /opt path is in 00basic (/opt/bin). I wonder why packages put stuff in /opt instead of /usr. Fact remains, all python packages successfully install, but not wxpython. IMHO I'd rather see the glitch in wxpython than in anything else.
(In reply to comment #10) > Are we sure it's not mv returning a non-zero status inside of > python_execute_function that's causing the error? Failure of mv should cause call to die() inside python_execute_function(). I have added explicit ' || return 1' to the ebuilds to ensure that failures in previous iterations aren't ignored. > The first error is because the scripts got installed into "${D}/opt/bin" but > the ebuild does `for file in "${D}/usr/bin/*" ...`. The scripts shouldn't be installed into "${D}/opt/bin". > Where did this /opt/lib python come from Installed Python 2.6 is broken or "python2.6" in ebuild environment references manually installed Python 2.6. > why does $(python_get_sitedir) mean /opt/lib/python2.6 in installation() but > /usr/lib/python2.6/site-packages in rename_files() right after it? python_get_sitedir() for CPython 2.6 always prints "/usr/$(get_libdir)/python2.6/site-packages".
Just to prove other packages installed into /opt/lib/python2.6, too: beluga ~ # qfile /opt/lib/python2.6 dev-python/beautifulsoup (/opt/lib/python2.6) dev-python/pysqlite (/opt/lib/python2.6) dev-python/pyenchant (/opt/lib/python2.6) dev-python/pexpect (/opt/lib/python2.6) dev-python/pylibacl (/opt/lib/python2.6) dev-python/numpy (/opt/lib/python2.6) dev-python/sqlalchemy (/opt/lib/python2.6) dev-python/ipython (/opt/lib/python2.6) dev-python/mysql-python (/opt/lib/python2.6) dev-python/pyopengl (/opt/lib/python2.6) dev-python/setuptools (/opt/lib/python2.6) dev-python/pygments (/opt/lib/python2.6) dev-python/py-gnupg (/opt/lib/python2.6) dev-python/coverage (/opt/lib/python2.6) dev-python/pyxattr (/opt/lib/python2.6) dev-python/chardet (/opt/lib/python2.6) dev-python/lxml (/opt/lib/python2.6) app-accessibility/speech-dispatcher (/opt/lib/python2.6) app-mobilephone/obexftp (/opt/lib/python2.6) net-analyzer/nmap (/opt/lib/python2.6) dev-java/java-config (/opt/lib/python2.6) app-backup/duplicity (/opt/lib/python2.6) app-backup/rdiff-backup (/opt/lib/python2.6) app-portage/layman (/opt/lib/python2.6)
Maybe you have a .pydistutils.cfg file in home directory or distutils.cfg file in distutils installation directory.
Gotcha: /usr/lib/python2.6/distutils/distutils.cfg reads: [install] install_lib = /opt/lib/python2.6 install_scripts = /opt/bin I cannot remember having written this file, nor how I got the information to do so. Is it possible a package is out there which would write the file if it sees those directories in the file system?
It's a duplicate.
*** This bug has been marked as a duplicate of bug 150690 ***