Setup On Linux

Software setup

In order to run Basilisk, the following software will be necessary. This document outline how to install this support software.

  • Cmake 3.14 or higher

  • Python 3.8.x or greater. The following python package dependencies are automatically checked and installed in the steps below.

    • pandas numpy matplotlib pytest Pillow conan>=1.40.1, <2.00.0 parse>=1.18.0

  • SWIG (version 4.x)

  • GCC

  • (Optional) Get the GitKraken application to be able to pull and manage a copy of Basilisk

Caution

Building Basilisk on Linux using Intel processors is being regularly tested. With Basilisk version 2.1.5 we added experimental support for Linux on ARM processors. However, this option is not currently tested on a regular manner.

Dependencies

Note

Depending on your system setup, administrative permissions (sudo or su) may be required to install these dependencies. Some distributions of Linux will use other package management commands such as yum, dnf, of pgk.

  1. On a new Linux system various developer packages and support libraries are requried:

    # Update current software
    $ apt-get update
    
    # Get GIT for source code version control
    # apt-get install git
    
    # Helpful for Debian systems -  all packages need to compile such as gcc and g++ compilers and other utils.
    $ apt-get install build-essential
    
    # Install Python 3
    $ apt-get install python3
    
    # Package development process library to facilitate packaging Python packages
    $ apt-get install python3-setuptools
    
    # ensure that the python developer libraries are installed
    $ apt-get install python3-dev
    
    # Tkinter
    $ apt-get install python3-tk
    
    # Python PIP
    $ apt-get install python3-pip
    
    #Check python version installed
    $ python3 --version
    
    #Python virtual environment with same version as Python. For example, python3.7-venv for python3.7.x
    $apt-get install python3.x-venv
    
  2. SWIG: Available using:

    $ apt-get install swig
    
  3. A C/C++ Compiler: This is included by default with most Linux systems (gcc), but is necessary to build Basilisk.

  4. A Git compatible version control tool like SourceTree should be used to pull/clone the Basilisk repository.

  5. Using a Python Virtual Environment

    Attention

    We strongly recommend using a python virtual environment while installing basilisk or running basilisk modules. For more info, read this. The virtual environment has the benefit that you won’t have conflicts with other versions of Python or python packages that your computer has installed. It lets you install packages specific to this environment and they won’t interfere with other python projects you may have. However, you must turn this environment on and off each time you want to use it.

    The following steps show how to create, active ad de-activate a virtual environment. The remaining installation steps work regardless if done within a virtual environment or not.

    • In a Terminal window change your current directory to be the Basilisk folder, then create a virtual environment using:

      $ python3 -m venv .venv
      

      This creates a hidden folder inside the Basilisk folder which will store all the python packages and environment information.

    • Activate virtual environment when needing configure, build or run Basilisk:

      $ source .venv/bin/activate
      

      The above step will add (venv) before the prompt.

    • Deactivate the virtual environment to return to the normal operating system environment:

      (venv) $ deactivate
      
  6. Ensure wheel is installed and install conan using pip, an example is below:

    (venv) $ pip3 install wheel 'conan<2.0'
    

    The conan repositories information is automatically setup by conanfile.py.

    Warning

    If you are upgrading from a version of Basilisk prior to 1.8.0, be sure to delete the .conan folder in your home directory to create a clean copy compatible with the current build system.

  7. CMake: You can install cmake using pip3. This makes it easy to overcome limitations of which version of cmake the apt-get command provides:

    (venv) $ pip3 install cmake
    
  8. Note, if are you not using a virtual environment and you choose to install python packages local in your user directory .local folder, be sure to add ~/.local/bin to your PATH variable.

  9. Optional Packages: The above directions install the Basilisk base software. There are a series of optional packages that enhance this capability.

Build Process via Terminal

  1. The conanfile.py will setup, configure and run the Basilisk build. For a basic installation, from the root Basilisk folder use:

    (venv) $ python3 conanfile.py
    

    For other configure and build options, see Building the Software Framework. This process will verify that the minimum required Basilisk python packages are installed, and that the version is correct. If not, the user is prompted to install the package with pip3 in the system or user folder.

  2. To test your setup you can run one of the Integrated Example Scripts:

    • For example, in the terminal window, switch /basilisk/examples/ to the current directory.

    • Run one of the example scripts, such as:

      (venv) $ python3 scenarioBasicOrbit.py
      

Building the Project Separately

If you are developing new modules you often just want to configure the Basilisk project file without compiling.

  1. Run this command to only configure and not build the Basilisk project:

    python conanfile.py --buildProject False
    

    This will disable the build workflow so that you can build the project separately.

  2. Next, move to the distribution folder to build using a makefile:

    (venv) $ cd dist3
    
  3. You can do a multi core make by running make -j<number of cores +1> such as:

    (venv) $ make -j5