Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactored linux install to specify fedora dependencies #917

Merged
merged 1 commit into from
Feb 5, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 69 additions & 4 deletions docs/source/Install/installOnLinux.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,17 @@ The following python package dependencies are automatically checked and installe
experimental support for Linux on ARM processors. However, this option is not currently
tested on a regular manner.

Dependencies
------------
Package 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``.
.. Note:: Depending on your system setup, administrative permissions (sudo or su) may be required to install these dependencies.

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

Debian/Ubuntu
^^^^^^^^^^^^^
Basilisk development mainly occurs in Debian-based systems. Other distributions of Linux will use other package management commands such as ``yum``, ``dnf``, of ``pgk``. Specific instructions for Red Hat / Fedora systems are given below.

#. On Debian-based systems, install the following developer packages and support libraries::

# Update current software
$ apt-get update
Expand Down Expand Up @@ -79,6 +84,60 @@ Dependencies

#. A Git compatible version control tool like `SourceTree <http://sourcetreeapp.com>`__ should be used to :ref:`pull/clone <pullCloneBSK>` the Basilisk repository.


Fedora
^^^^^^

#. On Fedora, install the following developer packages and support libraries::

schaubh marked this conversation as resolved.
Show resolved Hide resolved
# Update current software
$ dnf check-update
$ dnf update

# Get GIT for source code version control
# dnf install git

# All packages need to compile such as gcc and g++ compilers and other utils.
$ sudo dnf install -y git curl @development-tools dkms perl wget
$ sudo dnf install -y gcc make mysql-devel openssl-devel
$ sudo dnf install -y zlib-devel bzip2-devel readline-devel \
sqlite-devel llvm ncurses-devel ncurses-libs xz \
tk-devel libffi-devel xz-devel python3-pyOpenSSL

# Install Python 3.
# On Fedora, you may have to install an older version since Basilisk maintainers test on Ubuntu and Fedora adopts new versions earlier than Ubuntu.
# Replace .xx below with the specific subversion.
$ dnf install python3.xx

# Package development process library to facilitate packaging Python packages
$ dnf install python3-setuptools

# ensure that the python developer libraries are installed
$ dnf install python3.xx-devel

# Tkinter
$ dnf install python3.xx-tkinter

# if you want to build with opNav modules, install the following library
$ dnf install gtk2-devel

# Python PIP
$ dnf install python3-pip

#Check python version installed
$ python3.xx --version

#. SWIG: Available using::

$ dnf install swig

#. A C/C++ Compiler: This is included by default with most Linux systems (``gcc``), but is necessary to build Basilisk.

#. A Git compatible version control tool like `SourceTree <http://sourcetreeapp.com>`__ should be used to :ref:`pull/clone <pullCloneBSK>` the Basilisk repository.

Python Environment
------------------

#. Using a Python Virtual Environment

.. attention:: We strongly recommend using a python virtual environment while installing basilisk or running basilisk modules.
Expand All @@ -96,6 +155,12 @@ Dependencies

$ python3 -m venv .venv

Or for a specific Python version::

$ python3.xx -m venv .venv

where .xx is the subversion (such as .12 in Python3.12).

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

Expand Down
1 change: 1 addition & 0 deletions docs/source/Support/bskReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ Version |release|
- Update :ref:`makingModules-2` on how to make messages available to Basilisk modules
- Support for Vizard release 2.2.1, including rotating frame settings and documentation for support of ``.glb`` shape files
- ``vizProtobuffer`` upgraded to use latest C++ compiler, ``protobuf`` Python/C++ library upgraded
- Updated :ref:`installLinux` to discuss installing BSK on Fedora Linux systems.


Version 2.5.0 (Sept. 30, 2024)
Expand Down
4 changes: 2 additions & 2 deletions examples/OpNavScenarios/BSK_OpNav.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
# TODO : Modify the path to the viz here
appPath = '/Applications/Vizard.app/Contents/MacOS/Vizard' #If on Mac

The Vizard app must therefore me downloaded, and this path must reflect it's position in the file structure, and its
The Vizard app must therefore be downloaded, and this path must reflect it's position in the file structure, and its
name. If the path is not properly set, the OpNav simulations will hang (printing that it is waiting for the
Vizard connection). Another option is to manually open the Vizard application after having started the python scenario,
check OpNav or Direct Comm, and provide the tcp/ip address printed by the scenario.
Expand All @@ -69,7 +69,7 @@

See the Scene Rendering
-----------------------
By default the Vizard will run in head-less mode where the full scene is note rendered
By default the Vizard will run in head-less mode where the full scene is not rendered
for viewing as this slows down the simulation. To see the scene, edit the following line
within the scenario script::

Expand Down
Loading