How to install dependencies¶
These instructions are for Ubuntu 20.04, but can be used as a guide for other linux-like systems.
CMake - https://cmake.org version >= 3.10:
$ sudo snap install cmake
NVIDIA CUDA - https://developer.nvidia.com/cuda-downloads. I typically download the runfile option, which you run as:
$ sudo sh cuda_11.2.2_460.32.03_linux.run
but I do NOT install the drivers at this point, as I’ll already have drivers. Up to you and how your system works. Also, don’t ignore the step of adding something like
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.2/lib64to your~/.bashrc, or your system won’t findCUDA.json-c - https://github.com/json-c/json-c. This is a typical
cmakeinstallation:$ git clone https://github.com/json-c/json-c.git $ cd json-c $ mkdir build && cd build $ cmake .. $ make -j 4 $ sudo make install
When you run
cmake ..you should find out what dependencies you are missing and can install them as needed.ERFA - https://github.com/liberfa/erfa/releases. I think it’s best to install a release version of
ERFA. Comes with aconfigurefile, while thegitrepo doesn’t. An installation route would look like:$ wget https://github.com/liberfa/erfa/releases/download/v2.0.0/erfa-2.0.0.tar.gz $ tar -xvf erfa-2.0.0.tar.gz $ cd erfa-2.0.0 $ ./configure $ make -j 4 $ sudo make install
HDF5 - https://www.hdfgroup.org/downloads/hdf5/ - just do:
$ sudo apt install libhdf5-serial-dev
PAL - https://github.com/Starlink/pal/releases -
PALis a little mental with it’s default installation paths. I HIGHLY recommmend downloading a release version, and then using the--without-starlinkoption:$ wget https://github.com/Starlink/pal/releases/download/v0.9.8/pal-0.9.8.tar.gz $ tar -xvf pal-0.9.8.tar.gz $ cd pal-0.9.8 $ ./configure --prefix=/usr/local --without-starlink $ make $ sudo make install
Doing it this way installs things in normal locations, making life easier during linking.
python >= 3.6 - the best way to run
WODENis through the scriptrun_woden.py, which has a number of package dependencies. One of these ispyerfa, which uses f-strings during installation, so you have to use a python version >= 3.6. Sorry. The requirements can be found inWODEN/docs/sphinx/sphinx/requirements.txt, which you can install via something like:$ pip3 install -r requirements.txt
For completeness, those packages are:
sphinx_argparse
breathe
astropy
numpy
pyerfa
The first two packages are used for the documentation.
Phew! That’s it for now.