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

Make check fails because of GeographicLib #8

Closed
dellaert opened this issue May 19, 2019 · 3 comments
Closed

Make check fails because of GeographicLib #8

dellaert opened this issue May 19, 2019 · 3 comments
Assignees

Comments

@dellaert
Copy link
Member

make check seems to fail on Mac, with default options, because of a link error. I think this might have been the recent PR? Maybe it's my version? But cmake did not complain :-)

[ 74%] Building CXX object gtsam/navigation/tests/CMakeFiles/testGeographicLib.dir/testGeographicLib.cpp.o
[ 74%] Linking CXX executable testGeographicLib
Undefined symbols for architecture x86_64:
  "GeographicLib::Geocentric::WGS84()", referenced from:
      __GLOBAL__sub_I_testGeographicLib.cpp in testGeographicLib.cpp.o
  "GeographicLib::UTMUPS::EncodeZone(int, bool, bool)", referenced from:
      GeographicLibUTMTest::run(TestResult&) in testGeographicLib.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)
make[3]: *** [gtsam/navigation/tests/testGeographicLib] Error 1
make[2]: *** [gtsam/navigation/tests/CMakeFiles/testGeographicLib.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....

@chrisbeall
Copy link
Member

Can you confirm that you have previously compiled/installed GeographicLib via gtsam, and that it's architecture is i386?

Unfortunately there are several factors here:

  • GeographicLib used to target i386 on Mac. Latest version defaults to x86_64.
  • Apple has deprecated building for i386. Older versions of Xcode happily built for i386, but the most recent version does not. (Latest Xcode will not build previous versions of GeographicLib)
  • The default option of our GTSAM_INSTALL_GEOGRAPHICLIB is set to ON if library was not found on system, and OFF if library was found (here). Not sure this is working, I always seem to end up with default OFF.

I have macOS 10.14.5, and Xcode with Apple LLVM version 10.0.1 (clang-1001.0.46.4), and I had a previously installed (old, i386) GeographicLib. I ran into problems linking against this old version, so I removed it, and then found that Xcode would not rebuild it.

Best way is forward:

  • Can you delete old installed version, and try again?
  • We can add a CMake check for recent version and warnings/documentation.

@dellaert
Copy link
Member Author

OK, so, I'm assuming that this indeed because of an old install. However, now in Montreal with an old computer. I will investigate later tonight whether a fresh install solves it, but I think cmake should check for the right version, if possible.

@dellaert
Copy link
Member Author

This was probably a local install issue.

ProfFan added a commit that referenced this issue Oct 7, 2020
2192b194e Merge pull request #8 from borglab/fix/serialization
3a3461a35 Fix test
ce3d5c35d Fix serialization

git-subtree-dir: wrap
git-subtree-split: 2192b194edc35142e529adcf50ed5e6803d48975
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

2 participants