Emerging m2crypto 0.20.2 fails every time with USE="doc" during the API documentation generation: # emerge m2crypto These are the packages that would be merged, in order: Calculating dependencies ... done! [ebuild R ] dev-python/m2crypto-0.20.2 USE="doc*" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-python/m2crypto-0.20.2 * M2Crypto-0.20.2.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * CPV: dev-python/m2crypto-0.20.2 * REPO: gentoo * USE: amd64 doc elibc_glibc kernel_linux multilib userland_GNU (...) * Building of dev-python/m2crypto-0.20.2 with Python 2.6... (... lots of output) * Installation of dev-python/m2crypto-0.20.2 with Python 2.6... (...) running install_egg_info running egg_info writing M2Crypto.egg-info/PKG-INFO writing top-level names to M2Crypto.egg-info/top_level.txt writing dependency_links to M2Crypto.egg-info/dependency_links.txt reading manifest file 'M2Crypto.egg-info/SOURCES.txt' writing manifest file 'M2Crypto.egg-info/SOURCES.txt' Copying M2Crypto.egg-info to /var/tmp/portage/dev-python/m2crypto-0.20.2/image/usr/lib64/python2.6/site-packages/M2Crypto-0.20.2-py2.6.egg-info running install_scripts * Generating API documentation... * ERROR: dev-python/m2crypto-0.20.2 failed: * PYTHON(): '--active' option cannot be used in ebuilds of packages supporting installation for multiple versions of Python * * Call stack: * ebuild.sh, line 54: Called src_install * environment, line 3570: Called python_get_sitedir * environment, line 3195: Called python_get_libdir * environment, line 3174: Called PYTHON '-A' '--ABI' * environment, line 179: Called die * The specific snippet of code: * die "${FUNCNAME}(): '--active' option cannot be used in ebuilds of packages supporting installation for multiple versions of Python"; * * If you need support, post the output of 'emerge --info =dev-python/m2crypto-0.20.2', * the complete build log and the output of 'emerge -pqv =dev-python/m2crypto-0.20.2'. * The complete build log is located at '/var/log/portage/dev-python:m2crypto-0.20.2:20100129-174536.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/m2crypto-0.20.2/temp/environment'. * S: '/var/tmp/portage/dev-python/m2crypto-0.20.2/work/M2Crypto-0.20.2' Reproducible: Always Steps to Reproduce: 1. emerge -v =m2crypto-0.20.2 2. failed m2crypto 3. no profit :( This happens just in the docs building stage, so, the package is emergeable (without docs). But it would be nice if someone could take a look.
I also just hit this, and as can be seen from the call-stack the problem is that the ebuild calls python_get_sitedir which tries to get the python site directory of the active python version, which is unsupported for packages that allow to be build against multiple python versions for some reason. One way to "fix" this is to use $(python_get_sitedir -f), another would be to not tinker with PYTHONPATH at all, but I guess neither is the correct solution as I have no clue why the PYTHONPATH setting is there in the first place ;)
This even happens if you don't have multiple python versions installed.
Fixed.