Closed benkohler closed 2 years ago
@benkohler Thank you for your report. I'm not well versed in Linux so I'll let a linux savvy dev know about your issue in case they can advice you better.
This is an issue with Catch2 (catchorg/Catch2/#2178). It was fixed in version v2.13.6 which is the version by the current development version of Pencil2D. I use glibc version 2.34 in my development environment and do not have any issues building from master, although I do recall having some issues building the tests for 0.6.6. For these reasons, I am closing this issue as fixed.
I see you're using Gentoo so I'm assuming you are trying to build this with the package manager. You can pass CONFIG+=NO_TESTS to the qmake step to skip building the test as a workaround for this issue until the next release, or you can patch catch.hpp with at least Catch2 v2.13.6.
Ah, I didn't realize that the newest 0.6.6 release was cut from release branch, not master. We do already make tests optional but failing tests make our QA reports unhappy. I'll grab the newer catch.hpp manually for now.
Thanks!
Issue Summary
Tests fail to compile against glibc-2.34. Tests still compile fine against glibc-2.33.
Actual Results
make[1]: Entering directory '/var/tmp/portage/media-gfx/pencil-0.6.6/work/pencil-0.6.6/tests' x86_64-pc-linux-gnu-g++ -c -O2 -pipe -march=native -std=c++11 -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DAPP_VERSION=\"0.6.6\" -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050600 -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"/var/tmp/portage/media-gfx/pencil-0.6.6/work/pencil-0.6.6/tests"' -I. -I../core_lib/src/graphics -I../core_lib/src/graphics/bitmap -I../core_lib/src/graphics/vector -I../core_lib/src/interface -I../core_lib/src/structure -I../core_lib/src/tool -I../core_lib/src/util -I../core_lib/ui -I../core_lib/src/managers -I../core_lib/src -I/usr/include/qt5 -I/usr/include/qt5/QtSvg -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtMultimedia -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtXml -I/usr/include/qt5/QtNetwork -I/usr/include/qt5/QtTest -I/usr/include/qt5/QtCore -I.moc -I/usr/lib64/qt5/mkspecs/linux-g++ -o .obj/main.o src/main.cpp In file included from /usr/include/signal.h:328, from src/catch.hpp:5549, from src/main.cpp:18: src/catch.hpp:8164:58: error: call to non-‘constexpr’ function ‘long int sysconf(int)’ 8164 | constexpr static std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; | ^
~~In file included from /usr/include/bits/sigstksz.h:24, from /usr/include/signal.h:328, from src/catch.hpp:5549, from src/main.cpp:18: /usr/include/unistd.h:640:17: note: ‘long int sysconf(int)’ declared here 640 | extern long int sysconf (int name) THROW; | ^~~ In file included from src/main.cpp:18: src/catch.hpp:8223:45: error: size of array ‘altStackMem’ is not an integral constant-expression 8223 | char FatalConditionHandler::altStackMem[sigStackSize] = {}; | ^~~~ make[1]: [Makefile:738: .obj/main.o] Error 1 make[1]: Leaving directory '/var/tmp/portage/media-gfx/pencil-0.6.6/work/pencil-0.6.6/tests' make: [Makefile:135: sub-tests-make_first-ordered] Error 2Expected Results
Tests compile successfully
Video or Image Reference
n/a
Steps to reproduce
make
System Information
0.6.5 & 0.6.6 tested
Gentoo Linux
16GB