erincatto / box2d

Box2D is a 2D physics engine for games
https://box2d.org
MIT License
8.05k stars 1.51k forks source link

2.4.1: build fails with BOX2D_BUILD_UNIT_TESTS=ON #677

Closed kloczek closed 4 days ago

kloczek commented 3 years ago
[ 33%] Building CXX object unit-test/CMakeFiles/unit_test.dir/hello_world.cpp.o
cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/unit-test && /usr/bin/g++ -DB2_SHARED -I/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/src/../include -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -O2 -g -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11 -o CMakeFiles/unit_test.dir/hello_world.cpp.o -c /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/hello_world.cpp
In file included from /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/hello_world.cpp:25:
/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:4021:47: error: size of array ‘altStackMem’ is not an integral constant-expression
 4021 |         static char             altStackMem[4 * SIGSTKSZ];
      |                                               ^
marxin commented 3 years ago

Note the following issue happens with glibc 2.34 where it changed to:

* Add _SC_MINSIGSTKSZ and _SC_SIGSTKSZ.  When _DYNAMIC_STACK_SIZE_SOURCE
  or _GNU_SOURCE are defined, MINSIGSTKSZ and SIGSTKSZ are no longer
  constant on Linux.  MINSIGSTKSZ is redefined to sysconf(_SC_MINSIGSTKSZ)
  and SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ).  This supports
  dynamic sized register sets for modern architectural features like
  Arm SVE.
kloczek commented 3 years ago

Yes I can confirm that.

ionenwks commented 2 years ago

This should've been fixed by https://github.com/onqtam/doctest/commit/099d5414e97244ec44cf46b14cd176b3a3dc52e3 and https://github.com/erincatto/box2d/commit/cd2c28dba83e4f359d08aeb7b70afd9e35e39eda

kloczek commented 2 years ago

Here are the results .. I cannot apply https://github.com/onqtam/doctest/commit/099d5414e97244ec44cf46b14cd176b3a3dc52e3 on top of latest doctest

[tkloczko@barrel SPECS]$ rpmbuild -ba --with chech doctest.spec
warning: Downloading https://github.com/onqtam/doctest//archive/2.4.6/doctest-2.4.6.tar.gz to /home/tkloczko/rpmbuild/SOURCES/doctest-2.4.6.tar.gz
warning: Downloading https://github.com/onqtam/doctest//commit/099d5414.patch#/doctest-fixed-473-SIGSTKSZ-is-no-longer-a-constant-in-glibc-2.34.patch to /home/tkloczko/rpmbuild/SOURCES/doctest-fixed-473-SIGSTKSZ-is-no-longer-a-constant-in-glibc-2.34.patch
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.j6bXJz
+ umask 022
+ cd /home/tkloczko/rpmbuild/BUILD
+ cd /home/tkloczko/rpmbuild/BUILD
+ rm -rf doctest-2.4.6
+ /usr/bin/gzip -dc /home/tkloczko/rpmbuild/SOURCES/doctest-2.4.6.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd doctest-2.4.6
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/doctest-fixed-473-SIGSTKSZ-is-no-longer-a-constant-in-glibc-2.34.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
6 out of 6 hunks FAILED -- saving rejects to file doctest/doctest.h.rej
6 out of 6 hunks FAILED -- saving rejects to file doctest/parts/doctest.cpp.rej

and my my undestanding is that first I need fixed doctest before below will work as well

[tkloczko@barrel SPECS]$ rpmbuild -ba --with check --with failing_tests Box2D.spec
warning: Downloading https://github.com/erincatto/box2d//archive/v2.4.1/Box2D-2.4.1.tar.gz to /home/tkloczko/rpmbuild/SOURCES/Box2D-2.4.1.tar.gz
warning: Downloading https://github.com/erincatto/box2d//commit/95f74a46.patch#/Box2D-Remove-unnecessary-function-659.patch to /home/tkloczko/rpmbuild/SOURCES/Box2D-Remove-unnecessary-function-659.patch
warning: Downloading https://github.com/erincatto/box2d//commit/eb8b5356.patch#/Box2D-Typo-fix-684.patch to /home/tkloczko/rpmbuild/SOURCES/Box2D-Typo-fix-684.patch
warning: Downloading https://github.com/erincatto/box2d//commit/cd2c28db.patch#/Box2D-Update-doctest-version-682.patch to /home/tkloczko/rpmbuild/SOURCES/Box2D-Update-doctest-version-682.patch
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.PanIPw
+ umask 022
+ cd /home/tkloczko/rpmbuild/BUILD
+ cd /home/tkloczko/rpmbuild/BUILD
+ rm -rf box2d-2.4.1
+ /usr/bin/gzip -dc /home/tkloczko/rpmbuild/SOURCES/Box2D-2.4.1.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd box2d-2.4.1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/Box2D-Remove-unnecessary-function-659.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/Box2D-Typo-fix-684.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ /usr/bin/cat /home/tkloczko/rpmbuild/SOURCES/Box2D-Update-doctest-version-682.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f
+ CFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none'
+ CXXFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fno-exceptions'
+ FFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ FCFLAGS='-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -I/usr/lib64/gfortran/modules'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,--gc-sections -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin'
+ CC=/usr/bin/gcc
+ CXX=/usr/bin/g++
+ FC=/usr/bin/gfortran
+ AR=/usr/bin/gcc-ar
+ NM=/usr/bin/gcc-nm
+ RANLIB=/usr/bin/gcc-ranlib
+ export CFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS CC CXX FC AR NM RANLIB
+ /usr/bin/cmake -B x86_64-redhat-linux-gnu -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D DBUILD_SHARED_LIBS=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc -S . -D BOX2D_BUILD_SHARED=ON -D BOX2D_BUILD_TESTBED=ON -D BOX2D_BUILD_UNIT_TESTS=ON -D BOX2D_INSTALL=ON

[..]

[ 35%] Building CXX object unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o
cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/unit-test && /usr/bin/g++ -DB2_SHARED -I/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/src/../include -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fno-exceptions -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11 -MD -MT unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o -MF CMakeFiles/unit_test.dir/math_test.cpp.o.d -o CMakeFiles/unit_test.dir/math_test.cpp.o -c /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp
/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function 'void _DOCTEST_ANON_FUNC_2()':
/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:43:17: error: 'DOCTEST_REQUIRE_EQ' was not declared in this scope; did you mean 'FAST_REQUIRE_EQ'?
   43 |                 DOCTEST_REQUIRE_EQ(transform.p.x, sweep.c0.x);
      |                 ^~~~~~~~~~~~~~~~~~
      |                 FAST_REQUIRE_EQ
gmake[2]: *** [unit-test/CMakeFiles/unit_test.dir/build.make:121: unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o] Error 1
gmake[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu'
gmake[1]: *** [CMakeFiles/Makefile2:235: unit-test/CMakeFiles/unit_test.dir/all] Error 2
ionenwks commented 2 years ago

doctest-2.4.6 already has the changes so a patch wouldn't apply again (i.e. 2.4.6 is fixed), and currently this project also uses doctest-2.4.6 but doesn't have a new release with it yet (box2d-2.4.1 is still on doctest-2.3.7)

So you have a few options

  1. don't build unit tests by passing -DBOX2D_BUILD_UNIT_TESTS=OFF
  2. replace box2d-2.4.1's doctest.h by doctest-2.4.6's doctest.h yourself, tests build and pass just fine with it
  3. build box2d from git sources (haven't checked what state its in but it's likely fine -- alternatively, wait for a new release)
ionenwks commented 2 years ago

May have been simpler if this didn't bundle doctest and (at least optionally) used the system's

kloczek commented 2 years ago

Issue is that doctrest even without that patch still does not build

[ 37%] Building CXX object examples/all_features/CMakeFiles/all_features.dir/stringification.cpp.o
cd /home/tkloczko/rpmbuild/BUILD/doctest-2.4.6/x86_64-redhat-linux-gnu/examples/all_features && /usr/bin/g++ -DDOCTEST_CONFIG_COLORS_NONE -DDOCTEST_CONFIG_NO_POSIX_SIGNALS -DDOCTEST_CONFIG_NO_WINDOWS_SEH -I/home/tkloczko/rpmbuild/BUILD/doctest-2.4.6/scripts/development_only -I/home/tkloczko/rpmbuild/BUILD/doctest-2.4.6/doctest/parts -I/home/tkloczko/rpmbuild/BUILD/doctest-2.4.6 -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -Werror -fstrict-aliasing -pedantic -pedantic-errors -fvisibility=hidden -Wall -Wextra -fdiagnostics-show-option -Wconversion -Wold-style-cast -Wfloat-equal -Wlogical-op -Wundef -Wredundant-decls -Wshadow -Wstrict-overflow=5 -Wwrite-strings -Wpointer-arith -Wcast-qual -Wformat=2 -Wswitch-default -Wmissing-include-dirs -Wcast-align -Wswitch-enum -Wnon-virtual-dtor -Wctor-dtor-privacy -Wsign-conversion -Wdisabled-optimization -Weffc++ -Winvalid-pch -Wmissing-declarations -Woverloaded-virtual -Wunused-but-set-variable -Wunused-result -Wnoexcept -Wdouble-promotion -Wtrampolines -Wzero-as-null-pointer-constant -Wuseless-cast -Wvector-operation-performance -Wshift-overflow=2 -Wnull-dereference -Wduplicated-cond -Walloc-zero -Walloca -Wduplicated-branches -Wcast-align=strict -DNDEBUG -std=gnu++11 -MD -MT examples/all_features/CMakeFiles/all_features.dir/stringification.cpp.o -MF CMakeFiles/all_features.dir/stringification.cpp.o.d -o CMakeFiles/all_features.dir/stringification.cpp.o -c /home/tkloczko/rpmbuild/BUILD/doctest-2.4.6/examples/all_features/stringification.cpp
/home/tkloczko/rpmbuild/BUILD/doctest-2.4.6/examples/all_features/stringification.cpp: In function 'void _DOCTEST_ANON_FUNC_20()':
/home/tkloczko/rpmbuild/BUILD/doctest-2.4.6/examples/all_features/stringification.cpp:106:26: error: variable 'bla2' set but not used [-Werror=unused-but-set-variable]
  106 |     MyTypeInherited<int> bla2;
      |                          ^~~~
cc1plus: all warnings being treated as errors
gmake[2]: *** [examples/all_features/CMakeFiles/all_features.dir/build.make:121: examples/all_features/CMakeFiles/all_features.dir/stringification.cpp.o] Error 1
gmake[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/doctest-2.4.6/x86_64-redhat-linux-gnu'
gmake[1]: *** [CMakeFiles/Makefile2:263: examples/all_features/CMakeFiles/all_features.dir/all] Error 2
kloczek commented 2 years ago

Looks like in this case LTO exposes new coding warning.

kloczek commented 2 years ago

Here is the patch which fixes doctrest

--- a/examples/all_features/stringification.cpp~        2021-03-22 12:05:04.000000000 +0000
+++ b/examples/all_features/stringification.cpp 2021-10-08 20:45:48.454488888 +0100
@@ -103,9 +103,6 @@
     MyTypeInherited<int> bla1;
     bla1.one = 5;
     bla1.two = 4u;
-    MyTypeInherited<int> bla2;
-    bla2.one = 5;
-    bla2.two = 6u;

     Bar::Foo f1;
     Bar::Foo f2;
erincatto commented 2 years ago

I updated to doctest 2.4.7 in e76cf2d82792fbf915e42ae253f8a2ae252adbdf

Please file a new issue if that doesn't fix your problem.

marxin commented 2 years ago

Thanks, are you planning a release in a near future?

kloczek commented 2 years ago

I updated to doctest 2.4.7 in e76cf2d

Please file a new issue if that doesn't fix your problem.

Just tested that patch and probably that is not all what needs to be applied because in my case build still fails on:

[ 33%] Building CXX object unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o
cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/unit-test && /usr/bin/g++ -DB2_SHARED -I/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/src/../include -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -fno-rtti -fno-exceptions -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11 -MD -MT unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o -MF CMakeFiles/unit_test.dir/math_test.cpp.o.d -o CMakeFiles/unit_test.dir/math_test.cpp.o -c /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp
/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’:
/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:43:17: error: ‘DOCTEST_REQUIRE_EQ’ was not declared in this scope; did you mean ‘FAST_REQUIRE_EQ’?
   43 |                 DOCTEST_REQUIRE_EQ(transform.p.x, sweep.c0.x);
      |                 ^~~~~~~~~~~~~~~~~~
      |                 FAST_REQUIRE_EQ
make[2]: *** [unit-test/CMakeFiles/unit_test.dir/build.make:121: unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o] Error 1
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:235: unit-test/CMakeFiles/unit_test.dir/all] Error 2
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu'
make: *** [Makefile:139: all] Error 2
erincatto commented 2 years ago

Is there an issue for this on doctest? It doesn't seem like there is anything for me to fix.

I will put out a release if I have time to work through most of the issues.

erincatto commented 2 years ago

I now have CI building on ubuntu GNU 9.3.0, Windows Visual Studio 2019, and macOS Clang 13. https://github.com/erincatto/box2d/actions

I'm not sure what platform is failing here and I don't think this is something I can fix so I'm going to close this issue again. Please let me know if you identify a fix in box2d code. If it is a doctest issue, please file an issue on that project. Once they make a fix, I will update box2d.

kloczek commented 2 years ago

I'm not sure what platform is failing here and I don't think this is something I can fix so I'm going to close this issue again. Please let me know if you identify a fix in box2d code. If it is a doctest issue, please file an issue on that project. Once they make a fix, I will update box2d.

I'm usig Linux/x86_64

kloczek commented 7 months ago

Just retested with current master and now build fails in more places.

```console [tkloczko@pers-jacek x86_64-redhat-linux-gnu]$ make -k /usr/bin/cmake -S/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1 -B/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/CMakeFiles /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[1]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make -f src/CMakeFiles/box2d.dir/build.make src/CMakeFiles/box2d.dir/depend make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1 /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/src /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/src /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/src/CMakeFiles/box2d.dir/DependInfo.cmake "--color=" make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make -f src/CMakeFiles/box2d.dir/build.make src/CMakeFiles/box2d.dir/build make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make[2]: Nothing to be done for 'src/CMakeFiles/box2d.dir/build'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' [ 31%] Built target box2d make -f unit-test/CMakeFiles/unit_test.dir/build.make unit-test/CMakeFiles/unit_test.dir/depend make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1 /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/unit-test /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/unit-test/CMakeFiles/unit_test.dir/DependInfo.cmake "--color=" make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make -f unit-test/CMakeFiles/unit_test.dir/build.make unit-test/CMakeFiles/unit_test.dir/build make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' [ 32%] Building CXX object unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/unit-test && /usr/bin/g++ -DB2_SHARED -I/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/src/../include -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fno-rtti -fno-exceptions -DNDEBUG -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o -MF CMakeFiles/unit_test.dir/math_test.cpp.o.d -o CMakeFiles/unit_test.dir/math_test.cpp.o -c /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp In file included from /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:24: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In lambda function: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2781:57: error: static assertion failed: Exceptions are disabled! Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled. 2781 | #define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ | ^~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2801:28: note: in expansion of macro ‘DOCTEST_EXCEPTION_EMPTY_FUNC’ 2801 | #define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:43:17: note: in expansion of macro ‘DOCTEST_REQUIRE_EQ’ 43 | DOCTEST_REQUIRE_EQ(transform.p.x, sweep.c0.x); | ^~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:43:35: error: expression cannot be used as a function 43 | DOCTEST_REQUIRE_EQ(transform.p.x, sweep.c0.x); /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In lambda function: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2781:57: error: static assertion failed: Exceptions are disabled! Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled. 2781 | #define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ | ^~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2801:28: note: in expansion of macro ‘DOCTEST_EXCEPTION_EMPTY_FUNC’ 2801 | #define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:44:17: note: in expansion of macro ‘DOCTEST_REQUIRE_EQ’ 44 | DOCTEST_REQUIRE_EQ(transform.p.y, sweep.c0.y); | ^~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:44:35: error: expression cannot be used as a function 44 | DOCTEST_REQUIRE_EQ(transform.p.y, sweep.c0.y); /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In lambda function: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2781:57: error: static assertion failed: Exceptions are disabled! Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled. 2781 | #define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ | ^~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2801:28: note: in expansion of macro ‘DOCTEST_EXCEPTION_EMPTY_FUNC’ 2801 | #define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:45:17: note: in expansion of macro ‘DOCTEST_REQUIRE_EQ’ 45 | DOCTEST_REQUIRE_EQ(transform.q.c, cosf(sweep.a0)); | ^~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:45:35: error: expression cannot be used as a function 45 | DOCTEST_REQUIRE_EQ(transform.q.c, cosf(sweep.a0)); /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In lambda function: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2781:57: error: static assertion failed: Exceptions are disabled! Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled. 2781 | #define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ | ^~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2801:28: note: in expansion of macro ‘DOCTEST_EXCEPTION_EMPTY_FUNC’ 2801 | #define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:46:17: note: in expansion of macro ‘DOCTEST_REQUIRE_EQ’ 46 | DOCTEST_REQUIRE_EQ(transform.q.s, sinf(sweep.a0)); | ^~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:46:35: error: expression cannot be used as a function 46 | DOCTEST_REQUIRE_EQ(transform.q.s, sinf(sweep.a0)); /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In lambda function: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2781:57: error: static assertion failed: Exceptions are disabled! Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled. 2781 | #define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ | ^~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2801:28: note: in expansion of macro ‘DOCTEST_EXCEPTION_EMPTY_FUNC’ 2801 | #define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:49:17: note: in expansion of macro ‘DOCTEST_REQUIRE_EQ’ 49 | DOCTEST_REQUIRE_EQ(transform.p.x, sweep.c.x); | ^~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:49:35: error: expression cannot be used as a function 49 | DOCTEST_REQUIRE_EQ(transform.p.x, sweep.c.x); /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In lambda function: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2781:57: error: static assertion failed: Exceptions are disabled! Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled. 2781 | #define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ | ^~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2801:28: note: in expansion of macro ‘DOCTEST_EXCEPTION_EMPTY_FUNC’ 2801 | #define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:50:17: note: in expansion of macro ‘DOCTEST_REQUIRE_EQ’ 50 | DOCTEST_REQUIRE_EQ(transform.p.y, sweep.c.y); | ^~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:50:35: error: expression cannot be used as a function 50 | DOCTEST_REQUIRE_EQ(transform.p.y, sweep.c.y); /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In lambda function: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2781:57: error: static assertion failed: Exceptions are disabled! Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled. 2781 | #define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ | ^~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2801:28: note: in expansion of macro ‘DOCTEST_EXCEPTION_EMPTY_FUNC’ 2801 | #define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:51:17: note: in expansion of macro ‘DOCTEST_REQUIRE_EQ’ 51 | DOCTEST_REQUIRE_EQ(transform.q.c, cosf(sweep.a)); | ^~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:51:35: error: expression cannot be used as a function 51 | DOCTEST_REQUIRE_EQ(transform.q.c, cosf(sweep.a)); /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In lambda function: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2781:57: error: static assertion failed: Exceptions are disabled! Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled. 2781 | #define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ | ^~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/doctest.h:2801:28: note: in expansion of macro ‘DOCTEST_EXCEPTION_EMPTY_FUNC’ 2801 | #define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:52:17: note: in expansion of macro ‘DOCTEST_REQUIRE_EQ’ 52 | DOCTEST_REQUIRE_EQ(transform.q.s, sinf(sweep.a)); | ^~~~~~~~~~~~~~~~~~ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp: In function ‘void DOCTEST_ANON_FUNC_2()’: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/unit-test/math_test.cpp:52:35: error: expression cannot be used as a function 52 | DOCTEST_REQUIRE_EQ(transform.q.s, sinf(sweep.a)); make[2]: *** [unit-test/CMakeFiles/unit_test.dir/build.make:121: unit-test/CMakeFiles/unit_test.dir/math_test.cpp.o] Error 1 make[2]: Target 'unit-test/CMakeFiles/unit_test.dir/build' not remade because of errors. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make[1]: *** [CMakeFiles/Makefile2:235: unit-test/CMakeFiles/unit_test.dir/all] Error 2 make -f extern/glad/CMakeFiles/glad.dir/build.make extern/glad/CMakeFiles/glad.dir/depend make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1 /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/extern/glad /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/extern/glad /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/extern/glad/CMakeFiles/glad.dir/DependInfo.cmake "--color=" make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make -f extern/glad/CMakeFiles/glad.dir/build.make extern/glad/CMakeFiles/glad.dir/build make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make[2]: Nothing to be done for 'extern/glad/CMakeFiles/glad.dir/build'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' [ 34%] Built target glad make -f extern/glfw/CMakeFiles/glfw.dir/build.make extern/glfw/CMakeFiles/glfw.dir/depend make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1 /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/extern/glfw /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/extern/glfw /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/extern/glfw/CMakeFiles/glfw.dir/DependInfo.cmake "--color=" make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make -f extern/glfw/CMakeFiles/glfw.dir/build.make extern/glfw/CMakeFiles/glfw.dir/build make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make[2]: Nothing to be done for 'extern/glfw/CMakeFiles/glfw.dir/build'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' [ 46%] Built target glfw make -f extern/imgui/CMakeFiles/imgui.dir/build.make extern/imgui/CMakeFiles/imgui.dir/depend make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1 /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/extern/imgui /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/extern/imgui /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/extern/imgui/CMakeFiles/imgui.dir/DependInfo.cmake "--color=" make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make -f extern/imgui/CMakeFiles/imgui.dir/build.make extern/imgui/CMakeFiles/imgui.dir/build make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make[2]: Nothing to be done for 'extern/imgui/CMakeFiles/imgui.dir/build'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' [ 49%] Built target imgui make -f extern/sajson/CMakeFiles/sajson.dir/build.make extern/sajson/CMakeFiles/sajson.dir/depend make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1 /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/extern/sajson /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/extern/sajson /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/extern/sajson/CMakeFiles/sajson.dir/DependInfo.cmake "--color=" make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make -f extern/sajson/CMakeFiles/sajson.dir/build.make extern/sajson/CMakeFiles/sajson.dir/build make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make[2]: Nothing to be done for 'extern/sajson/CMakeFiles/sajson.dir/build'. make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' [ 51%] Built target sajson make -f testbed/CMakeFiles/testbed.dir/build.make testbed/CMakeFiles/testbed.dir/depend make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1 /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/testbed /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/testbed /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/testbed/CMakeFiles/testbed.dir/DependInfo.cmake "--color=" make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' make -f testbed/CMakeFiles/testbed.dir/build.make testbed/CMakeFiles/testbed.dir/build make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu' [ 51%] Linking CXX executable ../bin/testbed cd /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/testbed && /usr/bin/cmake -E cmake_link_script CMakeFiles/testbed.dir/link.txt --verbose=1 /usr/bin/g++ -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fno-rtti -fno-exceptions -DNDEBUG -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--gc-sections -Wl,--as-needed -Wl,--build-id=sha1 -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,pack-relative-relocs -flto=auto -fuse-linker-plugin CMakeFiles/testbed.dir/draw.cpp.o CMakeFiles/testbed.dir/imgui_impl_glfw.cpp.o CMakeFiles/testbed.dir/imgui_impl_opengl3.cpp.o CMakeFiles/testbed.dir/main.cpp.o CMakeFiles/testbed.dir/settings.cpp.o CMakeFiles/testbed.dir/test.cpp.o CMakeFiles/testbed.dir/tests/benchmark_boxes.cpp.o CMakeFiles/testbed.dir/tests/add_pair.cpp.o CMakeFiles/testbed.dir/tests/apply_force.cpp.o CMakeFiles/testbed.dir/tests/body_types.cpp.o CMakeFiles/testbed.dir/tests/box_stack.cpp.o CMakeFiles/testbed.dir/tests/breakable.cpp.o CMakeFiles/testbed.dir/tests/bridge.cpp.o CMakeFiles/testbed.dir/tests/bullet_test.cpp.o CMakeFiles/testbed.dir/tests/cantilever.cpp.o CMakeFiles/testbed.dir/tests/car.cpp.o CMakeFiles/testbed.dir/tests/chain.cpp.o CMakeFiles/testbed.dir/tests/chain_problem.cpp.o CMakeFiles/testbed.dir/tests/character_collision.cpp.o CMakeFiles/testbed.dir/tests/circle_stack.cpp.o CMakeFiles/testbed.dir/tests/collision_filtering.cpp.o CMakeFiles/testbed.dir/tests/collision_processing.cpp.o CMakeFiles/testbed.dir/tests/compound_shapes.cpp.o CMakeFiles/testbed.dir/tests/confined.cpp.o CMakeFiles/testbed.dir/tests/continuous_test.cpp.o CMakeFiles/testbed.dir/tests/convex_hull.cpp.o CMakeFiles/testbed.dir/tests/conveyor_belt.cpp.o CMakeFiles/testbed.dir/tests/distance_joint.cpp.o CMakeFiles/testbed.dir/tests/distance_test.cpp.o CMakeFiles/testbed.dir/tests/dominos.cpp.o CMakeFiles/testbed.dir/tests/dump_loader.cpp.o CMakeFiles/testbed.dir/tests/dynamic_tree.cpp.o CMakeFiles/testbed.dir/tests/edge_shapes.cpp.o CMakeFiles/testbed.dir/tests/edge_test.cpp.o CMakeFiles/testbed.dir/tests/friction.cpp.o CMakeFiles/testbed.dir/tests/gear_joint.cpp.o CMakeFiles/testbed.dir/tests/heavy1.cpp.o CMakeFiles/testbed.dir/tests/heavy2.cpp.o CMakeFiles/testbed.dir/tests/mobile_balanced.cpp.o CMakeFiles/testbed.dir/tests/mobile_unbalanced.cpp.o CMakeFiles/testbed.dir/tests/motor_joint.cpp.o CMakeFiles/testbed.dir/tests/pinball.cpp.o CMakeFiles/testbed.dir/tests/platformer.cpp.o CMakeFiles/testbed.dir/tests/polygon_collision.cpp.o CMakeFiles/testbed.dir/tests/polygon_shapes.cpp.o CMakeFiles/testbed.dir/tests/prismatic_joint.cpp.o CMakeFiles/testbed.dir/tests/pulley_joint.cpp.o CMakeFiles/testbed.dir/tests/pyramid.cpp.o CMakeFiles/testbed.dir/tests/ray_cast.cpp.o CMakeFiles/testbed.dir/tests/restitution.cpp.o CMakeFiles/testbed.dir/tests/revolute_joint.cpp.o CMakeFiles/testbed.dir/tests/rope.cpp.o CMakeFiles/testbed.dir/tests/sensor.cpp.o CMakeFiles/testbed.dir/tests/shape_cast.cpp.o CMakeFiles/testbed.dir/tests/shape_editing.cpp.o CMakeFiles/testbed.dir/tests/skier.cpp.o CMakeFiles/testbed.dir/tests/slider_crank_1.cpp.o CMakeFiles/testbed.dir/tests/slider_crank_2.cpp.o CMakeFiles/testbed.dir/tests/theo_jansen.cpp.o CMakeFiles/testbed.dir/tests/tiles.cpp.o CMakeFiles/testbed.dir/tests/time_of_impact.cpp.o CMakeFiles/testbed.dir/tests/tumbler.cpp.o CMakeFiles/testbed.dir/tests/web.cpp.o CMakeFiles/testbed.dir/tests/wheel_joint.cpp.o CMakeFiles/testbed.dir/tests/wrecking_ball.cpp.o -o ../bin/testbed -Wl,-rpath,/home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/x86_64-redhat-linux-gnu/bin ../bin/libbox2d.so.2.4.1 ../bin/libglfw.a ../bin/libimgui.a ../bin/libsajson.a ../bin/libglad.a /usr/lib64/librt.a -lm -ldl /usr/lib64/libX11.so /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/extern/imgui/../imgui/imgui.h:1269:8: warning: type ‘struct ImGuiIO’ violates the C++ One Definition Rule [-Wodr] 1269 | struct ImGuiIO | ^ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/extern/imgui/../imgui/imgui.h:1269:8: note: a different type is defined in another translation unit 1269 | struct ImGuiIO | ^ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/extern/imgui/../imgui/imgui.h:1331:19: note: the first difference of corresponding definitions is field ‘RenderDrawListsFn’ 1331 | void (*RenderDrawListsFn)(ImDrawData* data); | ^ /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/extern/imgui/../imgui/imgui.h:1334:17: note: a field with different name is defined in another translation unit 1334 | void* RenderDrawListsFnUnused; | ^ /usr/bin/ld: /tmp/ccbnLTL2.ltrans1.ltrans.o: in function `ConvexHull::Step(Settings&)': /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/testbed/tests/convex_hull.cpp:116:(.text._ZN10ConvexHull4StepER8Settings+0x2b4): undefined reference to `b2ComputeHull(b2Vec2 const*, int)' /usr/bin/ld: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/testbed/tests/convex_hull.cpp:124:(.text._ZN10ConvexHull4StepER8Settings+0x309): undefined reference to `b2ValidateHull(b2Hull const&)' /usr/bin/ld: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/testbed/tests/convex_hull.cpp:150:(.text._ZN10ConvexHull4StepER8Settings+0x382): undefined reference to `b2ComputeHull(b2Vec2 const*, int)' /usr/bin/ld: /home/tkloczko/rpmbuild/BUILD/box2d-2.4.1/testbed/tests/convex_hull.cpp:153:(.text._ZN10ConvexHull4StepER8Settings+0x61f): undefined reference to `b2ValidateHull(b2Hull const&)' collect2: error: ld returned 1 exit status make[2]: *** [testbed/CMakeFiles/testbed.dir/build.make:1132: bin/testbed] Error 1 ```

Is it pssible to reopen this ticket? 🤔

kloczek commented 6 months ago

Gentle ping .. any update? 🤔

erincatto commented 6 months ago

Sorry, I've been working exclusively on version 3. Maybe I can do something to quickly fix this.

SpongeManiac commented 6 months ago

I'm hitting this barrier now too. I'll roll with disabling unit tests for now.

erincatto commented 6 months ago

I think I'll need more info. Either it is a problem with doctest itself or a problem with the unit test. For example, I forced a unit test to fail and it prints out the values. I need this data.

\box2d\unit-test\math_test.cpp(43): FATAL ERROR: REQUIRE_EQ( transform.p.x, sweep.c0.x + 0.01f ) is NOT correct!
  values: REQUIRE_EQ( -2, -1.99 )

This pull request has the latest version of doctest: https://github.com/erincatto/box2d/pull/763