Skip to content
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

Build error - vicalib #53

Open
vishnukumarts opened this issue Dec 5, 2019 · 3 comments
Open

Build error - vicalib #53

vishnukumarts opened this issue Dec 5, 2019 · 3 comments

Comments

@vishnukumarts
Copy link

after all the dependencies installed, i am finally stuck with the below error,

CMakeFiles/vicalib.dir/src/vicalib-engine.cc.o: In function visual_inertial_calibration::VicalibEngine::InitTask()': vicalib-engine.cc:(.text+0x5c37): undefined reference to calibu::KannalaBrandtCamera::NumParams'
vicalib-engine.cc:(.text+0x5e3a): undefined reference to `calibu::Rational6Camera::NumParams'

@crheckman
Copy link
Contributor

Can I assume you got this due to your post in #54 ?

@themancalledjakob
Copy link

I have the same issue on Ubuntu 18.04
I could install all dependencies, but when trying to compile vicalib I get this:

CMakeFiles/vicalib.dir/src/vicalib-engine.cc.o: In function `visual_inertial_calibration::VicalibEngine::InitTask()':
vicalib-engine.cc:(.text+0x5db7): undefined reference to `calibu::KannalaBrandtCamera<double>::NumParams'
vicalib-engine.cc:(.text+0x5fba): undefined reference to `calibu::Rational6Camera<double>::NumParams'
vicalib-engine.cc:(.text+0x6284): undefined reference to `calibu::LinearCamera<double>::NumParams'
collect2: error: ld returned 1 exit status
CMakeFiles/vicalib.dir/build.make:204: recipe for target 'vicalib' failed
make[2]: *** [vicalib] Error 1
CMakeFiles/Makefile2:136: recipe for target 'CMakeFiles/vicalib.dir/all' failed
make[1]: *** [CMakeFiles/vicalib.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

@themancalledjakob
Copy link

themancalledjakob commented Feb 12, 2020

it compiled after three fixes in vicalib-engine.cc.
Since it is only a fixed amount of parameters, I just counted the amount of parameters that overwrite it and hardcoded it:

bad Eigen::VectorXd params_(calibu::KannalaBrandtCamera<double>::NumParams);
good Eigen::VectorXd params_(10);

bad Eigen::VectorXd params_(calibu::Rational6Camera<double>::NumParams);
good Eigen::VectorXd params_(10);

bad Eigen::VectorXd params_(calibu::LinearCamera<double>::NumParams);
good Eigen::VectorXd params_(4);

This doesn't really deal with the original issue, but it seems to do the trick. My guess is that somebody refactored Calibu slightly, and the newest master doesn't match anymore with this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants