Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 329973 - dev-python/wxpython-2.8.10.1 - environment, line 5075: Called python_execute_function '-q' 'rename_files'
Summary: dev-python/wxpython-2.8.10.1 - environment, line 5075: Called python_execute...
Status: RESOLVED DUPLICATE of bug 150690
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo wxWidgets project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-26 20:09 UTC by John
Modified: 2010-08-14 15:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info =dev-python/wxpython-2.8.10.1 (i.txt,4.55 KB, text/plain)
2010-07-26 20:11 UTC, John
Details
build log (build.log,161.34 KB, text/plain)
2010-07-26 21:20 UTC, John
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John 2010-07-26 20:09:46 UTC
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
Comment 1 John 2010-07-26 20:11:18 UTC
Created attachment 240221 [details]
emerge --info =dev-python/wxpython-2.8.10.1
Comment 2 John 2010-07-26 20:14:04 UTC
emerge -pqv =dev-python/wxpython-2.8.10.1

[ebuild  N    ] dev-python/wxpython-2.8.10.1  USE="cairo opengl -doc -examples" 
Comment 3 Rafał Mużyło 2010-07-26 20:37:07 UTC
Attach full build log.
Comment 4 John 2010-07-26 21:20:02 UTC
Created attachment 240223 [details]
build log
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2010-07-26 21:40:49 UTC
The mv commands are not the ones that are failing (no die() is used for those).

python_execute_function -q rename_files is failing.
Comment 6 John 2010-07-26 21:45:29 UTC
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.
Comment 7 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-07-26 22:10:19 UTC
> 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.)
Comment 8 John 2010-07-27 15:55:21 UTC
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.
Comment 9 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-07-27 16:01:49 UTC
Maybe your Python is broken. Try to reinstall it.
Comment 10 Ryan Hill (RETIRED) gentoo-dev 2010-07-28 04:38:18 UTC
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?
Comment 11 John 2010-07-28 09:12:32 UTC
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.
Comment 12 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-07-28 14:06:30 UTC
(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".
Comment 13 John 2010-07-28 21:57:27 UTC
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)
Comment 14 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-08-13 17:13:49 UTC
Maybe you have a .pydistutils.cfg file in home directory or distutils.cfg file in distutils installation directory.
Comment 15 John 2010-08-14 12:05:23 UTC
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?
Comment 16 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-08-14 15:47:37 UTC
It's a duplicate.
Comment 17 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-08-14 15:48:00 UTC

*** This bug has been marked as a duplicate of bug 150690 ***