Cannot compile lal with "--enable-intelfft"
I'm trying to test the --enable-intelfft
capability in lal in lieu of explicitly linking the standard libfftw.so library when compiling with Intel MKL.
I've tried configuring with:
./configure --enable-swig-python --enable-intelfft --disable-shared --enable-static --enable-gcc-flags=no --prefix=...
and
./configure --enable-swig-python --enable-intelfft --disable-shared --enable-static --prefix=...
and
./configure --enable-swig-python --enable-intelfft --disable-static --enable-shared --prefix=...
And all "make"s fail with the same error (appended to the end of this message). Note: I added MKL and MKL FFTW to my linker and header paths such that:
CFLAGS="-O3 -m64 -I${MKLROOT}/include -I${MKLROOT}/include/fftw -I${INSTALLPATH}/include"
LDFLAGS="-L${INSTALLPATH}/lib -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_rt -lpthread -lm -ldl"
I'm using gcc 4.8.5 on ldas-pcdev4 (SL7) at Caltech. Is there a configure flag, or a compiler configuration that I'm missing?
Thanks, Alex
Making all in fft
make[4]: Entering directory `/home/alexander.pace/builds/O3/1.14-sys-build/git/lalsuite/lal/src/fft'
CC TimeFreqFFT.lo
CC AverageSpectrum.lo
CC Convolution.lo
CC IntelComplexFFT.lo
In file included from ../../include/lal/LALError.h:29:0,
from ../../include/lal/LALStatusMacros.h:38,
from ../../include/lal/LALStdlib.h:58,
from IntelComplexFFT.c:25:
IntelComplexFFT_source.c: In function ‘XLALCreateCOMPLEX8FFTPlan’:
IntelComplexFFT.c:44:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:44:5: note: in expansion of macro ‘XLAL_ERROR_NULL’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:49:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_NULL’
CHECKINTELFFTSTATUS_NULL( fftStat );
^
IntelComplexFFT.c:44:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:44:5: note: in expansion of macro ‘XLAL_ERROR_NULL’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:54:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_NULL’
CHECKINTELFFTSTATUS_NULL( fftStat );
^
IntelComplexFFT.c:44:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:44:5: note: in expansion of macro ‘XLAL_ERROR_NULL’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:57:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_NULL’
CHECKINTELFFTSTATUS_NULL( fftStat );
^
IntelComplexFFT.c:44:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:44:5: note: in expansion of macro ‘XLAL_ERROR_NULL’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:61:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_NULL’
CHECKINTELFFTSTATUS_NULL( fftStat );
^
IntelComplexFFT_source.c: In function ‘XLALDestroyCOMPLEX8FFTPlan’:
IntelComplexFFT.c:52:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_VOID( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:52:5: note: in expansion of macro ‘XLAL_ERROR_VOID’
XLAL_ERROR_VOID( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:97:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_VOID’
CHECKINTELFFTSTATUS_VOID( fftStat );
^
IntelComplexFFT_source.c: In function ‘XLALCOMPLEX8VectorFFT’:
IntelComplexFFT.c:36:36: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:36:5: note: in expansion of macro ‘XLAL_ERROR’
XLAL_ERROR( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:122:9: note: in expansion of macro ‘CHECKINTELFFTSTATUS’
CHECKINTELFFTSTATUS( fftStat );
^
IntelComplexFFT.c:36:36: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:36:5: note: in expansion of macro ‘XLAL_ERROR’
XLAL_ERROR( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:127:9: note: in expansion of macro ‘CHECKINTELFFTSTATUS’
CHECKINTELFFTSTATUS( fftStat );
^
IntelComplexFFT_source.c: In function ‘XLALCreateCOMPLEX16FFTPlan’:
IntelComplexFFT.c:44:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:44:5: note: in expansion of macro ‘XLAL_ERROR_NULL’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:49:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_NULL’
CHECKINTELFFTSTATUS_NULL( fftStat );
^
IntelComplexFFT.c:44:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:44:5: note: in expansion of macro ‘XLAL_ERROR_NULL’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:54:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_NULL’
CHECKINTELFFTSTATUS_NULL( fftStat );
^
IntelComplexFFT.c:44:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:44:5: note: in expansion of macro ‘XLAL_ERROR_NULL’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:57:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_NULL’
CHECKINTELFFTSTATUS_NULL( fftStat );
^
IntelComplexFFT.c:44:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:44:5: note: in expansion of macro ‘XLAL_ERROR_NULL’
XLAL_ERROR_NULL( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:61:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_NULL’
CHECKINTELFFTSTATUS_NULL( fftStat );
^
IntelComplexFFT_source.c: In function ‘XLALDestroyCOMPLEX16FFTPlan’:
IntelComplexFFT.c:52:41: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR_VOID( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:52:5: note: in expansion of macro ‘XLAL_ERROR_VOID’
XLAL_ERROR_VOID( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:97:5: note: in expansion of macro ‘CHECKINTELFFTSTATUS_VOID’
CHECKINTELFFTSTATUS_VOID( fftStat );
^
IntelComplexFFT_source.c: In function ‘XLALCOMPLEX16VectorFFT’:
IntelComplexFFT.c:36:36: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:36:5: note: in expansion of macro ‘XLAL_ERROR’
XLAL_ERROR( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:122:9: note: in expansion of macro ‘CHECKINTELFFTSTATUS’
CHECKINTELFFTSTATUS( fftStat );
^
IntelComplexFFT.c:36:36: error: expected ‘)’ before ‘errmsg’
XLAL_ERROR( COMPLEXFFTH_EINTL, errmsg ); \
^
../../include/lal/XLALError.h:649:77: note: in definition of macro ‘_XLAL_ERROR_IMPL_’
XLALStringPrint(_XLAL_ERROR_IMPL_buf_, sizeof(_XLAL_ERROR_IMPL_buf_), "X" __VA_ARGS__); \
^
IntelComplexFFT.c:36:5: note: in expansion of macro ‘XLAL_ERROR’
XLAL_ERROR( COMPLEXFFTH_EINTL, errmsg ); \
^
IntelComplexFFT_source.c:127:9: note: in expansion of macro ‘CHECKINTELFFTSTATUS’
CHECKINTELFFTSTATUS( fftStat );
^
make[4]: *** [IntelComplexFFT.lo] Error 1
make[4]: Leaving directory `/home/alexander.pace/builds/O3/1.14-sys-build/git/lalsuite/lal/src/fft'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/alexander.pace/builds/O3/1.14-sys-build/git/lalsuite/lal/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/alexander.pace/builds/O3/1.14-sys-build/git/lalsuite/lal/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/alexander.pace/builds/O3/1.14-sys-build/git/lalsuite/lal'
make: *** [all] Error 2