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++   
-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/ -c 
  /«PKGBUILDDIR»/casa/OS/ 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/
  /«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/ 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/
  /«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 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?


Reply via email to