Once you have the downloaded the package, you will need to compile WSClean. WSClean requires:
After you have installed these libraries, you can compile WSClean with the following commands:
mkdir -p build
cd build
cmake ../
make -j 4
If cmake reports errors, you might have to install or specify your libraries in the call to cmake if they are not in standard directories, e.g.:
cmake ../ -DCMAKE_PREFIX_PATH=/opt/cep/casacore/
to add that directory to the search path.
If you want to make full-sky images or use the recentering technique, you will probably want to use the chgcentre tool too. This tool changes can change the phase centre of a measurement set, and is available in a separate package available on this website.
If you get undefined reference errors in casacore-code when you compile WSClean, e.g. similar to "undefined reference to casa::ArrayColumn<float>::get(unsigned int) const", it probably means that you did not compile Casacore with C++11 support. When you compile Casacore, you need to turn this on explicitly:
anoko@leopard:~/casacore/build$ cmake ../ -DCXX11="ON"
after which cmake should respond with a list of enabled features, including:
-- C++11 support ......... = ON
Whether it is necessary depends on the version of the compiler -- with newer compilers it is turned on by default.
By default, cmake will create a binary that is optimized for the machine that it is compiled on, and will only work on machines that contain the same instruction set as the compiling machine. In other words, the same binary might not work on other machines, because it might use advanced instructions such as AVX instructions that might not be available on another machine. It has been reported that this can e.g. lead to an "Illegal instruction" error (see ticket 50).
If you want to make a binary that can be used on different platforms, you can add -DPORTABLE to cmake:
cmake ../ -DPORTABLE
You should note that this makes the binary in general slower, so you should not use it unless you have to.