Source: casacore
Version: 2.1.0-2
Severity: important
Justification: fails to build from source
Thanks for looking into my previous reports.
Alas, builds of casacore on PowerPC variants (powerpc and ppc64el, and
the non-release ppc64 architecture) are now failing:
cd /«PKGBUILDDIR»/obj-powerpc-linux-gnu/casa && /usr/bin/c++
-DCFITSIO_VERSION_MAJOR=3 -DCFITSIO_VERSION_MINOR=380 -DHAVE_FFTW3
-DHAVE_FFTW3_THREADS -DHAVE_READLINE -DUSE_THREADS -DWCSLIB_VERSION_MAJOR=5
-DWCSLIB_VERSION_MINOR=15 -Dcasa_casa_EXPORTS -I/«PKGBUILDDIR»
-I/«PKGBUILDDIR»/obj-powerpc-linux-gnu -fcx-fortran-rules -g -O2
-fdebug-prefix-map=/«PKGBUILDDIR»=. -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fsigned-char
-std=c++11 -pthread -fPIC -o CMakeFiles/casa_casa.dir/OS/HostInfo.cc.o -c
/«PKGBUILDDIR»/casa/OS/HostInfo.cc
/«PKGBUILDDIR»/casa/OS/HostInfo.cc:259:5: error: prototype for 'casa::Int
casa::HostInfo::numCPUs()' does not match any in class 'casa::HostInfo'
Int HostInfo::numCPUs( ) { return 0; }
^~~~~~~~
In file included from /«PKGBUILDDIR»/casa/OS/HostInfo.cc:30:0:
/«PKGBUILDDIR»/casacore/casa/OS/HostInfo.h:116:16: error: candidate is:
static casa::Int casa::HostInfo::numCPUs(bool)
static Int numCPUs(bool use_aipsrc=false);
^~~~~~~
/«PKGBUILDDIR»/casa/OS/HostInfo.cc:260:11: error: prototype for 'ptrdiff_t
casa::HostInfo::memoryTotal()' does not match any in class 'casa::HostInfo'
ptrdiff_t HostInfo::memoryTotal( ) { return -1; }
^~~~~~~~
In file included from /«PKGBUILDDIR»/casa/OS/HostInfo.cc:30:0:
/«PKGBUILDDIR»/casacore/casa/OS/HostInfo.h:121:22: error: candidate is:
static ptrdiff_t casa::HostInfo::memoryTotal(bool)
static ptrdiff_t memoryTotal(bool use_aipsrc=false);
^~~~~~~~~~~
AFAICT, the issue is that, on these architectures, g++ in strict
-std=c++11 mode doesn't predefine __linux, just __linux__, so
aipsenv.h leaves AIPS_LINUX undefined and HostInfo.cc falls back on
stubs that don't match HostInfo.h's prototypes. (FWIW, there's no
such problem in -std=gnu++11 mode.)
Could you please take a look?
Thanks!