# py38-Babel-2.9.0 conflicts with py37-Babel-2.9.0



## nedry (Apr 28, 2021)

Hi during compiling x11/xorg I get the following error:

```
Script started on Wed Apr 28 15:49:34 2021
root@bsdcompile:/usr/ports/x11/xorg # make install clean

===>  Staging for xorg-7.7_3
===>   xorg-7.7_3 depends on file: /usr/local/libdata/pkgconfig/dri.pc - not found
===>   mesa-dri-20.2.3_1 depends on package: wayland-protocols>=1.8 - found
===>   mesa-dri-20.2.3_1 depends on file: /usr/local/libdata/pkgconfig/pthread-stubs.pc - found
===>   mesa-dri-20.2.3_1 depends on package: py38-mako>0 - not found
===>   py38-mako-1.0.14_1 depends on package: py38-beaker>=1.1 - found
===>   py38-mako-1.0.14_1 depends on package: py38-markupsafe>=0.9.2 - found
===>   py38-mako-1.0.14_1 depends on package: py38-Babel>0 - not found
===>  Installing for py38-Babel-2.9.0
===>  Checking if py38-Babel is already installed
===>   Registering installation for py38-Babel-2.9.0 as automatic
Installing py38-Babel-2.9.0...
pkg-static: py38-Babel-2.9.0 conflicts with py37-Babel-2.9.0 (installs files into the same place).  Problematic file: /usr/local/bin/pybabel
*** Error code 1

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

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

Stop.
make[4]: stopped in /usr/ports/textproc/py-mako
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/graphics/mesa-dri
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/graphics/mesa-dri
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/x11/xorg
*** Error code 1

Stop.
make: stopped in /usr/ports/x11/xorg
root@bsdcompile:/usr/ports/x11/xorg # exit

exit

Script done on Wed Apr 28 15:49:42 2021
```

which port of Babel-2.9.0 should I use? I have other ports installed but don't know if they use Babel-2.9.0.
thanks


----------



## SirDice (Apr 28, 2021)

Default python version changed from 3.7 to 3.8:

```
20210425:
  AFFECTS: users of python
  AUTHOR: kai@FreeBSD.org

  The default version of python3 and python was switched to 3.8.

  For ports users wanting to keep version 3.7 as default,
  add DEFAULT_VERSIONS+= python=3.7 python3=3.7 to make.conf

  Following procedures may ease the upgrade:

  For users of pre-build packages:
  # sh
  # for i in $(pkg query -g %n 'py37-*'); do pkg set -yn ${i}:py38-${i#py37-}; done
  # pkg upgrade

  For portmaster users:
  # sh
  # portmaster -o lang/python38 python37
  # REINSTALL="$(pkg info -o py37-\* | awk '{printf "%s ", $2}')"
  # pkg delete -f py37-\*
  # portmaster $REINSTALL
  # REBUILD=$(pkg query -g "%n:%dn" '*' | grep py3 | grep -v py38 | cut -d : -f 1 | sort -u)
  # portmaster $REBUILD
  # REBUILD2=$(pkg list | grep python-37 | xargs pkg which | awk '{print $6}' | sort -u)
  # portmaster $REBUILD2
```


----------



## zirias@ (Apr 28, 2021)

If you only installed python packages as dependencies, `pkg upgrade; pkg autoremove` gets the job done pretty fine.

For building your own ports, this is another situation where using a tool like ports-mgmt/poudriere is a great advantage, a simple `poudriere bulk …` automates everything needed to upgrade your repository


----------



## msplsh (Apr 28, 2021)

Since this is like the third thread on this, I would say that putting this in the UPDATING file is honestly kind of annoying.  Personally, I think ports and pkg should put up  , less the messages in the file, and "Press any key to continue" whenever that file gets updated.


----------

