#1133577 nordugrid-arc: ftbfs with GCC-16

#1133577#5
Date:
2026-04-13 13:08:22 UTC
From:
To:
Hi,

nordugrid-arc fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.

The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/nordugrid-arc_arm64.build.xz

The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++

Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html

Please only close this issue after double-checking that the package can be
built correctly with GCC 16.

Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.

[...]


/usr/include/c++/16/bits/std_thread.h: In instantiation of 'std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = int; _Args = {}; <template-parameter-1-3> = void]':
Run_unix.cpp:138:65:   required from here
  138 |       thread_ = std::thread(sigc::mem_fun(*this, &RunPump::Pump));
      |                                                                 ^
/usr/include/c++/16/bits/std_thread.h:168:72: error: static assertion failed: std::thread arguments must be invocable after conversion to rvalues
  168 |                                       typename decay<_Args>::type...>::value,
      |                                                                        ^~~~~
  • 'std::integral_constant<bool, false>::value' evaluates to false
/usr/include/c++/16/bits/std_thread.h: In instantiation of 'struct std::thread::_Invoker<std::tuple<int> >':
/usr/include/c++/16/bits/std_thread.h:247:13:   required from 'struct std::thread::_State_impl<std::thread::_Invoker<std::tuple<int> > >'
  247 |         _Callable               _M_func;
      |                                 ^~~~~~~
/usr/include/c++/16/bits/std_thread.h:175:29:   required from 'std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = int; _Args = {}; <template-parameter-1-3> = void]'
  175 |         _M_start_thread(_State_ptr(new _State_impl<_Wrapper>(
      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
  176 |               std::forward<_Callable>(__f), std::forward<_Args>(__args)...)),
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Run_unix.cpp:138:65:   required from here
  138 |       thread_ = std::thread(sigc::mem_fun(*this, &RunPump::Pump));
      |                                                                 ^
/usr/include/c++/16/bits/std_thread.h:302:11: error: no type named 'type' in 'struct std::thread::_Invoker<std::tuple<int> >::__result<std::tuple<int> >'
  302 |           _M_invoke(_Index_tuple<_Ind...>)
      |           ^~~~~~~~~
/usr/include/c++/16/bits/std_thread.h:306:9: error: no type named 'type' in 'struct std::thread::_Invoker<std::tuple<int> >::__result<std::tuple<int> >'
  306 |         operator()()
      |         ^~~~~~~~
make[7]: *** [Makefile:1026: libarccommon_la-UserConfig.lo] Error 1
Run_unix.cpp: In member function 'void Arc::RunInitializerArgument::Run()':
Run_unix.cpp:102:31: warning: ignoring return value of 'int setgid(__gid_t)' declared with attribute 'warn_unused_result' [-Wunused-result]
  102 |     if(group_id_ > 0) ::setgid(group_id_);
      |                       ~~~~~~~~^~~~~~~~~~~
Run_unix.cpp:109:33: warning: ignoring return value of 'int setgid(__gid_t)' declared with attribute 'warn_unused_result' [-Wunused-result]
  109 |       if(group_id_ > 0) ::setgid(group_id_);
      |                         ~~~~~~~~^~~~~~~~~~~
Run_unix.cpp: In static member function 'static void Arc::RunPump::sigchld_handler(int)':
Run_unix.cpp:158:16: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result]
  158 |     (void)write(instance_->loop_kick_[1], &dummy, 1);
      |           ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Run_unix.cpp: In member function 'void Arc::RunPump::Pump()':
Run_unix.cpp:242:25: warning: ignoring return value of 'ssize_t read(int, void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result]
  242 |               (void)read(handles[0].fd, &dummy, 1);
      |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
Run_unix.cpp: In member function 'void Arc::RunPump::Add(Arc::Run*)':
Run_unix.cpp:344:18: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result]
  344 |       (void)write(loop_kick_[1], &dummy, 1);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
Run_unix.cpp: In member function 'void Arc::RunPump::Remove(Arc::Run*)':
Run_unix.cpp:360:18: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result]
  360 |       (void)write(loop_kick_[1], &dummy, 1);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
Run_unix.cpp: In function 'void Arc::exit_child(int, const char*)':
Run_unix.cpp:478:16: warning: ignoring return value of 'ssize_t write(int, const void*, size_t)' declared with attribute 'warn_unused_result' [-Wunused-result]
  478 |     (void)write(2, msg, l);
      |           ~~~~~^~~~~~~~~~~
make[7]: *** [Makefile:1096: libarccommon_la-Run_unix.lo] Error 1
make[7]: Leaving directory '/build/reproducible-path/nordugrid-arc-7.1.1/src/hed/libs/common'
make[6]: *** [Makefile:1188: all-recursive] Error 1
make[6]: Leaving directory '/build/reproducible-path/nordugrid-arc-7.1.1/src/hed/libs/common'
make[5]: *** [Makefile:555: all-recursive] Error 1
make[5]: Leaving directory '/build/reproducible-path/nordugrid-arc-7.1.1/src/hed/libs'
make[4]: *** [Makefile:596: all-recursive] Error 1
make[4]: Leaving directory '/build/reproducible-path/nordugrid-arc-7.1.1/src/hed'
make[3]: *** [Makefile:542: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/nordugrid-arc-7.1.1/src'
make[2]: *** [Makefile:611: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/nordugrid-arc-7.1.1'
make[1]: *** [Makefile:533: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/nordugrid-arc-7.1.1'
dh_auto_build: error: make -j128 returned exit code 2
make: *** [debian/rules:16: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2