[Debian-med-packaging] Bug#736172: gdcm: FTBFS on powerpc: _GLIBCXX_LONG_DOUBLE_COMPAT issue?

Cyril Brulebois kibi at debian.org
Mon Jan 20 18:07:01 UTC 2014


Source: gdcm
Version: 2.4.1-2
Severity: serious
Justification: FTBFS

Hi,

gdcm FTBFS on powerpc with:
| cd /«PKGBUILDDIR»/obj-powerpc-linux-gnu/Utilities/VTK && /usr/bin/gccxml -fxml=/«PKGBUILDDIR»/obj-powerpc-linux-gnu/Utilities/VTK/xml/vtkGDCMImageReader.xml -fxml-start=_cable_ -I/usr/include/mummy-1.0.3 -I/usr/include/vtk-5.8 -DCABLE_CONFIGURATION --gccxml-compiler /usr/bin/c++ /«PKGBUILDDIR»/obj-powerpc-linux-gnu/Utilities/VTK/xml/vtkGDCMImageReader_gccxml.cxx
| In file included from /usr/share/gccxml-0.9/GCC/4.8/bits/c++config.h:1,
|                  from /usr/include/c++/4.8/iostream:38,
|                  from /usr/include/vtk-5.8/vtkIOStream.h:35,
|                  from /usr/include/vtk-5.8/vtkSystemIncludes.h:40,
|                  from /usr/include/vtk-5.8/vtkIndent.h:24,
|                  from /usr/include/vtk-5.8/vtkObjectBase.h:43,
|                  from /usr/include/vtk-5.8/vtkObject.h:41,
|                  from /usr/include/vtk-5.8/vtkAlgorithm.h:32,
|                  from /usr/include/vtk-5.8/vtkImageAlgorithm.h:28,
|                  from /usr/include/vtk-5.8/vtkImageReader2.h:29,
|                  from /usr/include/vtk-5.8/vtkMedicalImageReader2.h:26,
|                  from /«PKGBUILDDIR»/Utilities/VTK/vtkGDCMImageReader.h:67,
|                  from /«PKGBUILDDIR»/obj-powerpc-linux-gnu/Utilities/VTK/xml/vtkGDCMImageReader_gccxml.cxx:1:
| /usr/include/powerpc-linux-gnu/c++/4.8/bits/c++config.h:348: error: expected unqualified-id before 'namespace'

Quoting c++config.h one gets:
| // GLIBCXX_ABI Deprecated
| // Define if compatibility should be provided for -mlong-double-64.
| #define _GLIBCXX_LONG_DOUBLE_COMPAT 1
| 
| // Inline namespace for long double 128 mode.
| #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
| namespace std
| {
|   inline namespace __gnu_cxx_ldbl128 { }
| }

For the records, the diff between the amd64 and powerpc versions of this
file for this particular define looks like:
| -#undef _GLIBCXX_LONG_DOUBLE_COMPAT
| +#define _GLIBCXX_LONG_DOUBLE_COMPAT 1

And we have this on powerpc (and nothing on amd64):
| $ g++ -E -dM - < /dev/null |grep __LONG_DOUBLE_128__
| #define __LONG_DOUBLE_128__ 1

so the conditional is only true on powerpc (and not amd64), which then
goes boom on the namespace line.

Might be a bug in c++config.h in the end?

Mraw,
KiBi.



More information about the Debian-med-packaging mailing list