Skip to content

gcc failure when attempting setup.py build_ext on Red Hat EL 7.4 (quantamath.cc) #135

@ajstewart

Description

@ajstewart

I'm attempting to get casacore and python-cascore setup on a RHEL 7.4 machine. Casacore seems to build ok which I install in my directory.

When I came to install python-casacore in a new conda2 environment I get the following error. I'm trying to build it from source because of the different casacore location as I had to do similar to what was said in Issue #118.

Below my error message is also the system admin attempt who got it to build with the mentioned patch. In the same bit of code in quantamath.cc they also thought that the i<20 should be i<N.

gcc version is 4.8.5, sys admin also attempted 7.x with no success.

Please let me know if you need any more information.

(trap) ada:~/ada1/software/python-casacore-2.2.1$ ./setup.py build_ext -I/import/ada1/aste7152/casacore/include:/usr/include/cfitsio -L/import/ada1/aste7152/casacore/lib:/lib64
running build_ext
building 'casacore.quanta._quanta' extension
gcc -pthread -B /suphys/aste7152/.conda/envs/trap/compiler_compat -Wl,--sysroot=/ -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/import/ada1/aste7152/casacore/include -I/usr/include/cfitsio -I/suphys/aste7152/.conda/envs/trap/include/python2.7 -c src/quanta.cc -o build/temp.linux-x86_64-2.7/src/quanta.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
gcc -pthread -B /suphys/aste7152/.conda/envs/trap/compiler_compat -Wl,--sysroot=/ -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/import/ada1/aste7152/casacore/include -I/usr/include/cfitsio -I/suphys/aste7152/.conda/envs/trap/include/python2.7 -c src/quantamath.cc -o build/temp.linux-x86_64-2.7/src/quantamath.o
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default]
src/quantamath.cc: In function ‘boost::python::dict casa::python::constants()’:
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
       };
       ^
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
src/quantamath.cc:53:7: error: conversion from ‘const casa::Quantum<double>&()’ to non-scalar type ‘casa::Quantity {aka casa::Quantum<double>}’ requested
error: command 'gcc' failed with exit status 1
with:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

--- /import/ada1/aste7152/software/python-casacore-2.2.1/src/quantamath.cc	2017-11-07 01:44:46.000000000 +1100
+++ src/quantamath.cc	2018-05-10 21:23:17.433445169 +1000
@@ -47,9 +47,9 @@
      };
      static Quantity res[N] = {
	Quantity(C::pi,""), Quantity(C::e,""),
-	QC::c, QC::G, QC::h, QC::HI, QC::R, QC::NA, QC::e, QC::mp,
-	QC::mp_me, QC::mu0, QC::epsilon0, QC::k, QC::F, QC::me, QC::re, QC::a0,
-	QC::R0, QC::k2
+	QC::c(), QC::G(), QC::h(), QC::HI(), QC::R(), QC::NA(), QC::e(), QC::mp(),
+	QC::mp_me(), QC::mu0(), QC::epsilon0(), QC::k(), QC::F(), QC::me(), QC::re(), QC::a0(),
+	QC::R0(), QC::k2()
      };
      for (int i=0; i<20;++i) {
	d[types[i]] = res[i];


xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

does compile cleanly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions