[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#925852: vfu: ftbfs with GCC-9



Package: src:vfu
Version: 4.16+repack-1
Severity: normal
Tags: sid bullseye
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-9

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-9/g++-9, but succeeds to build with gcc-8/g++-8. The
severity of this report will be raised before the bullseye release,
so nothing has to be done for the buster release.

The full build log can be found at:
http://people.debian.org/~doko/logs/gcc9-20190321/vfu_4.16+repack-1_unstable_gcc9.log
The last lines of the build log are at the end of this report.

To build with GCC 9, either set CC=gcc-9 CXX=g++-9 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-9/porting_to.html

GCC 9 also passes the linker option --as-needed by default; typical
build issues are passing libraries before object files to the linker,
or underlinking of convenience libraries built from the same source.

[...]
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp install-stamp
# Add here commands to clean up after the build process.
cd yascreen; /usr/bin/make clean
make[1]: Entering directory '/<<BUILDDIR>>/vfu-4.16+repack/yascreen'
rm -f yastest yastest.shared yastest.o yascreen.o libyascreen.a libyascreen.so libyascreen.so.0 libyascreen.so.0.0.0
make[1]: Leaving directory '/<<BUILDDIR>>/vfu-4.16+repack/yascreen'
cd vslib;  /usr/bin/make clean
make[1]: Entering directory '/<<BUILDDIR>>/vfu-4.16+repack/vslib'
rm -f libvslib.a
rm -rf .OBJ.libvslib.a
rm -f libvscon.a
rm -rf .OBJ.libvscon.a
rm -f libvscony.a
rm -rf .OBJ.libvscony.a
rm -f test
rm -rf .OBJ.test
make[1]: Leaving directory '/<<BUILDDIR>>/vfu-4.16+repack/vslib'
cd vfu;    /usr/bin/make clean
make[1]: Entering directory '/<<BUILDDIR>>/vfu-4.16+repack/vfu'
rm -f vfu
rm -rf .OBJ.vfu
rm -f vfu.yas
rm -rf .OBJ.vfu.yas
make[1]: Leaving directory '/<<BUILDDIR>>/vfu-4.16+repack/vfu'
dh_clean
dpkg-buildpackage: warning: debian/rules must be updated to support the 'build-arch' and 'build-indep' targets (at least 'build-arch' seems to be missing)
 debian/rules build
dh_testdir
cd yascreen && /usr/bin/make
make[1]: Entering directory '/<<BUILDDIR>>/vfu-4.16+repack/yascreen'
cc -Wall -O3 -I. --std=gnu89 -flto  -o yascreen.o -c yascreen.c
gcc-ar r libyascreen.a yascreen.o
/usr/bin/ar: creating libyascreen.a
gcc-ranlib libyascreen.a
cc -Wall -O3 -I. --std=gnu89 -flto  -o libyascreen.so.0.0.0 yascreen.c -fPIC -lrt -shared
strip libyascreen.so.0.0.0
ln -fs libyascreen.so.0.0.0 libyascreen.so.0
ln -fs libyascreen.so.0 libyascreen.so
cc -Wall -O3 -I. --std=gnu89 -flto  -o yastest.o -c yastest.c
cc -Wall -O3 -I. --std=gnu89 -flto  -o yastest yastest.o yascreen.o -lrt
strip yastest
cc -Wall -O3 -I. --std=gnu89 -flto  -o yastest.shared yastest.o libyascreen.so -lrt -L. -lyascreen
strip yastest.shared
make[1]: Leaving directory '/<<BUILDDIR>>/vfu-4.16+repack/yascreen'
cd vslib && /usr/bin/make
make[1]: Entering directory '/<<BUILDDIR>>/vfu-4.16+repack/vslib'
mkdir -p .OBJ.libvslib.a
g++  -I. -O2    -c clusters.cpp         -o .OBJ.libvslib.a/clusters.o
g++  -I. -O2    -c dlog.cpp             -o .OBJ.libvslib.a/dlog.o
g++  -I. -O2    -c eval.cpp             -o .OBJ.libvslib.a/eval.o
In file included from eval.cpp:11:
./vstring.h:275:19: error: friend declaration of 'VString& str_copy(VString&, const char*, int, int)' specifies default arguments and isn't a definition [-fpermissive]
  275 |   friend VString& str_copy  ( VString& target, const char* source, int pos = 0, int len = -1 ); // returns `len' chars from `pos'
      |                   ^~~~~~~~
In file included from eval.cpp:11:
./vstring.h:289:19: error: friend declaration of 'VString& str_pad(VString&, int, char)' specifies default arguments and isn't a definition [-fpermissive]
  289 |   friend VString& str_pad  ( VString& target, int len, char ch = ' ' );
      |                   ^~~~~~~
./vstring.h:290:19: error: friend declaration of 'VString& str_comma(VString&, char)' specifies default arguments and isn't a definition [-fpermissive]
  290 |   friend VString& str_comma( VString& target, char delim = '\'' );
      |                   ^~~~~~~~~
make[1]: *** [makefile:107: .OBJ.libvslib.a/eval.o] Error 1
make[1]: Leaving directory '/<<BUILDDIR>>/vfu-4.16+repack/vslib'
make: *** [debian/rules:15: build-stamp] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2


Reply to: