<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
</head>
<body>
<p>Hi all,</p>
<p>bit of an exotic one: I'm trying to use a Python package for a
new QGIS Plugin we want to release soon, and which has a C++
extension: <a class="moz-txt-link-freetext" href="https://pypi.org/project/pyvalhalla/">https://pypi.org/project/pyvalhalla/</a>.
One of the dependencies of that library is protobuf. I've been
using it extensively over the past months, but now in QGIS it
seems to not like the fact that the python library is compiled
with manylinux_2_24 (Debian 9) which has protobuf v3.0.0. This is
the error message popping up:
</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>This
program was compiled against version 3.0.0 of the Protocol
Buffer runtime library, which is not compatible with the
installed version (3.20.1). Contact the program author for an
update. If you compiled the program yourself, make sure that
your headers are from the same version of Protocol Buffers as
your link-time library. (Version verification failed in
"/valhalla-py/upstream/build/src/valhalla/proto/api.pb.cc".)</i></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i><br/>
</i></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;"><i>
</i></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">I'm on
Arch Linux with Python 3.10, I tried QGIS 3.24.3 and 3.22.1. It's
very easy to reproduce: "pip install pyvalhalla" and in QGIS
Python console "from valhalla import Actor". Careful though, our
QGIS plugin "valhalla" will clash here, it needs to be uninstalled
first..</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br/>
</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">
</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">I checked
with Blender and its Python console: no problem running
pyvalhalla.</p>
<p>Does QGIS somehow patch/override the search paths for dynamic
libraries? I figured that's what python's auditwheel does when
building packages for PyPI: patching the RPATH of the library to
point to the /python-dir/site-packages/pyvalhalla.libs directory.
And it breaks my brain that QGIS can override that somehow..
Anyone got a clue what I'm missing?<br/>
</p>
<p>Many thanks for any tip/advice
Nils
</p>
</body></html>