Summary: | dev-util/catalyst is erroneously using python-3.1 when building stages | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Graham Murray <gmurray> |
Component: | [OLD] Unspecified | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | armin76, catalyst, dabbott, darkside, jmbsvicetto, livecd, python, releng, xmw |
Priority: | High | ||
Version: | 10.0 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 329149 | ||
Bug Blocks: | 330765 |
Description
Graham Murray
2010-05-28 08:03:53 UTC
Hello Graham, can you please add the version if catalyst that shows this behavior? Thanks, Michael Sorry, it is dev-util/catalyst-2.0.6.907 chmod 644 /var/tmp/portage/sys-libs/cracklib-2.8.15/image//usr/lib/python3.1/site-packages/_cracklibmodule.a i686-pc-linux-gnu-ranlib /var/tmp/portage/sys-libs/cracklib-2.8.15/image//usr/lib/python3.1/site-packages/_cracklibmodule.a libtool: install: warning: remember to run `libtool --finish /usr/lib/python3.1/site-packages' test -z "/usr/lib/python3.1/site-packages" || /bin/mkdir -p "/var/tmp/portage/sys-libs/cracklib-2.8.15/image//usr/lib/python3.1/site-packages" /usr/bin/install -c -m 644 'cracklib.py' '/var/tmp/portage/sys-libs/cracklib-2.8.15/image//usr/lib/python3.1/site-packages/cracklib.py' File "<string>", line 6 print 'Byte-compiling python modules...' ^ SyntaxError: invalid syntax make[2]: *** [install-pythonPYTHON] Error 1 make[2]: Leaving directory `/var/tmp/portage/sys-libs/cracklib-2.8.15/work/cracklib-2.8.15/python' make[1]: *** [install-am] Error 2 make[1]: Leaving directory `/var/tmp/portage/sys-libs/cracklib-2.8.15/work/cracklib-2.8.15/python' make: *** [install-recursive] Error 1 * ERROR: sys-libs/cracklib-2.8.15 failed: * make install failed * * Call stack: * ebuild.sh, line 54: Called src_install * environment, line 2687: Called die * The specific snippet of code: * emake DESTDIR="${D}" install || die "make install failed"; @python: this is breaking autobuilds on stage3. I see Raúl forgot to add a note that the stages are now building fine on arches that stabled cracklib-2.8.16. Also, this is not a catalyst bug as it uses packages marked stable in the tree. The output of 'ROOT=/tmp/root USE="-*" emerge -ptv @system' suggests that sys-apps/portage-2.1.8.3[-python3] pulls =dev-lang/python-3* into dependency graph. (In reply to comment #5) > The output of 'ROOT=/tmp/root USE="-*" emerge -ptv @system' suggests that > sys-apps/portage-2.1.8.3[-python3] pulls =dev-lang/python-3* into dependency > graph. > Can't reproduce. This pulls in python-2.6 for me. (In reply to comment #6) > (In reply to comment #5) > > The output of 'ROOT=/tmp/root USE="-*" emerge -ptv @system' suggests that > > sys-apps/portage-2.1.8.3[-python3] pulls =dev-lang/python-3* into dependency > > graph. > > > > Can't reproduce. This pulls in python-2.6 for me. > After trying in a chroot created from the latest stage3, I can reproduce it. The reason that it happens lies in the way portage handels deps of the form || ( =A-1 =A-2 ). It will always prefer the atom which allows the highest version. I suggest the following workaround in sys-apps/portage ebuilds: python_dep="python3? ( =dev-lang/python-3* ) !python3? ( build? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 ) ) !build? ( || ( dev-lang/python:2.7 dev-lang/python:2.6 >=dev-lang/python-3 ) ) )" (In reply to comment #8) That's in cvs now. Portage was updated not to depend on python-3 with USE="build" so this no longer affects the stages. This isn't "really fixed" nor can it be fixed from catalyst side, so we (release team) will have to look at it if the problem arises again. @portage: can we close this bug? I think the fix from comment #8 is fine. We can adjust the dependencies again in the future, if and when we want python3 to be the default interpreter. |