Bug#1097622: plplot: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:45:00 GMT 2025


Package: src:plplot
Version: 5.15.0+dfsg2-13
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/plplot_5.15.0+dfsg2-13_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other 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-15/porting_to.html

[...]
plplot_impl.c:270:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  270 |         mapform = caml_named_value( CAML_PLPLOT_MAPFORM_FUNC_NAME );
      |                 ^
plplot_impl.c: In function ‘ml_plslabelfunc’:
plplot_impl.c:290:15: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  290 |         label = caml_named_value( CAML_PLPLOT_LABEL_FUNC_NAME );
      |               ^
plplot_impl.c: In function ‘ml_plsabort’:
plplot_impl.c:312:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  312 |         handler = caml_named_value( CAML_PLPLOT_ABORT_FUNC_NAME );
      |                 ^
plplot_impl.c: In function ‘ml_plsexit’:
plplot_impl.c:331:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  331 |         handler = caml_named_value( CAML_PLPLOT_EXIT_FUNC_NAME );
      |                 ^
plplot_impl.c: In function ‘ml_plstransform’:
plplot_impl.c:352:17: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  352 |         handler = caml_named_value( CAML_PLPLOT_TRANSFORM_FUNC_NAME );
      |                 ^
plplot_impl.c: In function ‘ml_plparseopts’:
plplot_impl.c:732:55: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
  732 |     for ( i = 0; i < o ## _length; i++ ) { c_ ## o[i] = String_val( Field( o, i ) ); }
      |                                                       ^
plplot_impl.c:775:5: note: in expansion of macro ‘INIT_NC_STRING_ARRAY’
  775 |     INIT_NC_STRING_ARRAY( argv )
      |     ^~~~~~~~~~~~~~~~~~~~
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/ocaml && /usr/bin/ocamlmklib -o plplot_stubs -L/usr/lib/x86_64-linux-gnu/ocaml/5.3.0 -lcamlidl -ccopt -L/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/src -cclib -lplplot plplot_core_stubs.o plplot_impl.o
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/ocaml && /usr/bin/ocamlmklib -o installed_plplot_stubs -L/usr/lib/x86_64-linux-gnu/ocaml/5.3.0 -lcamlidl -ccopt -L/usr/lib/x86_64-linux-gnu -cclib -lplplot plplot_core_stubs.o plplot_impl.o
make[3]: Leaving directory '/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu'
[ 41%] Built target target_lib_plplot_stubs
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/python && /usr/bin/cmake -E cmake_link_script CMakeFiles/plplotc.dir/link.txt --verbose=1
/usr/bin/cc -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/plplot-5.15.0+dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fvisibility=hidden -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/octave-9.4.0/octave/.. -I/usr/include/octave-9.4.0/octave -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/octave-9.4.0/octave/.. -I/usr/include/octave-9.4.0/octave -Wl,--dependency-file=CMakeFiles/plplotc.dir/link.d -Wl,-z,relro -Wl,-z,now -Wl,--no-allow-shlib-undefined -Wl,--no-copy-dt-needed-entries -Wl,--no-undefined -shared  -o _plplotc.so CMakeFiles/plplotc.dir/plplotcPYTHON_wrap.c.o  -Wl,-rpath,/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/src:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/csa:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/nn:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime: ../../src/libplplot.so.17.0.0 /usr/lib/x86_64-linux-gnu/libpython3.13.so -Wl,-rpath-link,/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/csa:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/nn:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime
make[3]: Leaving directory '/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu'
[ 42%] Built target plplotc
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/lua && /usr/bin/cmake -E cmake_link_script CMakeFiles/plplotluac.dir/link.txt --verbose=1
/usr/bin/cc -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/plplot-5.15.0+dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fvisibility=hidden -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/octave-9.4.0/octave/.. -I/usr/include/octave-9.4.0/octave -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/octave-9.4.0/octave/.. -I/usr/include/octave-9.4.0/octave -Wl,--dependency-file=CMakeFiles/plplotluac.dir/link.d -Wl,-z,relro -Wl,-z,now -Wl,--no-allow-shlib-undefined -Wl,--no-copy-dt-needed-entries -Wl,--no-undefined -shared  -o plplotluac.so CMakeFiles/plplotluac.dir/plplotluacLUA_wrap.c.o  -Wl,-rpath,/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/src:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/csa:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/nn:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime: ../../src/libplplot.so.17.0.0 /usr/lib/x86_64-linux-gnu/liblua5.1.so -lm -Wl,-rpath-link,/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/csa:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/nn:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime
make[3]: Leaving directory '/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu'
[ 42%] Built target plplotluac
/usr/bin/cmake -E cmake_copy_f90_mod bindings/fortran/plplot_double.mod bindings/fortran/CMakeFiles/plplotfortran.dir/plplot_double.mod.stamp GNU
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/fortran && /usr/bin/gfortran -DPLPLOT_HAVE_CONFIG_H -DUSINGDLL -Dplplotfortran_EXPORTS -I/build/reproducible-path/plplot-5.15.0+dfsg2/include -I/build/reproducible-path/plplot-5.15.0+dfsg2/lib/qsastime -I/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu -I/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/include -I/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime -I/build/reproducible-path/plplot-5.15.0+dfsg2/bindings/fortran -I/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/fortran -g -O2 -ffile-prefix-map=/build/reproducible-path/plplot-5.15.0+dfsg2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -fvisibility=hidden -fPIC -c /build/reproducible-path/plplot-5.15.0+dfsg2/bindings/fortran/plplot.f90 -o CMakeFiles/plplotfortran.dir/plplot.f90.o
/usr/bin/cmake -E touch bindings/fortran/CMakeFiles/plplotfortran.dir/plplot_double.f90.o.provides.build
/build/reproducible-path/plplot-5.15.0+dfsg2/bindings/fortran/plplot.f90:75:7:

   75 |        function interface_plparseopts( argc, argv, mode ) bind(c,name='c_plparseopts')
      |       1
Warning: Symbol ‘interface_plparseopts’ at (1) is marked PRIVATE but has been given the binding label ‘c_plparseopts’
/usr/bin/cmake -E cmake_copy_f90_mod bindings/fortran/plplot.mod bindings/fortran/CMakeFiles/plplotfortran.dir/plplot.mod.stamp GNU
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/fortran && /usr/bin/cmake -E cmake_link_script CMakeFiles/plplotfortran.dir/link.txt --verbose=1
/usr/bin/cmake -E touch bindings/fortran/CMakeFiles/plplotfortran.dir/plplot.f90.o.provides.build
/usr/bin/gfortran -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/plplot-5.15.0+dfsg2=. -fstack-protector-strong -fstack-clash-protection -fcf-protection -fvisibility=hidden -Wl,--dependency-file=CMakeFiles/plplotfortran.dir/link.d -Wl,-z,relro -Wl,-z,now -Wl,--no-allow-shlib-undefined -Wl,--no-copy-dt-needed-entries -Wl,--no-undefined -shared -Wl,-soname,libplplotfortran.so.0 -o libplplotfortran.so.0.2.0 CMakeFiles/plplotfortran.dir/plplot.f90.o CMakeFiles/plplotfortran.dir/plplot_single.f90.o CMakeFiles/plplotfortran.dir/plplot_double.f90.o CMakeFiles/plplotfortran.dir/plplot_small_modules.f90.o  -Wl,-rpath,/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/src:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/csa:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/nn:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime: ../../src/libplplot.so.17.0.0 -Wl,-rpath-link,/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/csa:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/nn:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/fortran && /usr/bin/cmake -E cmake_symlink_library libplplotfortran.so.0.2.0 libplplotfortran.so.0 libplplotfortran.so
make[3]: Leaving directory '/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu'
[ 42%] Built target plplotfortran
Generating the .pro file for the plplot_pyqt5 module...
Generating the top-level .pro file...
Generating the Makefiles...
The project has been built.
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/qt_gui/pyqt5 && /usr/bin/cmake -E copy build/plplot_pyqt5/sipAPIplplot_pyqt5.h build/plplot_pyqt5/sipplplot_pyqt5cmodule.cpp build/plplot_pyqt5/sipplplot_pyqt5QtExtWidget.cpp build/plplot_pyqt5/sipplplot_pyqt5QtPLDriver.cpp build/plplot_pyqt5/sipplplot_pyqt5QtPLWidget.cpp build/sip.h /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/qt_gui/pyqt5
make[3]: Leaving directory '/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu'
[ 42%] Built target generate_pyqt5_source
cd /build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/bindings/octave && /usr/bin/cmake -E cmake_link_script CMakeFiles/plplot_octave.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -g -O2 -ffile-prefix-map=/build/reproducible-path/plplot-5.15.0+dfsg2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/octave-9.4.0/octave/.. -I/usr/include/octave-9.4.0/octave -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/octave-9.4.0/octave/.. -I/usr/include/octave-9.4.0/octave -Wl,--dependency-file=CMakeFiles/plplot_octave.dir/link.d -Wl,-z,relro -Wl,-z,now -Wl,--no-allow-shlib-undefined -Wl,--no-copy-dt-needed-entries -Wl,--no-undefined -shared  -o plplot_octave.oct CMakeFiles/plplot_octave.dir/plplot_octaveOCTAVE_wrap.cxx.o  -Wl,-rpath,/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/src:/usr/lib/x86_64-linux-gnu/octave/9.4.0:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/csa:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/nn:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime: ../../src/libplplot.so.17.0.0 /usr/lib/x86_64-linux-gnu/octave/9.4.0/liboctave.so /usr/lib/x86_64-linux-gnu/octave/9.4.0/liboctinterp.so -Wl,-rpath-link,/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/csa:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/nn:/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu/lib/qsastime
make[3]: Leaving directory '/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu'
[ 42%] Built target plplot_octave
make[2]: Leaving directory '/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu'
make[1]: *** [Makefile:169: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/plplot-5.15.0+dfsg2/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:64: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the debian-science-maintainers mailing list