aldebaran / libqi-python

qiSDK python bindings
BSD 3-Clause "New" or "Revised" License
15 stars 11 forks source link

Conflict with boost dependency compiling on Raspberry Pi #24

Closed rschuetzler closed 6 months ago

rschuetzler commented 6 months ago

I am trying to compile the library on a Raspberry Pi for Python 3.11. When I run the conan install ... command (see command and output below), I get an error of a conflict between boost/[~1.78] and boost/1.83.0 in the graph. I'm familiar with the command line, but not with cmake or conan, so perhaps this is out of my reach to get working. But I would love if somebody could help me resolve these conflicts so I could compile libqi for Python.

I've tried with both qi 4.0.1 as in the README, and 4.0.4, which is as far as I can tell the latest version.

Thanks!

Output:

(.venv) pepper@pepperpi:~/code/libqi-python $ conan install . --build=missing -s build_type=Debug -c tools.build:skip_test=true -c '&:tools.build:skip_test=false'

======== Input profiles ========
Profile host:
[settings]
arch=armv8
build_type=Debug
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=12
os=Linux
[conf]
tools.build:skip_test=true
&:tools.build:skip_test=false

Profile build:
[settings]
arch=armv8
build_type=Release
compiler=gcc
compiler.cppstd=gnu17
compiler.libcxx=libstdc++11
compiler.version=12
os=Linux

======== Computing dependency graph ========
Graph root
    conanfile.py: /home/pepper/code/libqi-python/conanfile.py
Requirements
    boost/1.83.0#21fcda49ae156b727862fea3db61e68c - Cache
    pybind11/2.12.0#1bf487c19d580200ba9b74afcc4174b4 - Cache
    qi/4.0.4#fce69aacd77bbbc0db4d2db5f5d209e0 - Cache
Build requirements
    b2/4.10.1#a41eecb267963ddf518e3c177eae60e1 - Cache
Resolved version ranges
    boost/[~1.83]: boost/1.83.0
    pybind11/[^2.11]: pybind11/2.12.0
    qi/[~4]: qi/4.0.4
ERROR: Version conflict: Conflict between boost/[~1.78] and boost/1.83.0 in the graph.
Conflict originates from qi/4.0.4

Run 'conan graph info ... --format=html > graph.html' and open 'graph.html' to inspect the conflict graphically.
nyibbang commented 6 months ago

Hello @rschuetzler,

It's an issue I've encountered a few times indeed, and I need to come up with a better solution. Which revision of libqi-python are you trying to build ? On master / qi-python-v3.1.5 at the moment, the conanfile should point to Boost 1.83.

rschuetzler commented 6 months ago

Ah, I think I found the issue. The git clone command in the example has the --branch argument that refers to a nonexistent version-specific branch. So when I cloned the code, it was somehow downloading the code but not the latest version of libqi from the master branch. Correcting that (eliminating the --branch argument) has fixed the dependency conflict.

nyibbang commented 6 months ago

I'll fix the README for the next release, thank you !