gadomski / cpd

C++ implementation of the Coherent Point Drift point set registration algorithm.
http://www.gadom.ski/cpd
GNU General Public License v2.0
385 stars 122 forks source link

Build error due to GoogleTest problem #165

Closed youngdjn closed 2 months ago

youngdjn commented 2 months ago

When I run make to build cpd (after successfully running cmake), I get the following error

[ 37%] Built target Library-C++
[ 41%] Building CXX object vendor/googletest-release-1.10.0/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
In file included from /home/derek/repos/cpd/vendor/googletest-release-1.10.0/googletest/src/gtest-all.cc:42:
/home/derek/repos/cpd/vendor/googletest-release-1.10.0/googletest/src/gtest-death-test.cc: In function ‘bool testing::internal::StackGrowsDown()’:
/home/derek/repos/cpd/vendor/googletest-release-1.10.0/googletest/src/gtest-death-test.cc:1301:24: error: ‘dummy’ may be used uninitialized [-Werror=maybe-uninitialized]
 1301 |   StackLowerThanAddress(&dummy, &result);
      |   ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/home/derek/repos/cpd/vendor/googletest-release-1.10.0/googletest/src/gtest-death-test.cc:1290:13: note: by argument 1 of type ‘const void*’ to ‘void testing::internal::StackLowerThanAddress(const void*, bool*)’ declared here
 1290 | static void StackLowerThanAddress(const void* ptr, bool* result) {
      |             ^~~~~~~~~~~~~~~~~~~~~
/home/derek/repos/cpd/vendor/googletest-release-1.10.0/googletest/src/gtest-death-test.cc:1299:7: note: ‘dummy’ declared here
 1299 |   int dummy;
      |       ^~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [vendor/googletest-release-1.10.0/googletest/CMakeFiles/gtest.dir/build.make:76: vendor/googletest-release-1.10.0/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:158: vendor/googletest-release-1.10.0/googletest/CMakeFiles/gtest.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

This appears to be a known issue in this specific version of GoogleTest that has been resolved in later versions. Is there a recommended way to deal with this issue? I am on Ubuntu 22. Thanks in advance!