Using i386, FreeBSD 10.2-RELEASE. While building port for Abiword and Gnumeric, python3 needs to be installed. Python3 builds OK. The python3 install fails with: ===> Registering installation of python3-3_3 Installing python3-3_3... pkg-static: python3-3_3 conflicts with python2-2_3 (installs files into the same place). Problematic file: /usr/local/bin/2to3-2 *** Error code 70 Checking /usr/local/bin/2to3 etc. shows 2 symbolic links and 2 files, temporally renaming them doesn't help and the install still fails. This was found initially by building gnumeric-1.12.23, it also shows up while trying to build abiword-3.0.1. The ports are up to date as of Sept 7/15. Digging into the python failure, python3 compiles fine, installing the python3 metaport generates the above error. pkg info | grep python shows: python-2.7_2,2 The "meta-port" for the default version of Python interpreter python2-2_3 The "meta-port" for version 2 of the Python interpreter python27-2.7.10 Interpreted object-oriented programming language python34-3.4.3_1 Interpreted object-oriented programming language
Hi Dennis, When I run make makeplist for lang/python2, I get: bin/2to3-2 bin/idle2 bin/pydoc2 bin/python2 bin/python2-config libdata/pkgconfig/python2.pc When I run make makeplist for lang/python3, I get: bin/2to3-3 bin/idle3 bin/pydoc3 bin/python3 bin/python3-config libdata/pkgconfig/python3.pc We'll need it identify/isolate why your system believes lang/python3 installs a 2to3-2 file, when only lang/python2 does/should. Can you include your /etc/make.conf file as an attachment please, feel free to sanitize it if necessary.
Hi Kubilay. python2 make makeplist: /you/have/to/check/what/makeplist/gives/you bin/2to3-2 bin/idle2 bin/pydoc2 bin/python2 bin/python2-config libdata/pkgconfig/python2.pc python3 make makeplist: /you/have/to/check/what/makeplist/gives/you bin/2to3-2 bin/idle2 bin/pydoc2 bin/python2 bin/python2-config libdata/pkgconfig/python2.pc I get the same result for both python2 as for python3, I checked it twice since it seems odd. I don't have an /etc/make.conf, so that implies a default make environment. Dennis.
(In reply to Kubilay Kocak from comment #1) I think I didn't reply correctly. Sorry! Hi Kubilay. python2 make makeplist: /you/have/to/check/what/makeplist/gives/you bin/2to3-2 bin/idle2 bin/pydoc2 bin/python2 bin/python2-config libdata/pkgconfig/python2.pc python3 make makeplist: /you/have/to/check/what/makeplist/gives/you bin/2to3-2 bin/idle2 bin/pydoc2 bin/python2 bin/python2-config libdata/pkgconfig/python2.pc I get the same result for both python2 as for python3, I checked it twice since it seems odd. I don't have an /etc/make.conf, so that implies a default make environment. Dennis.
I just wanted to report that I am also affected by this bug. I'm using 10.1-RELEASE which was freshly installed just 3 or 4 days ago. My make.conf only sets the CPU type and the most basic CFLAGS. So this is a very vanilla setup at the moment.
(In reply to Patrick from comment #4) @Patrick, can you provide your full uname -a output please. At the moment this isue is set to i386 only
Another user (Heather) reported this issue via IRC, while attempting to install: emulators/virtualbox-ose This port BUILD_DEPENDS on: python2.7: lang/python27, and xorg-server.pc: x11-servers/xorg-server, which LIB_DEPENDS depends on: libepoxy.so: graphics/libepoxy which currently has BUILD_DEPENDS on python3.4: lang/python34 python3: lang/python3 This issue is observable and extends to any port that depends on python 2.x and xorg-server, and likely other cases where two versions are depended on in the dependency heirarchy. This causes the installation error, due to lang/python2 and lang/python3 apparently conflicting with the error detailed in this issues summary. In this case the PYTHON_MAJOR_VER variable (which should have the value of 3), has instead the value "2", which results in the apparently conflict. Looking at libepoxy upstream, I see the following in configure: https://github.com/anholt/libepoxy/blob/master/configure.ac#L43 I don't know yet whether python 3.x is a *requirement*, but it doesn't appear that way. Temporary (non-root-cause) improvements may include some combination of: - Allowing libepoxy to use any python version (if its compatible with any version) - Not depending on the python3 meta-port, if its not necessary - Explicitly patching or telling libepoxy to use a specific python version (--with-python=foo or similar) For the other people who have reported (or will add their reports to) this issue, it would be really good to know which port was being installed that resulted in this problem. For dennis this is "Abiword and Gnumeric" as per comment 0
"Technically" the root cause is that PYTHON_MAJOR_VER variable (among other variables) are being clobbered or not passed down the dependency hierarchy, which is very similar (if not the same) as related issues reported for poudriere: https://github.com/freebsd/poudriere/issues/259 https://github.com/freebsd/poudriere/issues/313 I will also note that additional or complementary poudriere support/fixing aside, this needs to be fixed in the framework
Created attachment 163468 [details] libepoxy update which has the python correction. This patch updates libepoxy to the latest (I had it lying around) and changes the implicit python3 version to just python. Can the people that are affected by this problem test this update? Thanks.
(In reply to Koop Mast from comment #8) Can you pop attachment 163468 [details] in a separate blocking issue please, as this issue is a 'meta' one affecting multiple ports/use-cases
I'm experiencing the same issue with a new install of FreeBSD 11 (amd64). This is preventing me from building XFCE via ports. (I did a portsnap update yesterday so I should have the latest stuff.)
One thing I'm struggling to understand: why does the Makefile for lang/python3 even use this PYTHON_MAJOR_VER variable at all? The name of the port is python***3***, so how could the major version of Python be anything but 3?
This bug seemed to have cleared up for a while. Doing a build of VirtualBox-ose on May 30 2016 on FreeBSD 10.3 worked fine with the current ports of that date. Today (Nov 13 2016) with FreeBSD 10.3 and the current ports, VirtualBox-ose failed with this same problem again. Gnumeric built OK. pkg info | grep python on today's build attempt shows: python-2.7_2,2 The "meta-port" for the default version of Python interpreter python2-2_3 The "meta-port" for version 2 of the Python interpreter python27-2.7.12 Interpreted object-oriented programming language python35-3.5.2 Interpreted object-oriented programming language
@Dennis If you intall lang/python3 first, does it install? If so, if you then install virtualbox-ose, does that install?
Update summary to reflect reports of (gnome) ports affected (vbox, xfce, abiword, gnumeric) Note #1: abiword and gnumeric are related to gnome by MAINTAINER and USES. Note #2: xfce (metaport) USES gnome via x11-wm/xfce4-wm DEPENDS. Note #3: virtualbox-ose USES gnome While I'm here, CC gnome, xfce, vbox teams (and/or lists).
Created attachment 177225 [details] error log of XFCE4 build > [Bug 202982] port install of python3-3_3 conflicts with python2-2_3 I am also experiencing the same issue with a new install of FreeBSD 11 (i386). error message: > python3-2_3 conflicts with python2-2_3 > (installs files into the same place). > Problematic file: /usr/local/bin/2to3-2 > *** Error code 70 This is preventing me from building XFCE4 via ports. Ports tree is up to date, and XORG / NVIDIA driver already built correctly. Attached is the zipped XFCE4 build log with list of installed port versions.
Bug 202982 - Installation of gnome related ports (xfce, vbox, abiword, gnumeric) cause CONFLICT: install of python3-3_3 conflicts with python2-2_3 To clarify: webkit2-gtk3-2.8.5_7 depends on file: /usr/local/bin/python2.7 - found webkit2-gtk3-2.8.5_7 depends on executable: python2 - found iso-codes-3.69 depends on file: /usr/local/bin/python3.5 - found iso-codes-3.69 depends on executable: python3 - not found As of 2015-01-11 the default lang/python3 is lang/python34! So, my attempt to install XFCE4 is trying to pull in 3 versions of python which the make files are not handling correctly. I will try adding DEFAULT_VERSIONS+= python3=3.5 in my /etc/make.conf. relevant build log: --- /!\ WARNING /!\ needs Python 3.5 at least. But a port depending on this one specified 2.7 ===> License LGPL21 accepted by the user ===> iso-codes-3.69 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by iso-codes-3.69 for building ===> Extracting for iso-codes-3.69 => SHA256 Checksum OK for iso-codes-3.69.tar.xz. ===> Patching for iso-codes-3.69 ===> iso-codes-3.69 depends on executable: msgfmt - found ===> iso-codes-3.69 depends on executable: gmake - found ===> iso-codes-3.69 depends on file: /usr/local/bin/python3.5 - found ===> iso-codes-3.69 depends on executable: python3 - not found ===> python3-2_3 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by python3-2_3 for building ===> Extracting for python3-2_3 ===> Patching for python3-2_3 ===> Configuring for python3-2_3 ===> Staging for python3-2_3 ===> python3-2_3 depends on file: /usr/local/bin/python2.7 - found ===> python3-2_3 depends on file: /usr/local/bin/python2.7 - found ===> Generating temporary packing list /bin/ln -sf python2.7 /tmp/usr/ports/lang/python3/work/stage/usr/local/bin/python2 /bin/ln -sf 2to3-2.7 /tmp/usr/ports/lang/python3/work/stage/usr/local/bin/2to3-2 /bin/ln -sf idle2.7 /tmp/usr/ports/lang/python3/work/stage/usr/local/bin/idle2 /bin/ln -sf pydoc2.7 /tmp/usr/ports/lang/python3/work/stage/usr/local/bin/pydoc2 /bin/ln -sf python2.7-config /tmp/usr/ports/lang/python3/work/stage/usr/local/bin/python2-config /bin/ln -sf python-2.7.pc /tmp/usr/ports/lang/python3/work/stage/usr/local/libdata/pkgconfig/python2.pc ====> Compressing man pages (compress-man) ===> Installing for python3-2_3 ===> Checking if python3 already installed ===> Registering installation for python3-2_3 as automatic Installing python3-2_3... pkg-static: python3-2_3 conflicts with python2-2_3 (installs files into the same place). Problematic file: /usr/local/bin/2to3-2 *** Error code 70 Stop. make[14]: stopped in /usr/ports/lang/python3 *** Error code 1 --- porversion -v | grep "py" py27-enum34-1.1.6 = up-to-date with port py27-libxml2-2.9.4 = up-to-date with port py27-setuptools27-28.1.0 = up-to-date with port python-2.7_2,2 = up-to-date with port python2-2_3 = up-to-date with port python27-2.7.12 = up-to-date with port python35-3.5.2 = up-to-date with port
(In reply to robert.burmeister from comment #16) Adding DEFAULT_VERSIONS+= python3=3.5 in my /etc/make.conf did not work, python3 still did not register as installed; removed make.conf entry. Apparently http://www.freshports.org/lang/python3/ is out of date. Manually running /usr/ports/lang/python3 make install clean installed python35-3.5.2 and registered python3-3_3 Reran xfce4 build and it completed.
Using amd64, FreeBSD 11.0-RELEASE-p1. With a fresh install and a portsnap fetch update, I get the error (pkg-static: python3-3_3 conflicts with python2-2_3 (installs files into the same place). Problematic file: /usr/local/bin/2to3-2). Setting DEFAULT_VERSIONS+= python3=3.5 does not help. Also failes registering python3-3_3 with: cd /usr/ports/lang/python3 && make install clean python3 make makeplist includes "bin/2to3-2" I was trying to build xfce from ports, but even installing lang/python3 now fails as stated above.
...and then it worked with: portmaster -iv lang/python3 No idea what changed.
Same issue here: pkg-static: python3-3_3 conflicts with python2-2_3 (installs files into the same place). Problematic file: /usr/local/bin/2to3-2 Informations: - FreeBSD 11.0 x64 - ports collection updated this day - issue appear when I try to compile xfce4 (In reply to Jon Chappelow from comment #19) I tried portmaster -iv lang/python3 and two tasks was completed: - upgrade pkg from 9 to 10 - install python3
I don't think this is still relevant. Can I close?