pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Weird CMake problem


For a while I've been having problem building graphics/breeze-icons -
the resulting list did not include any of the artifacts with size 24;
for a quick fix, I locally edited the PLIST to exclude them and
carried on (and then choosing a different icon set under kde, as this
one had a lot of missing ones). Today I decided to have a look and
found that the CMakeLists.txt file includes a segment looking for a
suitable python3 executable and whether this one has a functional lxml
module; if this is not found, the generation of size 24 icons is
skipped. As it happens, I have python 2.7, 3.7, 3.8 and 3.9 installed,
with PYTHON_VERSION_DEFAULT in /etc/mk.conf set to 37, so I have

 $ pkg_info | grep py37 | wc -l
$ pkg_info | grep py38 | wc -l
$ pkg_info | grep py39 | wc -l
$ pkg_info | grep py27 | wc -l

python's lxml module was installed for 2.7, 3,7 and 3.8, but not for
3.9 (I've installed the last two versions only to test, while I can
imagine the 2.7 version to have been installed in the past when this
was widely used, I don't recall ever installing it for 3.8).

So the problem with CMake was that the python3  version it finds is
the latest - 3.9.4 as it happens, which doesn't have the lxml module
installed. My quick fix was to install py-lxml with
PYTHON_VERSION_REQD=39, but surely it would have been proper if CMake
were to find what is PYTHON_VERSION_DEFAULT?

I appreciate the difficulty of having multiple language versions with
pkgsrc, posting this just as an interesting side effect. One of these
days I will rebuild everything with the latest language versions -
python. perl, php, lua, perhaps others? (but then, can one be sure
that all needed, say, py3? packages, have been ported to the latest



Home | Main Index | Thread Index | Old Index