HERA-Team / aipy

Astronomical Interferometry in PYthon (AIPY)
http://pypi.python.org/pypi/aipy
Other
43 stars 29 forks source link

HEALPix and Miriad Wrapper Compilation Errors #8

Closed PhilipMathieu closed 7 years ago

PhilipMathieu commented 8 years ago

When compiling alm_wrap.cpp, healpix_wrap.cpp, and miriad_wrap.cpp, the compiler throws the following error:

error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());

This occurs in several places (full errors copied below), and is easily fixed by specifying the type of e in all locations:

         PyErr_Format(PyExc_RuntimeError, "%s", e.get_message());

Full errors: healpix_wrap.cpp:

src/_healpix/healpix_wrap.cpp:105:50: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.what());
                                                  ^
src/_healpix/healpix_wrap.cpp: In function ‘PyObject* HPBObject_npix2nside(HPBObject*, PyObject*)’:
src/_healpix/healpix_wrap.cpp:125:50: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.what());
                                                  ^
src/_healpix/healpix_wrap.cpp: In function ‘PyObject* HPBObject_nest_ring_conv(HPBObject*, PyObject*)’:
src/_healpix/healpix_wrap.cpp:154:50: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.what());

alm_wrap.cpp:

src/_healpix/alm_wrap.cpp: In function ‘void option_err(char**)’:
src/_healpix/alm_wrap.cpp:70:42: error: format not a string literal and no format arguments [-Werror=format-security]
     PyErr_Format(PyExc_ValueError, errstr);
                                          ^
src/_healpix/alm_wrap.cpp: In function ‘int AlmObject_init(AlmObject*, PyObject*, PyObject*)’:
src/_healpix/alm_wrap.cpp:127:50: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.what());
                                                  ^
src/_healpix/alm_wrap.cpp: In function ‘PyObject* AlmObject_get(AlmObject*, PyObject*)’:
src/_healpix/alm_wrap.cpp:153:50: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.what());
                                                  ^
src/_healpix/alm_wrap.cpp: In function ‘int AlmObject_set(AlmObject*, PyObject*, PyObject*)’:
src/_healpix/alm_wrap.cpp:181:50: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.what());
                                                  ^
src/_healpix/alm_wrap.cpp: In function ‘PyObject* AlmObject_to_map(AlmObject*, PyObject*)’:
src/_healpix/alm_wrap.cpp:227:50: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.what());
                                                  ^
src/_healpix/alm_wrap.cpp: In function ‘PyObject* AlmObject_from_map(AlmObject*, PyObject*)’:
src/_healpix/alm_wrap.cpp:279:50: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.what());

miriad_wrap.cpp:

src/_miriad/miriad_wrap.cpp: In function ‘int UVObject_init(UVObject*, PyObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:64:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* UVObject_read(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:108:61: error: format not a string literal and no format arguments [-Werror=format-security]
             PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                             ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* UVObject_write(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:175:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* UVObject_copyvr(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:189:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* UVObject_trackvr(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:203:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* UVObject_rdvr(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:265:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* UVObject_wrvr(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:329:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* UVObject_select(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:347:61: error: format not a string literal and no format arguments [-Werror=format-security]
             PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                             ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* UVObject_haccess(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:365:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* WRAP_hdaccess(UVObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:379:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* WRAP_hwrite_init(PyObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:410:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* WRAP_hread_init(PyObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:452:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* WRAP_hwrite(PyObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:525:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
                                                         ^
src/_miriad/miriad_wrap.cpp: In function ‘PyObject* WRAP_hread(PyObject*, PyObject*)’:
src/_miriad/miriad_wrap.cpp:577:57: error: format not a string literal and no format arguments [-Werror=format-security]
         PyErr_Format(PyExc_RuntimeError, e.get_message());
AaronParsons commented 7 years ago

This has been resolved in the latest commit.