Solved py311-wheel-0.45.1 conflicts with py311-wheel044-0.44.0 (installs files into the same place). Problematic file: /usr/local/bin/wheel-3.11

Hello.
My system FreeBSD 14.2-RELEASE-p2 amd64
/etc/make.conf
Code:
CPUTYPE?=nocona
MAKE_JOBS_NUMBER=6

NO_GAMES=true
NO_INET6=true
NO_BLUETOOTH=true
NO_SHAREDOCS=true
OPTIONS_UNSET=DOCS X11 IPV6 BLUETOOTH GAMES SMB CUPS VULKAN FFMPEG GITWEB EXAMPLES

How to fix?

Code:
pkg-static: py311-wheel-0.45.1 conflicts with py311-wheel044-0.44.0 (installs files into the same place).  Problematic file: /usr/local/bin/wheel-3.11

Code:
# pkg version -v | egrep 'wheel'
py311-wheel044-0.44.0              =   up-to-date with index

Code:
# pkg version -v | egrep 'py'
py311-build-1.2.2_2                =   up-to-date with index
py311-flit-core-3.11.0             =   up-to-date with index
py311-installer-0.7.0              =   up-to-date with index
py311-packaging-24.2               =   up-to-date with index
py311-pyproject-hooks-1.2.0        =   up-to-date with index
py311-setuptools-63.1.0_3          =   up-to-date with index
py311-wheel044-0.44.0              =   up-to-date with index
python311-3.11.11                  =   up-to-date with index


Code:
=> SHA256 Checksum OK for wheel-0.45.1.tar.gz.
===>  Patching for py311-wheel-0.45.1
===>   py311-wheel-0.45.1 depends on package: py311-flit-core>=3.8 - found
===>   py311-wheel-0.45.1 depends on file: /usr/local/bin/python3.11 - found
===>   py311-wheel-0.45.1 depends on package: py311-build>=0 - found
===>   py311-wheel-0.45.1 depends on package: py311-installer>=0 - found
===>  Configuring for py311-wheel-0.45.1
===>  Building for py311-wheel-0.45.1
* Getting build dependencies for wheel...
* Building wheel...
Successfully built wheel-0.45.1-py3-none-any.whl
===>  Staging for py311-wheel-0.45.1
===>   py311-wheel-0.45.1 depends on file: /usr/local/bin/python3.11 - found
===>   Generating temporary packing list
===> Creating unique files: Move MAN files needing SUFFIX
===> Creating unique files: Move files needing SUFFIX
Move: bin/wheel --> bin/wheel-3.11
Link: @bin/wheel --> bin/wheel-3.11
====> Compressing man pages (compress-man)
===>  Installing for py311-wheel-0.45.1
===>  Checking if py311-wheel is already installed
===>   Registering installation for py311-wheel-0.45.1 as automatic
[sites25] Installing py311-wheel-0.45.1...
pkg-static: py311-wheel-0.45.1 conflicts with py311-wheel044-0.44.0 (installs files into the same place).  Problematic file: /usr/local/bin/wheel-3.11
*** Error code 1

Stop.
make[8]: stopped in /usr/ports/devel/py-wheel
*** Error code 1

Stop.
make[7]: stopped in /usr/ports/devel/meson
*** Error code 1

Stop.
make[6]: stopped in /usr/ports/devel/jsoncpp
*** Error code 1

Stop.
make[5]: stopped in /usr/ports/devel/cmake-core
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/devel/cmake-core
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/devel/re2c
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/devel/re2c
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/php82
*** Error code 1

Stop.
 
I have this issue too and portmaster does not handle it. Remove the old package and restart updating.
portmaster handle in the right way updating of glib20 and gobject-introspection
 
The problem is some python ports require py311-wheel044-0.44.0 and some require py311-wheel-0.45.1 and, of course, those two ports conflict. So what I do is delete whichever is currently installed before compiling any updated python package and each package then compiles successfully as it installs the wheel it requires.
 
