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

Undefined symbols for architecture x86_64: "Nabo::NearestNeighbourSearch<double, Eigen::Matrix<doubl... #514

Closed
drhalftone opened this issue Jun 1, 2023 · 7 comments

Comments

@drhalftone
Copy link

I'm running the following:

Mac OS X version 12.6.6
gcc version Apple clang version 14.0.0 (clang-1400.0.29.202)
Homebrew 4.0.20
boost: stable 1.81.0 (bottled), HEAD
git version 2.40.1
cmake version 3.26.4
eigen: stable 3.4.0 (bottled), HEAD

Followed directions for Mac OS X and got down to this when making libpointmatcher:

[ 92%] Linking CXX executable icp_simple
Undefined symbols for architecture x86_64:
"Nabo::NearestNeighbourSearch<double, Eigen::Matrix<double, -1, -1, 0, -1, -1> >::create(Eigen::Matrix<double, -1, -1, 0, -1, -1> const&, int, Nabo::NearestNeighbourSearch<double, Eigen::Matrix<double, -1, -1, 0, -1, -1> >::SearchType, unsigned int, Nabo::Parameters const&)", referenced from:
MatchersImpl::KDTreeMatcher::init(PointMatcher::DataPoints const&) in libpointmatcher.a(MatchersImpl.cpp.o)
MatchersImpl::KDTreeVarDistMatcher::init(PointMatcher::DataPoints const&) in libpointmatcher.a(MatchersImpl.cpp.o)
TensorVoting::computeKnn(PointMatcher::DataPoints const&) in libpointmatcher.a(Saliency.cpp.o)
TensorVoting::computeKnn(PointMatcher::DataPoints const&) in libpointmatcher.a(SpectralDecomposition.cpp.o)
"Nabo::NearestNeighbourSearch<float, Eigen::Matrix<float, -1, -1, 0, -1, -1> >::create(Eigen::Matrix<float, -1, -1, 0, -1, -1> const&, int, Nabo::NearestNeighbourSearch<float, Eigen::Matrix<float, -1, -1, 0, -1, -1> >::SearchType, unsigned int, Nabo::Parameters const&)", referenced from:
MatchersImpl::KDTreeMatcher::init(PointMatcher::DataPoints const&) in libpointmatcher.a(MatchersImpl.cpp.o)
MatchersImpl::KDTreeVarDistMatcher::init(PointMatcher::DataPoints const&) in libpointmatcher.a(MatchersImpl.cpp.o)
TensorVoting::computeKnn(PointMatcher::DataPoints const&) in libpointmatcher.a(Saliency.cpp.o)
TensorVoting::computeKnn(PointMatcher::DataPoints const&) in libpointmatcher.a(SpectralDecomposition.cpp.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@pomerlef
Copy link
Collaborator

pomerlef commented Jun 7, 2023

It seems related to libnabo not being found. Any idea what changed in your build procedure?

@drhalftone
Copy link
Author

drhalftone commented Jun 7, 2023 via email

@Brac24
Copy link

Brac24 commented Jun 7, 2023

I'm having a similar issue. I'm building a docker image for ARM. But I ran this same thing about a month ago with no issues. Now it looks like it has issues compiling the examples.
image

At the start of the compilation it says libnabo found. Is there an environment variable or CMake flag that needs to be set?

@Brac24
Copy link

Brac24 commented Jun 7, 2023

Sure enough it did build if I don't build the examples using the cmake flag -DPOINTMATCHER_BUILD_EXAMPLES=OFF
So there's something specific with the examples that it can't find libnabo maybe?

@pomerlef
Copy link
Collaborator

pomerlef commented Jun 8, 2023

@drhalftone can you check if the proposed PR #513 resolve your issue?

@Brac24
Copy link

Brac24 commented Jun 9, 2023

That seems to have worked for me hopefully it works for @drhalftone

@pomerlef
Copy link
Collaborator

pomerlef commented Jul 5, 2023

Should be resolved with #513

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