Macaulay2 / mathicgb

Compute (signature) Groebner bases using the fast datastructures from mathic.
2 stars 4 forks source link

unittest fails under ArchLinux #13

Open DanGrayson opened 5 years ago

DanGrayson commented 5 years ago

The unittest fails under Arch Linux:

g++ -DPACKAGE_NAME=\"mathicgb\" -DPACKAGE_TARNAME=\"mathicgb\" -DPACKAGE_VERSION=\"1.0\" -DPACKAGE_STRING=\"mathicgb\ 1.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DHAVE_CXX11=1 -DPACKAGE=\"mathicgb\" -DVERSION=\"1.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I/home/dan/src/M2/M2/submodules/mathicgb  -I/home/dan/src/M2/M2/submodules/mathicgb/ -I/home/dan/src/M2/M2/submodules/mathicgb/src/ -DMATHICGB_NO_TBB -I/usr/src/gtest/include -I/usr/src/gtest -I/home/dan/src/M2/M2/include -I/home/dan/src/M2/M2/BUILD/dan/builds.tmp/arch64-release-1.13/include -I/home/dan/src/M2/M2/BUILD/dan/builds.tmp/arch64-release-1.13/usr-host/include -I/home/dan/src/M2/M2/BUILD/dan/builds.tmp/arch64-release-1.13/usr-host/include/cdd  -I/home/dan/src/M2/M2/submodules/memtailor/src  -I/home/dan/src/M2/M2/submodules/mathic/src  -I/home/dan/src/M2/M2/submodules/mathicgb/src  -I/home/dan/src/M2/M2/submodules/fflas_ffpack/src -isystem /usr/include/libxml2      -I/usr/src/gtest  -DNDEBUG  -std=gnu++11 -g3 -O2 -MT src/test/MathicIO.o -MD -MP -MF $depbase.Tpo -c -o src/test/MathicIO.o /home/dan/src/M2/M2/submodules/mathicgb/src/test/MathicIO.cpp &&\
mv -f $depbase.Tpo $depbase.Po
In file included from /usr/include/gtest/internal/gtest-param-util.h:48,
                 from /usr/include/gtest/gtest-param-test.h:188,
                 from /usr/include/gtest/gtest.h:63,
                 from /home/dan/src/M2/M2/submodules/mathicgb/src/test/MonoMonoid.cpp:8:
/usr/include/gtest/gtest-printers.h: In instantiation of ‘static void testing::internal2::TypeWithoutFormatter<T, kTypeKind>::PrintValue(const T&, std::ostream*) [with T = mgb::MonoMonoid<short int, true, true, true>::ConstMonoRef; testing::internal2::TypeKind kTypeKind = (testing::internal2::TypeKind)2; std::ostream = std::basic_ostream<char>]’:
/usr/include/gtest/gtest-printers.h:246:66:   required from ‘std::basic_ostream<_CharT, _Traits>& testing::internal2::operator<<(std::basic_ostream<_CharT, _Traits>&, const T&) [with Char = char; CharTraits = std::char_traits<char>; T = mgb::MonoMonoid<short int, true, true, true>::ConstMonoRef]’
/usr/include/gtest/gtest-printers.h:287:7:   required from ‘void testing_internal::DefaultPrintNonContainerTo(const T&, std::ostream*) [with T = mgb::MonoMonoid<short int, true, true, true>::ConstMonoRef; std::ostream = std::basic_ostream<char>]’
/usr/include/gtest/gtest-printers.h:478:49:   required from ‘void testing::internal::DefaultPrintTo(testing::internal::WrapPrinterType<(testing::internal::DefaultPrinterType)3>, const T&, std::ostream*) [with T = mgb::MonoMonoid<short int, true, true, true>::ConstMonoRef; std::ostream = std::basic_ostream<char>]’
/usr/include/gtest/gtest-printers.h:513:17:   required from ‘void testing::internal::PrintTo(const T&, std::ostream*) [with T = mgb::MonoMonoid<short int, true, true, true>::ConstMonoRef; std::ostream = std::basic_ostream<char>]’
/usr/include/gtest/gtest-printers.h:768:12:   required from ‘static void testing::internal::UniversalPrinter<T>::Print(const T&, std::ostream*) [with T = mgb::MonoMonoid<short int, true, true, true>::ConstMonoRef; std::ostream = std::basic_ostream<char>]’
/usr/include/gtest/gtest-printers.h:959:30:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/gtest/gtest-printers.h:389:45:   required from ‘std::__cxx11::string testing::internal::FormatForComparisonFailureMessage(const T1&, const T2&) [with T1 = mgb::MonoMonoid<short int, true, true, true>::MonoVector; T2 = mgb::MonoMonoid<short int, true, true, true>::MonoVector; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/usr/include/gtest/gtest.h:1433:53:   required from ‘testing::AssertionResult testing::internal::CmpHelperEQFailure(const char*, const char*, const T1&, const T2&) [with T1 = mgb::MonoMonoid<short int, true, true, true>::MonoVector; T2 = mgb::MonoMonoid<short int, true, true, true>::MonoVector]’
/usr/include/gtest/gtest.h:1448:28:   required from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = mgb::MonoMonoid<short int, true, true, true>::MonoVector; T2 = mgb::MonoMonoid<short int, true, true, true>::MonoVector]’
/usr/include/gtest/gtest.h:1472:23:   required from ‘static testing::AssertionResult testing::internal::EqHelper<lhs_is_null_literal>::Compare(const char*, const char*, const T1&, const T2&) [with T1 = mgb::MonoMonoid<short int, true, true, true>::MonoVector; T2 = mgb::MonoMonoid<short int, true, true, true>::MonoVector; bool lhs_is_null_literal = false]’
/home/dan/src/M2/M2/submodules/mathicgb/src/test/MonoMonoid.cpp:418:3:   required from ‘void Monoids_setExponentAndComponent_Test<gtest_TypeParam_>::TestBody() [with gtest_TypeParam_ = mgb::MonoMonoid<short int, true, true, true>]’
/home/dan/src/M2/M2/submodules/mathicgb/src/test/MonoMonoid.cpp:350:1:   required from here
/usr/include/gtest/gtest-printers.h:156:30: error: invalid cast from type ‘mgb::MonoMonoid<short int, true, true, true>::ConstMonoPtr’ to type ‘const void*’
                              reinterpret_cast<const void*>(&value)),
DanGrayson commented 4 years ago

Still fails.

d-torrance commented 4 years ago

Was this using googletest 1.8.1? I reported the same failure in #12. It appears to be fixed using googletest 1.10.0.

DanGrayson commented 4 years ago

Yes, it was 1.8.1, as that is what Arch offered. So the fix for us would be to have our configure script (configure.ac) insist on 1.10.0 at least, and to build it if it's not present (libraries/gtest/Makefile.in).

d-torrance commented 4 years ago

I just opened #15 which bumps the default version of googletest. I'm planning on writing a check to confirm that a previously installed googletest is at least this version. Once I get it working for mathicgb, then I'll try to adapt it for Macaulay2 as well.

DanGrayson commented 4 years ago

Oh, right, this is mathicgb...

mahrud commented 4 years ago

Still fails.

Try using it now with the CMake build.