Giter Club home page Giter Club logo

mathicgb's People

Contributors

broune avatar d-torrance avatar dangrayson avatar ederc avatar jkyang92 avatar mahrud avatar mikestillman avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mathicgb's Issues

Unittest hangs on powerpc

This is a continuation of [1]. I attempted to build the latest version of the Macaulay2 fork of mathicgb on a powerpc machine. However, unittest hangs when it gets to GB.small.

I tried debugging it several times with gdb. I'd let it hang for a few seconds, hit Ctrl+C, and then ask for a backtrace. Each time it appeared to be somewhere else in the code. I'm guessing maybe it got stuck in an infinite loop somewhere? I've pasted one log file at [2].

Note that I tried compiling both with and without tbb, but there was no change either way.

Any ideas?

Thanks!

[1] Macaulay2/M2#339
[2] http://pastebin.com/zByR6umD

Bus error during unittest on sparc64

From https://buildd.debian.org/status/fetch.php?pkg=mathicgb&arch=sparc64&ver=1.0%7Egit20181123-2&stamp=1590946938&raw=0:

make  check-TESTS
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make[3]: Entering directory '/<<PKGBUILDDIR>>'
./build/autotools/test-driver: line 107: 3807874 Bus error               "$@" > $log_file 2>&1
FAIL: unittest
====================================
   mathicgb 1.0: ./test-suite.log
====================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: unittest
==============

[==========] Running 237 tests from 27 test suites.
[----------] Global test environment set-up.
[----------] 9 tests from Range
[ RUN      ] Range.Simple
[       OK ] Range.Simple (0 ms)
[ RUN      ] Range.rangeToVector
[       OK ] Range.rangeToVector (0 ms)
[ RUN      ] Range.zip
[       OK ] Range.zip (0 ms)
[ RUN      ] Range.intRange
[       OK ] Range.intRange (1 ms)
[ RUN      ] Range.indexRange
[       OK ] Range.indexRange (0 ms)
[ RUN      ] Range.oppositePairRange
[       OK ] Range.oppositePairRange (0 ms)
[ RUN      ] Range.adjPairRange
[       OK ] Range.adjPairRange (0 ms)
[ RUN      ] Range.flatten
[       OK ] Range.flatten (0 ms)
[ RUN      ] Range.flattenRecursive
[       OK ] Range.flattenRecursive (1 ms)
[----------] 9 tests from Range (2 ms total)

[----------] 1 test from IO
[ RUN      ] IO.ideal
[       OK ] IO.ideal (0 ms)
[----------] 1 test from IO (0 ms total)

[----------] 11 tests from GB
[ RUN      ] GB.small
FAIL unittest (exit status: 138)

MathicIO.ReadWriteMonomial test fails on mips64el architecture

From the Debian build log:

[----------] 8 tests from MathicIO
[ RUN      ] MathicIO.Combined
[       OK ] MathicIO.Combined (0 ms)
[ RUN      ] MathicIO.ReadWriteRing
[       OK ] MathicIO.ReadWriteRing (0 ms)
[ RUN      ] MathicIO.ReadWriteMonomial
unknown file: Failure
C++ exception with description "ERROR: Syntax error on line 1: Expected '<', but got no more input." thrown in the test body.
[  FAILED  ] MathicIO.ReadWriteMonomial (1 ms)
[ RUN      ] MathicIO.ReadWriteBasis
[       OK ] MathicIO.ReadWriteBasis (0 ms)
[ RUN      ] MathicIO.ReadWritePoly
[       OK ] MathicIO.ReadWritePoly (0 ms)
[ RUN      ] MathicIO.ReadWriteTerm
[       OK ] MathicIO.ReadWriteTerm (0 ms)
[ RUN      ] MathicIO.ReadWriteBaseField
[       OK ] MathicIO.ReadWriteBaseField (0 ms)
[ RUN      ] MathicIO.ReadWriteOrder
[       OK ] MathicIO.ReadWriteOrder (1 ms)
[----------] 8 tests from MathicIO (2 ms total)

Raise maximum bit length of the modulus + use SIMD vectorization

See Macaulay2/M2#1385 (comment):

R = ZZ/10000019[x,y,z];
groebnerBasis(ideal gens R, Strategy => "MGB")
-- stdio:2:1:(3): error: ERROR: Modulus 10000019 is too large. MathicGB only supports 16 bit moduli.

