| Summary: | dev-python/wxpython-2.8.10.1 - environment, line 5075: Called python_execute_function '-q' 'rename_files' | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | John <dev-jay> |
| Component: | [OLD] Library | Assignee: | Gentoo wxWidgets project <wxwidgets> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | python |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
emerge --info =dev-python/wxpython-2.8.10.1
build log |
||
|
Description
John
2010-07-26 20:09:46 UTC
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 *** |