Mesa broken ?

Can anyone suggest why Mesa-libs is building Python27 or suggest any other way around this ports issue?

For the past week a new 12-STABLE system (AMD64) has been unable to build/install devel/meson
because the mesa-libs port automatically builds Python27 instead of using Python36 which is already on the system as the current default version of Python.
After also building and installing llvm80 with this stupid Python27 it gets to devel/meson to announce:
"meson-0.51.0 needs Python 3.5 at least, but 2.7 was specified"

As a result all the depending ports fail (e.g. libdrm, mesa-libs, cairo, gobject-intropection, gtk-update-icon-cache, xfce4-wm, xfce4)
 
Appears to be another example of Bug 233723 "PYTHON_VERSION poisoning during chained build of dependencies"
which has been open for seven (?!?) months.
- Question 1: should graphics/mesa-dri/Makefile-common line 48 still include "python:2.7,build" ??
- Question 2: does anyone understand the Python versioning logic used in devel/py-Jinja2/Makefile ??
 
1) yes.
2) yes. It's to support different "flavors". So the same port can be used to build Python 2.7 and 3.6 versions of the Python module.
 
Any insight on why it doesnt work? I have a fresh install of 11.3 and I can't get past this because mesa can't find python 3.6
 
Same problem: Tried to install emacs from a fresh port (downloaded yesterday). I am new at this. Any help/hint to get around this?
 
MESA won't install on 11.3. I have just upgraded from 11.2. The problem was a variable in pango. Another build problem was with clamav. Curl was acting up then. The fix for these build problems was to update ports, base, etc using portsnap fetch update, freebsd-update fetch install and the likes. You are likely faced with a dependency or dependencies problem - old/incompatible shared lib, etc.
 
A lot of us use automated tools to build our own packages. Especially if you have to maintain more than one machine.
 
Im talking about having to know (how to) specify the flavor in order for it to build. If you can specify that a port requires python 3.5+, there should also be a way for it to find it if it's installed on the system.

I shouldnt have to specify the flavor on a command line to make it not fail to build.
 
Im talking about having to know (how to) specify the flavor in order for it to build. If you can specify that a port requires python 3.5+, there should also be a way for it to find it if it's installed on the system.
Have a look at /usr/ports/Mk/bsd.default-versions.mk and /usr/ports/Mk/Uses/python.mk. While our documentation is quite good it usually lags somewhat behind the actual implementation. Reading the source can be quite enlightening.
 
So far from my side, py27 as default python went to the grave with FreeBSD11.2. It was a gradual migration. I had py36 set as default in my make.conf and subsequent builds were all successful for a long time. Hence, I switched to py36 on all other machines. It does not mean that py27 modules don't get installed at some point. No! They do if they are dependencies for some other pkgs.
 
Ports can request a python and they can request specific versions. The default changed so all ports that request any version will change. Ports that request a specific version don't.

Lots of ports specifically request Python 2.7 as a build dependency. Build dependencies are only required to, well, build the port.

Ports have three types of dependencies; build, run and library. Packages only have two; run and library.
 
I just thanked you. That was informational. I am also correct that there are some rudiments pf Py27. I need run 'pkg autoremove' at some point to weed them out. I knew that long ago.
 
After many trials and tribulations, I got the meson port to build with:

make PYTHON_VERSION=python3.6 install

The correct way would be make FLAVOR=py36 install.

No Dice Barney is correct
on 12.1
make FLAVOR=py37 install returned
/usr/ports/devel/meson # make FLAVOR=py37 install ===> meson-0.52.1 FLAVOR is defined (to py37) while this port does not have FLAVORS.. *** Error code 1

while
/usr/ports/devel/meson # make PYTHON_VERSION=python3.7 install

built the port
 
Back
Top