It is solved by installing py311-wheel-0.45.1 from pkg (latest repository) or using a collection of ports to install this package.
Hello.
My system FreeBSD 14.2-RELEASE-p2 amd64
/etc/make.conf
Code:
CPUTYPE?=nocona
MAKE_JOBS_NUMBER=6

NO_GAMES=true
NO_INET6=true
NO_BLUETOOTH=true
NO_SHAREDOCS=true
OPTIONS_UNSET=DOCS X11 IPV6 BLUETOOTH GAMES SMB CUPS VULKAN FFMPEG GITWEB EXAMPLES

How to fix?

Code:
pkg-static: py311-wheel-0.45.1 conflicts with py311-wheel044-0.44.0 (installs files into the same place).  Problematic file: /usr/local/bin/wheel-3.11

Code:
# pkg version -v | egrep 'wheel'
py311-wheel044-0.44.0              =   up-to-date with index

Code:
# pkg version -v | egrep 'py'
py311-build-1.2.2_2                =   up-to-date with index
py311-flit-core-3.11.0             =   up-to-date with index
py311-installer-0.7.0              =   up-to-date with index
py311-packaging-24.2               =   up-to-date with index
py311-pyproject-hooks-1.2.0        =   up-to-date with index
py311-setuptools-63.1.0_3          =   up-to-date with index
py311-wheel044-0.44.0              =   up-to-date with index
python311-3.11.11                  =   up-to-date with index


Code:
=> SHA256 Checksum OK for wheel-0.45.1.tar.gz.
===>  Patching for py311-wheel-0.45.1
===>   py311-wheel-0.45.1 depends on package: py311-flit-core>=3.8 - found
===>   py311-wheel-0.45.1 depends on file: /usr/local/bin/python3.11 - found
===>   py311-wheel-0.45.1 depends on package: py311-build>=0 - found
===>   py311-wheel-0.45.1 depends on package: py311-installer>=0 - found
===>  Configuring for py311-wheel-0.45.1
===>  Building for py311-wheel-0.45.1
* Getting build dependencies for wheel...
* Building wheel...
Successfully built wheel-0.45.1-py3-none-any.whl
===>  Staging for py311-wheel-0.45.1
===>   py311-wheel-0.45.1 depends on file: /usr/local/bin/python3.11 - found
===>   Generating temporary packing list
===> Creating unique files: Move MAN files needing SUFFIX
===> Creating unique files: Move files needing SUFFIX
Move: bin/wheel --> bin/wheel-3.11
Link: @bin/wheel --> bin/wheel-3.11
====> Compressing man pages (compress-man)
===>  Installing for py311-wheel-0.45.1
===>  Checking if py311-wheel is already installed
===>   Registering installation for py311-wheel-0.45.1 as automatic
[sites25] Installing py311-wheel-0.45.1...
pkg-static: py311-wheel-0.45.1 conflicts with py311-wheel044-0.44.0 (installs files into the same place).  Problematic file: /usr/local/bin/wheel-3.11
*** Error code 1

Stop.
make[8]: stopped in /usr/ports/devel/py-wheel
*** Error code 1

Stop.
make[7]: stopped in /usr/ports/devel/meson
*** Error code 1

Stop.
make[6]: stopped in /usr/ports/devel/jsoncpp
*** Error code 1

Stop.
make[5]: stopped in /usr/ports/devel/cmake-core
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/devel/cmake-core
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/devel/re2c
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/devel/re2c
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/lang/php82
*** Error code 1

Stop.
It is solved by installing py311-wheel-0.45.1 from pkg (latest repository) or using a collection of ports to install this package.
 
I seem to be stuck in the same dependency hell. First time I am upgrading a system where I have been fully using ports.

After freebsd-update I am trying to run: portmaster -afdy

Code:
===>>> Launching child to install devel/py-wheel044@py311

===>>> All >> yelp-xsl-42.0_1 >> itstool-2.0.7_1 >> py311-libxml2-2.11.9_1 >> cmake-core-3.31.6 >> jsoncpp-1.9.6_1 >> meson-1.7.0 >> py311-setuptools-63.1.0_3 >> devel/py-wheel044@py311 (51/51)

===>>> Port directory: /basejail/usr/ports/devel/py-wheel044@py311
  