Either raise 16bit to something more reasonable like 32 or 64, or make sure we're using SIMD vectorization; i.e., doing 4 16bit additions in one operation. Modern CPUs support much larger vectorization lengths, for instance:

  • SSE allows 128 bit operations, so 4 32bit operations or 8 16bit operations
  • AVX-256 allows 256 bit operations
  • AVX-512 allows 512 bit operations

TBB Warning: tbb.h contains deprecated functionality.

In file included from /tmp/mathicgb-20210107-2673924-1k0ikcv/src/mathicgb/mtbb.hpp:7:0,
                 from /tmp/mathicgb-20210107-2673924-1k0ikcv/src/mathicgb/LogDomain.hpp:6,
                 from /tmp/mathicgb-20210107-2673924-1k0ikcv/src/mathicgb/SignatureGB.cpp:10:
/home/linuxbrew/.linuxbrew/include/tbb/tbb.h:21:154: note: #pragma message: TBB Warning: tbb.h contains deprecated functionality. For details, please see Deprecated Features appendix in the TBB reference manual.
 #pragma message("TBB Warning: tbb.h contains deprecated functionality. For details, please see Deprecated Features appendix in the TBB reference manual.")

Fails to build with gcc 7

From Debian bug #853541:

The package fails to build in a test rebuild on at least amd64 with
gcc-7/g++-7, but succeeds to build with gcc-6/g++-6. The
severity of this report may be raised before the buster release.
There is no need to fix this issue in time for the stretch release.

The full build log can be found at:
http://people.debian.org/~doko/logs/gcc7-20170126/mathicgb_1.0~git20170104-1_unstable_gcc7.log
The last lines of the build log are at the end of this report.

To build with GCC 7, either set CC=gcc-7 CXX=g++-7 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

apt-get -t=experimental install g++

Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-7/porting_to.html

checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating build/autotools/mathicgb.pc
config.status: executing depfiles commands
config.status: executing libtool commands
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_build
	make -j1
make[1]: Entering directory '/<<PKGBUILDDIR>>'
/bin/bash ./libtool  --tag=CXX   --mode=compile 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./ -I./src/ -I/usr/src/gtest/include -I/usr/src/gtest -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o src/mathicgb/ReducerPack.lo src/mathicgb/ReducerPack.cpp
libtool: compile:  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./ -I./src/ -I/usr/src/gtest/include -I/usr/src/gtest -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 "-fdebug-prefix-map=/<<PKGBUILDDIR>>=." -fstack-protector-strong -Wformat -Werror=format-security -c src/mathicgb/ReducerPack.cpp  -fPIC -DPIC -o src/mathicgb/.libs/ReducerPack.o
libtool: compile:  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./ -I./src/ -I/usr/src/gtest/include -I/usr/src/gtest -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 "-fdebug-prefix-map=/<<PKGBUILDDIR>>=." -fstack-protector-strong -Wformat -Werror=format-security -c src/mathicgb/ReducerPack.cpp -o src/mathicgb/ReducerPack.o >/dev/null 2>&1
/bin/bash ./libtool  --tag=CXX   --mode=compile 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./ -I./src/ -I/usr/src/gtest/include -I/usr/src/gtest -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -c -o src/mathicgb/ClassicGBAlg.lo src/mathicgb/ClassicGBAlg.cpp
libtool: compile:  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./ -I./src/ -I/usr/src/gtest/include -I/usr/src/gtest -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 "-fdebug-prefix-map=/<<PKGBUILDDIR>>=." -fstack-protector-strong -Wformat -Werror=format-security -c src/mathicgb/ClassicGBAlg.cpp  -fPIC -DPIC -o src/mathicgb/.libs/ClassicGBAlg.o
In file included from /usr/include/tbb/tbb.h:65:0,
                 from src/mathicgb/mtbb.hpp:7,
                 from src/mathicgb/LogDomain.hpp:6,
                 from src/mathicgb/ClassicGBAlg.cpp:10:
/usr/include/tbb/pipeline.h:328:74: error: 'has_trivial_copy_constructor' is not a member of 'std'
 template<typename T> struct tbb_trivially_copyable { enum { value = std::has_trivial_copy_constructor<T>::value }; };
                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/tbb/pipeline.h:328:74: note: suggested alternative: 'is_trivially_copy_constructible'
 template<typename T> struct tbb_trivially_copyable { enum { value = std::has_trivial_copy_constructor<T>::value }; };
                                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                          is_trivially_copy_constructible
