Menu

#244 Fails to build with GCC 7

v3.1.0
closed
nobody
None
1
2019-07-04
2017-01-31
No

As reported by Matthias Klose in Debian Bug #853650:

The package fails to build in a test rebuild on at least amd64 with
gcc-7/g++-7, but succeeds to build with gcc-6/g++-6. The
severity of this report may be raised before the buster release.
There is no need to fix this issue in time for the stretch release.

The full build log can be found at:
http://people.debian.org/~doko/logs/gcc7-20170126/saga_2.3.1+dfsg-3_unstable_gcc7.log
The last lines of the build log are at the end of this report.

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

[...] from /usr/include/vigra/edgedetection.hxx:46, from vigra_edges.cpp:65: /usr/include/vigra/imagecontainer.hxx:770:53: note: mismatched types 'std::__cxx11::basic_stringbuf<_CharT, _Traits, _Alloc>' and 'int' std::swap(highestLevel_, other.highestLevel_); ^ Makefile:539: recipe for target 'vigra_fft.lo' failed make[7]: *** [vigra_fft.lo] Error 1 make[7]: *** Waiting for unfinished jobs.... Makefile:539: recipe for target 'vigra_smoothing.lo' failed make[7]: *** [vigra_smoothing.lo] Error 1 In file included from /usr/include/vigra/random_forest_hdf5_impex.hxx:41:0, from vigra_random_forest.cpp:73: /usr/include/vigra/hdf5impex.hxx: In member function 'bool vigra::HDF5File::isOpen() const': /usr/include/vigra/hdf5impex.hxx:615:10: note: candidate 1: bool vigra::HDF5HandleShared::operator!=(hid_t) const bool operator!=(hid_t h) const ^~~~~~~~ /usr/include/vigra/hdf5impex.hxx:1146:31: note: candidate 2: operator!=(hid_t {aka long int}, int) <built-in> return fileHandle_ != 0; ^ Makefile:539: recipe for target 'vigra_watershed.lo' failed make[7]: *** [vigra_watershed.lo] Error 1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../.. -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I../../../../src/saga_core -I/usr/include/hdf5/serial -D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD -D_SAGA_UNICODE -fopenmp -lgomp -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/saga-2.3.1+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -c vigra.cpp -o vigra.o >/dev/null 2>&1 Makefile:539: recipe for target 'vigra_edges.lo' failed make[7]: *** [vigra_edges.lo] Error 1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../.. -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I../../../../src/saga_core -I/usr/include/hdf5/serial -D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD -D_SAGA_UNICODE -fopenmp -lgomp -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/saga-2.3.1+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -c vigra_morphology.cpp -o vigra_morphology.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../.. -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I../../../../src/saga_core -I/usr/include/hdf5/serial -D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD -D_SAGA_UNICODE -fopenmp -lgomp -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/saga-2.3.1+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -c vigra_distance.cpp -o vigra_distance.o >/dev/null 2>&1 libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../.. -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I../../../../src/saga_core -I/usr/include/hdf5/serial -D_SAGA_LINUX -D_TYPEDEF_BYTE -D_TYPEDEF_WORD -D_SAGA_UNICODE -fopenmp -lgomp -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/saga-2.3.1+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -c vigra_random_forest.cpp -o vigra_random_forest.o >/dev/null 2>&1 make[7]: Leaving directory '/<<BUILDDIR>>/saga-2.3.1+dfsg/src/modules/imagery/imagery_vigra' Makefile:398: recipe for target 'all-recursive' failed make[6]: *** [all-recursive] Error 1 make[6]: Leaving directory '/<<BUILDDIR>>/saga-2.3.1+dfsg/src/modules/imagery' Makefile:398: recipe for target 'all-recursive' failed make[5]: *** [all-recursive] Error 1 make[5]: Leaving directory '/<<BUILDDIR>>/saga-2.3.1+dfsg/src/modules' Makefile:398: recipe for target 'all-recursive' failed make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory '/<<BUILDDIR>>/saga-2.3.1+dfsg/src' Makefile:504: recipe for target 'all-recursive' failed make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory '/<<BUILDDIR>>/saga-2.3.1+dfsg' Makefile:415: recipe for target 'all' failed make[2]: *** [all] Error 2 make[2]: Leaving directory '/<<BUILDDIR>>/saga-2.3.1+dfsg' dh_auto_build: make -j64 returned exit code 2 debian/rules:36: recipe for target 'override_dh_auto_build' failed make[1]: *** [override_dh_auto_build] Error 2 make[1]: Leaving directory '/<<BUILDDIR>>/saga-2.3.1+dfsg' debian/rules:20: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2

Discussion

  • Bas Couwenberg

    Bas Couwenberg - 2017-01-31

    Full build log is attached.

    Errors are in vigra:

    In file included from /usr/include/vigra/resampling_convolution.hxx:46:0,
                     from /usr/include/vigra/resizeimage.hxx:46,
                     from /usr/include/vigra/stdimagefunctions.hxx:74,
                     from vigra_watershed.cpp:67:
    /usr/include/vigra/imagecontainer.hxx: In member function 'void vigra::ImagePyramid<ImageType, Alloc>::swap(const vigra::ImagePyramid<ImageType, Alloc>&)':
    /usr/include/vigra/imagecontainer.hxx:769:51: error: no matching function for call to 'swap(int&, const int&)'
             std::swap(lowestLevel_, other.lowestLevel_);
                                                       ^
    
     
  • Volker Wichmann

    Volker Wichmann - 2017-02-01

    Hi Bas,

    isn't this an upstream problem in vigra? I'm not sure what we can do about this. Does vigra itself build with gcc-7/g++-7?

    Regards,
    Volker

     
  • Anonymous

    Anonymous - 2017-02-01

    It indeed looks like an issue in vigra, if SAGA can be built without it we need to test whether SAGA builds successfully with GCC 7. I haven't had time to try that yet, and won't be able to until after FOSDEM.

     
  • Laurent Delphin

    Laurent Delphin - 2019-03-02

    Hi !

    It sems that the new GCC versions are fairly "too sensitive"... As myself, and for many opensource softwares to compile, it fails with recent versions of GCC. Besides, sometimes, when just issued, the last GCC version has a bug or may bugs.

    So, as a Mac OS X user, I always compile in that :

    • first, I try with the last version of GCC I compiled and installed (nominally, in /usr/locla/bin). If the installed software run adequately, so it is OK ;
      otherwise, I use the GCC compilers (installed in /usr/bin, and in the XCode directory too) (C, C++ ; gfortrans is the one I compiled, for a recenter version of gcc/g++) ; these compilers are provided with XCode ;
      eventually, sometimes but very rarely, I try an intermediate version of GCC.

    Hoping you a good receipt.
    Kind regards,

    Laurent Delphin

     
  • Volker Wichmann

    Volker Wichmann - 2019-07-04
    • status: open --> closed
     
  • Volker Wichmann

    Volker Wichmann - 2019-07-04

    I think this can be closed, please reopen if the problem still persists.

     

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB