Latest master efc7f0 does not compile
WSClean is a fast widefield interferometric imager
Brought to you by:
anoko
Latest master efc7f0 does not compile without IDG. Ubuntu 16.04, gcc/g++ 8.1, cmake 3.14.1. Screenshot is attached.
/opt/WSClean/build/wsclean/wsclean/wstackinggridder.cpp: In constructor ‘WStackingGridder::WStackingGridder(size_t, size_t, double, double, size_t, ImageBufferAllocator*, size_t, size_t)’:
/opt/WSClean/build/wsclean/wsclean/wstackinggridder.cpp:32:2: error: ‘fftw_make_planner_thread_safe’ was not declared in this scope
fftw_make_planner_thread_safe();
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/WSClean/build/wsclean/wsclean/wstackinggridder.cpp:32:2: note: suggested alternative: ‘fftw_cleanup_threads’
fftw_make_planner_thread_safe();
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fftw_cleanup_threads
Thanks for reporting, Alex. What version of fftw are you using? It looks like your fftw version is too low: According to the release notes of fftw, you'll need at least fftw 3.3.5 (which is from July 2016), as that was when the
fftw_make_planner_thread_safe()call was added. To make this more clear I've just added this to the installation instructions.I was 3.3.4, the latest avalilable as a package in Ubuntu 16.04.6. I manually compilled 3.3.8. Now Im getting this error in case of master:
Im installing to:
-DCMAKE_PREFIX_PATH=opt/WSCleanIn case of 2.6 its working.
Last edit: Alex 2019-04-07
That error is a bit odd.. Looks like something is wrong with your build setup. Are you building in a separate
builddirectory, and is that directory empty before running cmake?Im sorry, I was removing
chgcentrethinking it is not necessary. Now its working.EDIT: which library should I put to
-DIDGAPI_LIBRARIES? I triedlibidg-api.so,libidg-api.so.0and few others, but Im getting:root@lof7:/opt/IDG/lib# tree .Last edit: Alex 2019-04-07
You can use
CMAKE_PREFIX_PATH, like this:If you need to specify multiple library search paths, you can separate them with a semicolon. You shouldn't point to the individual libraries.
Ok, thanks!