Hi all,

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: 
https://pypi.org/project/pyvalhalla/. 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:

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'm on Arch Linux with Python 3.10, I tried 3.24.3, 3.22.1 and 3.20.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..

I checked with Blender and its Python console: no problem running pyvalhalla.

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.. What am I missing?

Many thanks for any tip/advice Nils
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to