'emerge matplotlib' fails with: >>> Emerging (8 of 8) dev-python/matplotlib-1.2.0 * matplotlib-1.2.0.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking matplotlib-1.2.0.tar.gz to /var/tmp/portage/dev-python/matplotlib-1.2.0/work >>> Source unpacked in /var/tmp/portage/dev-python/matplotlib-1.2.0/work >>> Preparing source in /var/tmp/portage/dev-python/matplotlib-1.2.0/work/matplotlib-1.2.0 ... * Applying matplotlib-1.2.0-setup.patch ... [ ok ] * Applying matplotlib-1.2.0-ft-refcount.patch ... [ ok ] * Preparation of dev-python/matplotlib-1.2.0 with CPython 2.7... * Preparation of dev-python/matplotlib-1.2.0 with CPython 3.2... * * Building of docs with python3 currently **FAILS** * Docs can be built effectively with python2. * eselect python2 and recommence emerge * * ERROR: dev-python/matplotlib-1.2.0 failed (prepare phase): * (no error message) * * Call stack: * ebuild.sh, line 93: Called src_prepare * environment, line 5261: Called python_execute_function 'DocCheck' * environment, line 3558: Called DocCheck * environment, line 5258: Called die * The specific snippet of code: * die; * * If you need support, post the output of `emerge --info '=dev-python/matplotlib-1.2.0'`, * the complete build log and the output of `emerge -pqv '=dev-python/matplotlib-1.2.0'`. * The complete build log is located at '/var/tmp/portage/dev-python/matplotlib-1.2.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-python/matplotlib-1.2.0/temp/environment'. * Working directory: '/var/tmp/portage/dev-python/matplotlib-1.2.0/work/matplotlib-1.2.0' * S: '/var/tmp/portage/dev-python/matplotlib-1.2.0/work/matplotlib-1.2.0' >>> Failed to emerge dev-python/matplotlib-1.2.0, Log file: >>> '/var/tmp/portage/dev-python/matplotlib-1.2.0/temp/build.log' * Regenerating GNU info directory index... * Processed 361 info files. * After world updates, it is important to remove obsolete packages with * emerge --depclean. Refer to `man emerge` for more information. root@caiman:/usr/src(111)# eselect python list Available Python interpreters: [1] python2.7 * [2] python3.2 Reproducible: Always emerge --info '=dev-python/matplotlib-1.2.0' does not find matplotlib-1.2.0.ebuild: emerge: there are no ebuilds to satisfy "=dev-python/matplotlib-1.2.0". root@caiman:/usr/src(114)# emerge --info =dev-python/matplotlib-1.2.0 emerge: there are no ebuilds to satisfy "=dev-python/matplotlib-1.2.0". root@caiman:/usr/src(115)# ll /usr/portage/dev-python/matplotlib/matplotlib-1.2.0.ebuild -rw-r--r-- 1 root root 4510 Nov 29 17:01 /usr/portage/dev-python/matplotlib/matplotlib-1.2.0.ebuild root@caiman:/usr/src(116)# emerge -pqv '=dev-python/matplotlib-1.2.0' [ebuild U ] dev-python/matplotlib-1.2.0 [1.1.1] USE="cairo doc examples gtk latex qt4 tk wxwidgets -excel -fltk {-test}"
> * Building of docs with python3 currently **FAILS** > * Docs can be built effectively with python2. > * eselect python2 and recommence emerge Have you done that? 1. Do `eselect python list` and see which number is a Python 2 version. 2. Then do `eselect python set X` where X is the number you just found. 3. Try to `emerge matplotlib` again and let us know whether it is resolved.
> root@caiman:/usr/src(111)# eselect python list >Available Python interpreters: > [1] python2.7 * > [2] python3.2 Ugh, should have read the title and bug better, saw it upon a page refresh. Assigned the bug to the maintaining herd.
'USE_PYTHON="2.7" emerge -v1 matplotlib' works.
This is dealt with in the edited added line if [[ "$(python_get_version --major)" == '3' ]] && use doc; then. The setup by upstream basically lacks robust. On brief inspection it's apparent that the build has added python3 support to the main 'package' matplotlib, but in the doc folder for building the docs, well it just isn't there. Just remember that at this point in time, distuitls-r1 and its cohorts are just over the horizon, so the eclasses directing how the ebuilds build are soon up for migration to the new. Currently, the python distutils combo make for a default selection and use of 1 python2 and 1 python3 on a std emerge matplotlib, irresepective of what use flag may be set, if (as most systems would have) /etc/make.conf lists 2 python versions under PYTHON_ABIS=. eerror "eselect python2 and recommence emerge" started out as eerror "select USE_PYTHON=2.7 and recommence emerge" and mb I should have left it at that. Since only python2 builds docs, for USE=doc emerge matplotlib, 99% of users will need prepend USE_PYTHON="2.7, and all will be well. Hence * Docs can be built effectively with python2.
CANTFIX seems the closest, explained more than adequately above