===>>> Launching 'make checksum' for devel/py-wheel044@py311 in background
===>>> Gathering dependency list for devel/py-wheel044@py311 from ports
===>>> Initial dependency check complete for devel/py-wheel044@py311

===>>> Continuing initial dependency check for devel/py-setuptools@py311
===>>> Initial dependency check complete for devel/py-setuptools@py311

===>>> Continuing initial dependency check for devel/meson@py311
===>>> Launching child to install devel/py-wheel@py311

===>>> All >> yelp-xsl-42.0_1 >> itstool-2.0.7_1 >> py311-libxml2-2.11.9_1 >> cmake-core-3.31.6 >>jsoncpp-1.9.6_1 >> meson-1.7.0 >> devel/py-wheel@py311 (52/52)

===>>> Port directory: /basejail/usr/ports/devel/py-wheel@py311

===>>> Launching 'make checksum' for devel/py-wheel@py311 in background
===>>> Gathering dependency list for devel/py-wheel@py311 from ports
===>>> Initial dependency check complete for devel/py-wheel@py311

So seem like a few ports wants to use one version of py-wheel and then a few different ones wants to use a different version.

I have tried to uninstall one version, and keeping the other in different iterations with both versions -- but no matter what I do it just keeps dragging both versions back. I have the latest ports tree from this morning. What else can I do to solve it?
 
I have seen this problem when building OpenSSL 3.3 or greater from ports. When using the compression options (brotli, zlib, etc), there is a dependency on devel/meson which in turn has a dependency on devel/py-setuptools. The latter requires py-wheel044 while former requires py-wheel-0.45.1. This circular conflict seems to be the issue from what I am seeing. Its a conflict that arises whenever meson is required in ports as I have seen it on numerous port builds that require meson.
 
I do not know if it will works, but the command
Code:
portmaster -o devel/py-wheel devel/py-wheel044
should replace the new with the old one and all the old dependencies. I used it a few times in the past and it has always worked, but I cannot guarantee that it will work in your case.
 
The port devel/py-setuptool still need devel/py-wheel044 but only as a build dependency
Code:
devel
    py-setuptools
        Version                 : 63.1.0_3
        Installed on            : 2025.04.08 11:49
        Architecture            : FreeBSD:14.2:amd64
        Prefix                  : /usr/local
        Categories              : devel python
        Licenses                : MIT
        Maintainer              : python@FreeBSD.org
        Website                 : https://github.com/pypa/setuptools  https://pypi.org/project/setuptools/
        Comment                 : Python packages installer
        Automatic               : true
        Locked                  : false
        Flavors
            py311
            py312
            py310
            py39
        Options
            --
        Build dependencies
            devel/py-build
            devel/py-installer
            devel/py-wheel044
            lang/python311
            ports-mgmt/pkg
        Run dependencies
            lang/python311
        Shared libs required
            --
        Description
            Setuptools is a fully-featured, actively-maintained, and stable library
            designed to facilitate packaging Python projects, where packaging includes:
             - Python package and module definitions
             - Distribution package metadata
             - Test hooks
             - Project installation
             - Platform-specific details
             - Python 3 support
        Package message
            py311-setuptools-63.1.0_3:
So you should first build/upgrade devel/py-setuptools, after that delete devel/py-wheel044 with the command
Code:
pkg delete -f devel/py-wheel044
then install/upgrade as usual without -f flag, otherwise devel/py-setuptools will be rebuilt (devel/py-wheel044 too) and you will continue to have the same problem.
However devel/py-setuptools I read somewhere that it will be removed (soon? who knows), it become EOL.
 
I have similar problem:
I have py311-wheel-0.45.1 already installed. But I cannot recompile py311-setuptools-63.1.0_3, because it wants py311-wheel044-0.44.0 .

Code:
===>   py311-setuptools-63.1.0_3 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py311-setuptools-63.1.0_3 for building
===>  Extracting for py311-setuptools-63.1.0_3
=> SHA256 Checksum OK for python/setuptools-63.1.0.tar.gz.
===>  Patching for py311-setuptools-63.1.0_3
===>   py311-setuptools-63.1.0_3 depends on package: py311-wheel044<0.46.0 - not found
/!\ WARNING /!\

