[Debian-med-packaging] Bug#984043: ea-utils: ftbfs with GCC-11

Matthias Klose doko at debian.org
Wed Mar 3 16:11:49 GMT 2021


Package: src:ea-utils
Version: 1.1.2+dfsg-6
Severity: normal
Tags: sid bookworm
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-11

[This bug is not targeted to the upcoming bullseye 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-11/g++-11, but succeeds to build with gcc-10/g++-10. The
severity of this report will be raised before the bookworm release,
so nothing has to be done for the bullseye release.

The full build log can be found at:
http://people.debian.org/~doko/logs/20210228/filtered/gcc11/ea-utils_1.1.2+dfsg-6_unstable_gcc11.log
The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++ 

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-11/porting_to.html

GCC 11 defaults to the GNU++17 standard.  If your package installs
header files in /usr/include, please don't work around C++17 issues
by choosing a lower C++ standard for the package build, but fix these
issues to build with the C++17 standard.

[...]
      |                    ^
g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security fastq-lib.cpp -o fastq-clipper fastq-clipper.c -Wl,-z,relro -Wl,-z,now
fastq-lib.cpp: In function ‘int getstr(char**, size_t*, FILE*, char, int)’:
fastq-lib.cpp:284:20: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  284 |       register int c = getc (stream);
      |                    ^
fastq-mcf.c: In function ‘int main(int, char**)’:
fastq-mcf.c:633:65: warning: too many arguments for format [-Wformat-extra-args]
  633 |                                                 fprintf(stderr, "Warning, corrupt quality for sequence: %s", s, q);
      |                                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fastq-mcf.c:849:56: warning: too many arguments for format [-Wformat-extra-args]
  849 |                                         fprintf(fstat, ", warning end was not reliable\n", ad[a].id, ad[a].seq);
      |                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fastq-mcf.c: In function ‘bool arg_int_pair(const char*, int&, int&)’:
fastq-mcf.c:1657:6: warning: control reaches end of non-void function [-Wreturn-type]
 1657 |     b=atoi(strchr(optarg, ',')+1);
      |     ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security fastq-lib.cpp sam-stats.cpp -lbam -lz -lpthread -o sam-stats -Wl,-z,relro -Wl,-z,now
fastq-lib.cpp: In function ‘int getstr(char**, size_t*, FILE*, char, int)’:
fastq-lib.cpp:284:20: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  284 |       register int c = getc (stream);
      |                    ^
g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security fastq-lib.cpp tidx/tidx-lib.cpp -o varcall varcall.cpp -lgsl -lgslcblas -Wl,-z,relro -Wl,-z,now
fastq-stats.cpp: In function ‘int main(int, char**)’:
fastq-stats.cpp:183:37: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
  183 |                         case 'D': ++nodup; break;
      |                                     ^~~~~
fastq-stats.cpp:184:37: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
  184 |                         case 'd': ++debug; break;
      |                                     ^~~~~
fastq-stats.cpp:187:61: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
  187 |                         case 'x': fastx_outfile = optarg; ++fastx; break;
      |                                                             ^~~~~
fastq-stats.cpp:188:63: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
  188 |                         case 'b': brkdown_outfile = optarg; ++brkdown; break;
      |                                                               ^~~~~~~
fastq-stats.cpp:189:37: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
  189 |                         case 'L': ++len_hist; lenhist_outfile = optarg; break;
      |                                     ^~~~~~~~
fastq-stats.cpp:190:58: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
  190 |                         case 'g': gc_outfile = optarg; ++gc; break;
      |                                                          ^~
fastq-lib.cpp: In function ‘int getstr(char**, size_t*, FILE*, char, int)’:
fastq-lib.cpp:284:20: warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]
  284 |       register int c = getc (stream);
      |                    ^
make[1]: *** [Makefile:94: fastq-stats] Error 1
make[1]: *** Waiting for unfinished jobs....
sam-stats.cpp: In function ‘int main(int, char**)’:
sam-stats.cpp:229:29: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
  229 |                 case 'D': ++trackdup; break;
      |                             ^~~~~~~~
sam-stats.cpp: In member function ‘int ibucket::operator[](int) const’:
sam-stats.cpp:140:9: warning: control reaches end of non-void function [-Wreturn-type]
  140 |         }
      |         ^
make[1]: *** [Makefile:81: sam-stats] Error 1
varcall.cpp: In member function ‘vfinal& vfinal::operator=(const vfinal&)’:
varcall.cpp:128:122: warning: no return statement in function returning non-void [-Wreturn-type]
  128 |     vfinal & operator=(vfinal const&x) {max_idl_seq=x.max_idl_seq; max_idl_cnt=x.max_idl_cnt; padj=x.padj; pcall=x.pcall;}
      |                                                                                                                          ^
      |                                                                                                                          return *this;
varcall.cpp: In member function ‘virtual void VarStatVisitor::Visit(PileupSummary&)’:
varcall.cpp:1584:33: warning: too many arguments for format [-Wformat-extra-args]
 1584 |                 fprintf(noise_f,"%d\t%c\t%f\t%f\n", p.Depth, pbase, noise, qnoise, mnqual);
      |                                 ^~~~~~~~~~~~~~~~~~
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:13: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Debian-med-packaging mailing list