/usr/include/tbb/pipeline.h:328:104: error: expected primary-expression before '>' token
 template<typename T> struct tbb_trivially_copyable { enum { value = std::has_trivial_copy_constructor<T>::value }; };
                                                                                                        ^
/usr/include/tbb/pipeline.h:328:107: error: '::value' has not been declared
 template<typename T> struct tbb_trivially_copyable { enum { value = std::has_trivial_copy_constructor<T>::value }; };
                                                                                                           ^~~~~
Makefile:1107: recipe for target 'src/mathicgb/ClassicGBAlg.lo' failed
make[1]: *** [src/mathicgb/ClassicGBAlg.lo] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: make -j1 returned exit code 2
debian/rules:8: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

Build failure with googletest 1.8.1

From Debian bug #910237:

With a recent upload of googletest the autopkgtest of mathicgb fails in
testing when that autopkgtest is run with the binary packages of
googletest from unstable. It passes when run with only packages from
testing. In tabular form:
pass fail
googletest from testing 1.8.1-1
mathicgb from testing 1.0~git20170606-2
all others from testing from testing

I copied some of the output at the bottom of this report.

Currently this regression is contributing to the delay of the migration
of googletest to testing [1]. Due to the nature of this issue, I filed
this bug report against both packages. Can you please investigate the
situation and reassign the bug to the right package? If needed, please
change the bug's severity.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=googletest

https://ci.debian.net/data/autopkgtest/testing/amd64/m/mathicgb/1087190/log.gz

/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,
false, true, true>::MonoVector; T2 = mgb::MonoMonoid<short int, false,
true, true>::MonoVector; bool lhs_is_null_literal = false]’
src/test/MonoMonoid.cpp:418:3: required from ‘void
Monoids_setExponentAndComponent_Test<gtest_TypeParam_>::TestBody() [with
gtest_TypeParam_ = mgb::MonoMonoid<short int, false, true, true>]’
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, false, true, true>::ConstMonoPtr’ to
type ‘const void*’
make: *** [: MonoMonoid.o] Error 1

unittest fails under ArchLinux

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)),

Fails to build using gcc 11

From Debian bug #984231:

In file included from src/mathicgb/SparseMatrix.hpp:6,
                 from src/mathicgb/SparseMatrix.cpp:4:
src/mathicgb/RawVector.hpp: In member function ‘mgb::RawVector<T>::size_type mgb::RawVector<T>::max_size() const’:
src/mathicgb/RawVector.hpp:109:43: error: ‘numeric_limits’ is not a member of ‘std’
  109 |   size_type max_size() const {return std::numeric_limits<size_type>::max();}
      |                                           ^~~~~~~~~~~~~~
src/mathicgb/RawVector.hpp:109:67: error: expected primary-expression before ‘>’ token
  109 |   size_type max_size() const {return std::numeric_limits<size_type>::max();}
      |                                                                   ^
src/mathicgb/RawVector.hpp:109:70: error: ‘::max’ has not been declared; did you mean ‘std::max’?
  109 |   size_type max_size() const {return std::numeric_limits<size_type>::max();}
      |                                                                      ^~~
      |                                                                      std::max
In file included from /usr/include/c++/11/algorithm:62,
                 from src/mathicgb/RawVector.hpp:10,
                 from src/mathicgb/SparseMatrix.hpp:6,
                 from src/mathicgb/SparseMatrix.cpp:4:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~

'void gb' has incomplete type

I'm getting the following on Ubuntu 18.04 with gcc 7:

libtool: compile:  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./ -I./src/ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 "-fdebug-prefix-map=/build/mathicgb-1.0~git20220311=." -fstack-protector-strong -Wformat -Werror=format-security -c src/mathicgb.cpp  -fPIC -DPIC -o src/.libs/mathicgb.o
src/mathicgb.cpp: In function 'bool mgb::mgbi::internalComputeGroebnerBasis(mgb::GroebnerInputIdealStream&, mgb::mgbi::IdealAdapter&)':
src/mathicgb.cpp:971:10: error: 'void gb' has incomplete type
     auto gb = scheduler.execute([&basis,&conf,&params]{
          ^~
Makefile:1121: recipe for target 'src/mathicgb.lo' failed
make: *** [src/mathicgb.lo] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.