-
Notifications
You must be signed in to change notification settings - Fork 14
Error importing pbcvt: undefined symbol: PyCMethod_New #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@Rajiv91 I speculate that the bug may be due to the higher version of your boost software. Therefore, I'm providing you with a boost version that I have used: boost_1.74.0. In addition, the information about my conda environment build is as follows: Python 3.9.16 |
Hi @Xavier-Lin thanks for the info, i already installed the versions of the packages you suggested me but now i have a different error during the cmake configuration:
Although it seems that the build of boost was successful and i didn't see any error. it seems it can't find the boost python component in my machine, do you think that something went wrong during the boost 1.74.0 compilation?
without errors |
I finally managed to fix these errors, basically i had to do 2 things, I put them below hoping that it will help someone else who runs with the same error:
Now i'm able to load the pbcvt.cpython-39-x86_64-linux-gnu.so successfully. But before to close the issue, I wanted to see if you could help me with a question please.
I know you said that we need to change the path of that file in the readme: |
@Rajiv91 |
Amazing, thanks for your support @Xavier-Lin |
Hey, i'm using a Ubuntu 22.04.3
I'm trying to run the repo with a conda env with python3.8.17, i already installed all the dependencies as described in the instructions, including detectron2, compile opencv (4.6), boost (latest v1.83) and pyboostcvconverter (replacing the opencv stuff and adding the cmake flags as suggested so it's generating the pbcvt.cpython-38-x86_64-linux-gnu.so successfully), everything looks good so far, but when i try to run the test example:
$ CUDA_VISIBLE_DEVICES=0 python track.py --num-gpus 1 --config-file mot17_track_cfg.py
I have the next runtime error importing pbcv inside sparse_tracker.py file:
I guess that libboost_python310.so.1.74.0 library is a result of the boost build that's why it's looking for in my system and not my conda env and with python3.10 and not 3.8 so should i use an older boost version where that PyCMethod_New symbol is available?
Also do i need to use a especific boost version along with a specific python version for the boost compilation? if so, how can i do this with my python environment instead of the one of my linux system, making that the pbcv loads the PyCMethod_New from the conda env path instead of my system? maybe with the cmake flags?
Thanks in advance.
The text was updated successfully, but these errors were encountered: