Bug#983941: ensmallen: ftbfs with -march=x86-64-v3

Matthias Klose doko at debian.org
Wed Mar 3 15:39:05 GMT 2021


Package: src:ensmallen
Version: 2.16.0-1
Severity: minor
User: debian-gcc at lists.debian.org
Usertags: ftbfs-x86-64-v3

Starting with LLVM 12 and GCC 11 (and backported to gcc-10 for Debian), 
GCC introduces optimizations for new micro-architecture levels from
the x86-64 psABI.  Filing these bug reports for packages building with
the current level (x86-64), but not with x86-64-v3.

To reproduce these issues, append -march=x86-64-v3 to the compiler
flags (CFLAGS, CXXFLAGS, ...).  You also need hardware supporting these.
The easiest way is to call the dynamic linker in glibc 2.33 like
  /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 --help
Otherwise look at the flags in /proc/cpuinfo and compare these with
those from table 3.1 in the System V Application Binary Interface doc:
https://gitlab.com/x86-psABIs/x86-64-ABI/-/wikis/x86-64-psABI

Please don't upload a package setting these flags by default.  The
x86-64 baseline is still unchanged.

The full build log can be found at:
http://people.debian.org/~doko/logs/20210228/filtered/gcc10-v3/ensmallen_2.16.0-1_unstable_gcc10-v3.log
The last lines of the build log are at the end of this report.

[...]
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/c++  -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wpedantic -Wunused-parameter -std=gnu++11 -o CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o -c /<<PKGBUILDDIR>>/tests/smorms3_test.cpp
[ 86%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/c++  -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wpedantic -Wunused-parameter -std=gnu++11 -o CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o -c /<<PKGBUILDDIR>>/tests/snapshot_ensembles.cpp
[ 88%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/c++  -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wpedantic -Wunused-parameter -std=gnu++11 -o CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o -c /<<PKGBUILDDIR>>/tests/spalera_sgd_test.cpp
[ 91%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/c++  -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wpedantic -Wunused-parameter -std=gnu++11 -o CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o -c /<<PKGBUILDDIR>>/tests/spsa_test.cpp
[ 93%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/c++  -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wpedantic -Wunused-parameter -std=gnu++11 -o CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o -c /<<PKGBUILDDIR>>/tests/svrg_test.cpp
[ 95%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/swats_test.cpp.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/c++  -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wpedantic -Wunused-parameter -std=gnu++11 -o CMakeFiles/ensmallen_tests.dir/swats_test.cpp.o -c /<<PKGBUILDDIR>>/tests/swats_test.cpp
[ 97%] Building CXX object tests/CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/c++  -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wpedantic -Wunused-parameter -std=gnu++11 -o CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o -c /<<PKGBUILDDIR>>/tests/wn_grad_test.cpp
[100%] Linking CXX executable ../ensmallen_tests
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/ensmallen_tests.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -rdynamic CMakeFiles/ensmallen_tests.dir/main.cpp.o CMakeFiles/ensmallen_tests.dir/ada_bound_test.cpp.o CMakeFiles/ensmallen_tests.dir/ada_delta_test.cpp.o CMakeFiles/ensmallen_tests.dir/ada_grad_test.cpp.o CMakeFiles/ensmallen_tests.dir/adam_test.cpp.o CMakeFiles/ensmallen_tests.dir/aug_lagrangian_test.cpp.o CMakeFiles/ensmallen_tests.dir/bigbatch_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/callbacks_test.cpp.o CMakeFiles/ensmallen_tests.dir/cmaes_test.cpp.o CMakeFiles/ensmallen_tests.dir/cne_test.cpp.o CMakeFiles/ensmallen_tests.dir/de_test.cpp.o CMakeFiles/ensmallen_tests.dir/eve_test.cpp.o CMakeFiles/ensmallen_tests.dir/frankwolfe_test.cpp.o CMakeFiles/ensmallen_tests.dir/ftml_test.cpp.o CMakeFiles/ensmallen_tests.dir/function_test.cpp.o CMakeFiles/ensmallen_tests.dir/gradient_descent_test.cpp.o CMakeFiles/ensmallen_tests.dir/grid_search_test.cpp.o CMakeFiles/ensmallen_tests.dir/iqn_test.cpp.o CMakeFiles/ensmallen_tests.dir/katyusha_test.cpp.o CMakeFiles/ensmallen_tests.dir/lbfgs_test.cpp.o CMakeFiles/ensmallen_tests.dir/line_search_test.cpp.o CMakeFiles/ensmallen_tests.dir/lookahead_test.cpp.o CMakeFiles/ensmallen_tests.dir/lrsdp_test.cpp.o CMakeFiles/ensmallen_tests.dir/momentum_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/nesterov_momentum_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/nsga2_test.cpp.o CMakeFiles/ensmallen_tests.dir/parallel_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/proximal_test.cpp.o CMakeFiles/ensmallen_tests.dir/pso_test.cpp.o CMakeFiles/ensmallen_tests.dir/quasi_hyperbolic_momentum_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/rmsprop_test.cpp.o CMakeFiles/ensmallen_tests.dir/sa_test.cpp.o CMakeFiles/ensmallen_tests.dir/sarah_test.cpp.o CMakeFiles/ensmallen_tests.dir/scd_test.cpp.o CMakeFiles/ensmallen_tests.dir/sdp_primal_dual_test.cpp.o CMakeFiles/ensmallen_tests.dir/sgdr_test.cpp.o CMakeFiles/ensmallen_tests.dir/sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/smorms3_test.cpp.o CMakeFiles/ensmallen_tests.dir/snapshot_ensembles.cpp.o CMakeFiles/ensmallen_tests.dir/spalera_sgd_test.cpp.o CMakeFiles/ensmallen_tests.dir/spsa_test.cpp.o CMakeFiles/ensmallen_tests.dir/svrg_test.cpp.o CMakeFiles/ensmallen_tests.dir/swats_test.cpp.o CMakeFiles/ensmallen_tests.dir/wn_grad_test.cpp.o -o ../ensmallen_tests  -lpthread /usr/lib/libarmadillo.so 
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/tests && /usr/bin/cmake -E copy_directory /<<PKGBUILDDIR>>/tests/data/ /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/data/
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
[100%] Built target ensmallen_tests
make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
/usr/bin/cmake -E cmake_progress_start /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/CMakeFiles 0
make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
env CTEST_OUTPUT_ON_FAILURE=1 dh_auto_test
	cd obj-x86_64-linux-gnu && make -j4 test ARGS\+=-j4
make[2]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
Running tests...
/usr/bin/ctest --force-new-ctest-process -j4
Test project /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu
    Start 1: ensmallen_tests
1/1 Test #1: ensmallen_tests ..................***Failed  173.96 sec
ensmallen version: 2.16.0 (Severely Dented Can Of Polyurethane)
armadillo version: 10.1.2 (Orchid Ambush)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ensmallen_tests is a Catch v2.4.1 host application.
Run with -? for options

-------------------------------------------------------------------------------
AdamSchafferFunctionN2Test
-------------------------------------------------------------------------------
./tests/adam_test.cpp:331
...............................................................................

./tests/test_function_tools.hpp:114: FAILED:
  REQUIRE( objective == Approx(expectedObjective).margin(objectiveMargin) )
with expansion:
  0.4988660447 == Approx( 0.0 )

===============================================================================
test cases:   274 |   273 passed | 1 failed
assertions: 13331 | 13330 passed | 1 failed



0% tests passed, 1 tests failed out of 1

Total Test time (real) = 173.96 sec

The following tests FAILED:
	  1 - ensmallen_tests (Failed)
Errors while running CTest
make[2]: *** [Makefile:119: test] Error 8
make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
dh_auto_test: error: cd obj-x86_64-linux-gnu && make -j4 test ARGS\+=-j4 returned exit code 2
make[1]: *** [debian/rules:11: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:8: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the debian-science-maintainers mailing list