Preparation for Fedora

This document describes requirements for Fedora 38. To find your current release of Fedora, type:
$ cat /etc/fedora-release
Fedora release 38 (Thirty Eight)


Extra Fedora packages

sudo dnf install tcsh
sudo dnf install Xaw3d
sudo dnf install Xaw3d-devel
sudo dnf install libXaw-devel
sudo dnf install ncurses-devel
sudo dnf install gfortran


Python

The most convenient and functional way to provide Python modules is to install Anaconda. For this Fedora installation we downloaded Anaconda version 2023.03 with:
curl -O https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh
Currently, with a later Anaconda version (2023.07 with Python 3.11) we could not build the GIPSY Python module whatever version of Cython you install (see next paragraph).

One important package is not installed automatically and that is Cython.
If you install it with conda, you get probably version 3.0 which has some bugs
which prevents you to build the pygipsy module. To force a lower version, we installed it with:
pip install "cython<3"


Additional: ffmpeg

ffmpeg is necessary to make videos in VISIONS. Plain installation with dnf (as in sudo dnf install ffmpeg) does currently not work for Fedora 38 (10-09-2023)
So from:
https://computingforgeeks.com/how-to-install-ffmpeg-on-fedora/?expand_article=1
we installed it with:

sudo dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf -y install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

sudo dnf -y --allowerasing install ffmpeg


MESA-LOADER problems

On virtual machines, when you start applications that use QT, you get warnings about missing libraries.
MESA-LOADER: failed to open swrast (search paths .......)
libGL error: failed to load driver: swrast
This has to do with the fact that Anaconda uses different versions of libraries also found on the system.
The trick to prevent these warnings is to set:

in .bashrc for bash: export LD_PRELOAD=/usr/lib64/libstdc++.so.6.0.31
in .cshrc for tcsh: setenv LD_PRELOAD "/usr/lib64/libstdc++.so.6.0.31"

The version number could be different for your system of course.


A GIPSY configuration script

A GIPSY configuration script 'setgipsy.sh' that sets the environment could be:
export gip_root='/home/someuser/GIPSY'
source $gip_root/sys/gipenv.sh
export LD_PRELOAD=/usr/lib64/libstdc++.so.6.0.31 
which you activate on the command line with
source setgipsy.sh
Sep 10, 2023
GIPSY