borglab/gtsam

Ubuntu package builds failing

Closed this issue · 5 comments

Got this error log from the automated Ubuntu builds. Likely caused by one of the last few commits.

<!-- Add any other infor or context about the problem here. -->
<<PKGBUILDDIR>>/gtsam/geometry/Cal3Bundler.cpp
In file included from /<<PKGBUILDDIR>>/gtsam/geometry/Point2.h:21,
                 from /<<PKGBUILDDIR>>/gtsam/geometry/Cal3.h:24,
                 from /<<PKGBUILDDIR>>/gtsam/geometry/Cal3.cpp:18:
/<<PKGBUILDDIR>>/gtsam/base/std_optional_serialization.h:13: error: unterminated #ifdef
   13 | #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION
      | 
In file included from /<<PKGBUILDDIR>>/gtsam/geometry/Point2.h:21,
                 from /<<PKGBUILDDIR>>/gtsam/geometry/Cal3.h:24,
                 from /<<PKGBUILDDIR>>/gtsam/geometry/Cal3Bundler.h:22,
                 from /<<PKGBUILDDIR>>/gtsam/geometry/Cal3Bundler.cpp:20:
/<<PKGBUILDDIR>>/gtsam/base/std_optional_serialization.h:13: error: unterminated #ifdef
   13 | #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION
      | 
make[3]: *** [gtsam/CMakeFiles/gtsam.dir/build.make:289: gtsam/CMakeFiles/gtsam.dir/geometry/Cal3.cpp.o] Error 1

The offending file std_optional_serialization.h has 5 lines starting with #if but only 4 lines starting with #endif.
The offending commit is this one

I have also encountered this issue recently. The simple fix seems to be to add an additional #endif at the end of the header file, but I didn't spend a lot of time to make sure that it is the correct fix.

I'm pretty sure this issue was fixed by this commit, or perhaps a prior commit.

@berndpfrommer @arutkowski sorry about that. Merging two related PRs caused some #if badness, but it should be fixed now.

OK, looks like it's building now, so closing this issue.