You have security/openssl installed but do not have
DEFAULT_VERSIONS+=ssl=openssl set in your make.conf

===>   py311-wheel044-0.44.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by py311-wheel044-0.44.0 for building
===>  Extracting for py311-wheel044-0.44.0
=> SHA256 Checksum OK for wheel-0.44.0.tar.gz.
===>  Patching for py311-wheel044-0.44.0
===>  Applying FreeBSD patches for py311-wheel044-0.44.0 from /usr/ports/devel/py-wheel044/files
===>   py311-wheel044-0.44.0 depends on package: py311-flit-core>=3.8 - found
===>   py311-wheel044-0.44.0 depends on file: /usr/local/bin/python3.11 - found
===>   py311-wheel044-0.44.0 depends on package: py311-build>=0 - found
===>   py311-wheel044-0.44.0 depends on package: py311-installer>=0 - found
===>  Configuring for py311-wheel044-0.44.0
===>  Building for py311-wheel044-0.44.0
* Getting build dependencies for wheel...
* Building wheel...
Successfully built wheel-0.44.0-py3-none-any.whl
===>  Staging for py311-wheel044-0.44.0
===>   py311-wheel044-0.44.0 depends on file: /usr/local/bin/python3.11 - found
===>   Generating temporary packing list
===> Creating unique files: Move MAN files needing SUFFIX
===> Creating unique files: Move files needing SUFFIX
Move: bin/wheel --> bin/wheel-3.11
Link: @bin/wheel --> bin/wheel-3.11
====> Compressing man pages (compress-man)
===>  Installing for py311-wheel044-0.44.0

===>  py311-wheel044-0.44.0 conflicts with installed package(s):
      py311-wheel-0.45.1

      They install files into the same place.
      You may want to stop build with Ctrl + C.
===>  Checking if py311-wheel044 is already installed
===>   Registering installation for py311-wheel044-0.44.0 as automatic
Installing py311-wheel044-0.44.0...
pkg-static: py311-wheel044-0.44.0 conflicts with py311-wheel-0.45.1 (installs files into the same place).  Problematic file: /usr/local/bin/wheel-3.11
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/devel/py-wheel044
*** Error code 1

Code:
# portversion -v | grep -i wheel
[Reading data from pkg(8) ... - 613 packages found - done]
py311-wheel-0.45.1          =  up-to-date with port

Recompiling /usr/ports/devel/py-wheel did not help.
 
I don't get this part:

"py311-setuptools-63.1.0_3 depends on package: py311-wheel044<0.46.0 - not found"

But py311-wheel-0.45.1 is installed. 0.45 is smaller than 0.46. Some math problem?
 
I finally understood what freethread meant:

In my case I had to:
1. pkg_deinstall py311-wheel-0.45.1
2. install py-wheel044
3. upgrade py311-setuptools to new version
4. pkg_deinstall py311-wheel044-0.44.0
5. reinstall py311-wheel-0.45.1

Quite a hassle...
 
Yes, I come late, but yes, this.
I do not know how many ports depends on devel/py-wheel044, however if all that port only depends for building them, and devel/py-wheel is installed, then:
  • remove devel/py-wheel
  • upgrade all ports that depends on devel/py-wheel044 (one by one, not by portmaster -a, use instead portmaster category/port category/port ..., it will build each port specified and the necessary dependencies if needed
  • remove devel/py-wheel044
  • upgrade all other ports (with portmaster -a)
In regard of using the flag -f, it is necessary only in certain circumstances, when you want to rebuild one or more ports and all theirs dependencies (build and run dependencies), using that flag, in your case, will rebuild both (py-wheel and py-wheel044) and you will back to the start problem.

In /usr/local/etc there is the portmaster configuration file portmaster.rc, if not exists, in the same directory copy the file portmaster.rc.sample in portmaster.rc. In it you can specify some flags to avoid to insert them on command line (like the flag -y).

I hope my english is not so bad
 
Back
Top