castacks/tartancalib

undefined symbol

YandongJi opened this issue · 12 comments

I'm having the following issue when running ./tartan_calibrate --bag calib3.bag --target april_6x8.yaml --topics /front_camera/color/image_raw --min-init-corners-autocomplete 29 --min-tag-size-autocomplete 2 --correction-threshold 10.1 --models pinhole-equi --dont-show-report --save_dir ...

importing libraries
Traceback (most recent call last):
File "./tartan_calibrate", line 10, in
import aslam_cv_backend as acvb
File "/home/name/soccer/detection/tartan_ws/devel/lib/python2.7/dist-packages/aslam_cv_backend/init.py", line 34, in
exec(__fh.read())
File "", line 7, in
File "/home/name/soccer/detection/tartan_ws/devel/lib/python2.7/dist-packages/aslam_cv/init.py", line 34, in
exec(__fh.read())
File "", line 9, in
ImportError: /home/name/tartan_ws/devel/lib/python2.7/dist-packages/aslam_cv/libaslam_cv_python.so: undefined symbol: _ZN2cv3viz6WidgetD2Ev

Hi,

Thank you for posting, this is an issue with boost-python. Have you tried running the recommended command:

    rosrun kalibr tartan_calibrate \
    --bag /path/to/bagfile.bag \
    --target /path/to/target.yaml \
    --topics /camera_0/image_raw /camera_1/image_raw \
    --min-init-corners-autocomplete 29 \
    --min-tag-size-autocomplete 2 \
    --correction-threshold 10.1 \
    --models omni-radtan omni-radtan \
    --dont-show-report
    --save_dir /path/to/output/

I will try to replicate your issue later today.

I'm running on Ubuntu18.04 using local installation.
It is the same, running command rosrun kalibr tartan_calibrate --bag calib3.bag --target april_6x8.yaml --topics /front_camera/color/image_raw --min-init-corners-autocomplete 29 --min-tag-size-autocomplete 2 --correction-threshold 10.1 --models pinhole-equi --dont-show-report --save_dir .
I get
importing libraries Traceback (most recent call last): File "/home/name/soccer/detection/tartan_ws/src/tartancalib/aslam_offline_calibration/kalibr/python/tartan_calibrate", line 10, in <module> import aslam_cv_backend as acvb File "/home/name/soccer/detection/tartan_ws/devel/lib/python2.7/dist-packages/aslam_cv_backend/__init__.py", line 34, in <module> exec(__fh.read()) File "<string>", line 7, in <module> File "/home/name/soccer/detection/tartan_ws/devel/lib/python2.7/dist-packages/aslam_cv/__init__.py", line 34, in <module> exec(__fh.read()) File "<string>", line 9, in <module> ImportError: /home/name/soccer/detection/tartan_ws/devel/lib/python2.7/dist-packages/aslam_cv/libaslam_cv_python.so: undefined symbol: _ZN2cv3viz6WidgetD2Ev

Previously I also had the error:
importing libraries Traceback (most recent call last): File "/home/name/soccer/detection/tartan_ws/src/tartancalib/aslam_offline_calibration/kalibr/python/tartan_calibrate", line 6, in <module> import sm File "/home/name/soccer/detection/tartan_ws/devel/lib/python2.7/dist-packages/sm/__init__.py", line 34, in <module> exec(__fh.read()) File "<string>", line 1, in <module> File "/home/name/soccer/detection/tartan_ws/devel/lib/python2.7/dist-packages/numpy_eigen/__init__.py", line 34, in <module> exec(__fh.read()) File "<string>", line 3, in <module> ImportError: dynamic module does not define module export function (PyInit_libnumpy_eigen).
But this seems to be solved by changing the first line of tartan_calibrate from #!/usr/bin/env python to #!/usr/bin/env python2

Okay, thank you for sending us your errors. We will dive deeper into this in the coming days, but in the meantime please use the docker file provided.

Thanks!

Docker runs somehow smoothly this time! Thanks for the note. :)

Okay, thank you for sending us your errors. We will dive deeper into this in the coming days, but in the meantime please use the docker file provided.

Thanks!

Have the same problem too, could you please give me some advice

Does the dockerfile work for you?

Does the dockerfile work for you?

Yes,But when I calib my omni-camera, the reprojection final error shows about 2pixel~4pixel. What should I do to refine the result?

This could have different reasons, can you send me your bag file? You can share your data directly through bduister@cmu.edu.

This could have different reasons, can you send me your bag file? You can share your data directly through bduister@cmu.edu.

Thank you very much! But the img is 4k, the ros bag is so large. Could I provide through Baidu disk? Or other network disk is more suitable for you ?

Can you reduce the number of frames and then share with me through some sharing service? Typically ~500 frames should be enough, so your bag will be a couple GBs.

Can you reduce the number of frames and then share with me through some sharing service? Typically ~500 frames should be enough, so your bag will be a couple GBs.

OK, I'll select 500 frames for you. Thank you very much!

Can you reduce the number of frames and then share with me through some sharing service? Typically ~500 frames should be enough, so your bag will be a couple GBs.

Thank you a lot, and I have sent it to your email. Thank you very much for helping me about this.