Ongoing problemsgetting AFNI to work on Fedora

I have solved most of the missing library problems with my AFNI installation on a new machine running Fedora 35, but I have a persistent error about libgsl.so.0 when I try to run 3DSkullStrip and 3DRSFC. Also persistent error about missing R packages despite installing the packages twice. Details follow:

architecture: 64bit ELF
system: Linux
release: 5.17.4-200.fc35.x86_64
version: #1 SMP PREEMPT Wed Apr 20 15:37:53 UTC 2022
distribution: fedora 35
number of CPUs: 12
apparent login shell: bash
shell RC file: .bashrc (exists)

--------------------- AFNI and related program tests ---------------------
which afni : /home/billhoffman/abin/afni
afni version : Precompiled binary linux_openmp_64: Apr 24 2022
: AFNI_22.1.06 ‘Antoninus Pius’
AFNI_version.txt : AFNI_22.1.06, linux_openmp_64, Apr 24 2022
which python : /usr/bin/python
python version : 3.10.4
which R : /usr/bin/R
R version : R version 4.1.3 (2022-03-10) – “One Push-Up”
which tcsh : /usr/bin/tcsh

instances of various programs found in PATH:
afni : 1 (/home/billhoffman/abin/afni)
R : 1 (/usr/bin/R)
python : 1 (/usr/bin/python3.10)
python2 : 1 (/usr/bin/python2.7)
python3 : 1 (/usr/bin/python3.10)

testing ability to start various programs…
afni : success
suma : success
3dSkullStrip : FAILURE
3dSkullStrip: error while loading shared libraries: libgsl.so.0: cannot open shared object file: No such file or directory
uber_subject.py : success
3dAllineate : success
3dRSFC : FAILURE
3dRSFC: error while loading shared libraries: libgsl.so.0: cannot open shared object file: No such file or directory
SurfMesh : success
3dClustSim : success
3dMVM : success

checking for R packages…
rPkgsInstall -pkgs ALL -check : FAILURE

    oo Warning: 
       These packages are not installed on the computer: afex!
    These packages are not installed on the computer: phia!
    These packages are not installed on the computer: lmerTest!

R RHOME : /usr/lib64/R

checking for $HOME files…
.afnirc : found
.sumarc : found
.afni/help/all_progs.COMP : found

------------------------------ python libs -------------------------------
++ module loaded: PyQt4
module file : None

** have PyQt4, but cannot load QtCore, QtGui; error is:



++ module loaded: matplotlib.pyplot
module file : /usr/lib64/python3.10/site-packages/matplotlib/pyplot.py
matplotlib version : 3.5.1

-------------------------------- env vars --------------------------------
PATH = /home/billhoffman/.local/bin:/home/billhoffman/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/billhoffman/abin:/home/billhoffman/abin

PYTHONPATH =
R_LIBS = /home/billhoffman/R

LD_LIBRARY_PATH =
DYLD_LIBRARY_PATH =
DYLD_FALLBACK_LIBRARY_PATH =

------------------------------ data checks -------------------------------
data dir : found AFNI_data6 under $HOME (2192271M Avail)
top history: 20 Feb 2020 [rickr]: updated FT_analysis examples
data dir : found AFNI_demos under $HOME
top history: …ct 2020 [taylorp]: updated scripts under FATCAT_DEMO
data dir : found suma_demo under $HOME
top history: …s_New/data/Build_tmp on Mon Mar 4 11:56:45 EST 2013
data dir : found afni_handouts under $HOME
atlas : did not find TT_N27+tlrc

------------------------------ OS specific -------------------------------
which dnf : /usr/bin/dnf
dnf version : 4.11.1
which yum : /usr/bin/yum
yum version : 4.11.1

========================= summary, please fix: =========================

  • just be aware: login shell ‘bash’, but our code examples use ‘tcsh’
  • AFNI programs show FAILURE
  • missing R packages (see rPkgsInstall)
  • check for partial install of PyQt4
  • possibly missing atlases

Hello,

I use fedora 35, but via compiling (using the fedora35 Makefile), but If you want to use these binaries, it seems feasible. I will give that a try here…

Yes, the library you seem to be needing is basically because the library link does not exist. You can make that by:

sudo ln -s /usr/lib64/libgsl.so /usr/lib64/libgsl.so.0

With that link (and the openmp_64 binaries), my system_check output looks good.

There are extra dependencies for building those R libraries. To install them, run the commands in other_builds/OS_notes.linux_fedora_35.txt. You can basically run that as a script if you would like, though it might be preferable to just copy one dnf command at a time.

After that, you can try building the R libraries again. That worked for me.
If you want to compile your own AFNI package, it is easy to do.

Please let me know if you have any questions.

  • rick

Thank you so much! That took care of everything. I also installed python3-PyQt4-4.12.3-17.fc35.x86_64.rpm to get rid of the PyQt4 error

That’s great, thanks for the update!

  • rick

Forgive me if this is duplicative. I tried to send a response over the weekend.

I spoke too soon!

While trying to use uber_subject.py, I get the following error:

uber_subject.py
QGtkStyle could not resolve GTK. Make sure you have installed the proper libraries.

Uber opens and I can link the anatomical scan, but when I try to link the functional scan, I get the following error text:

Traceback (most recent call last):
File “/home/billhoffman/abin/afnipy/gui_uber_subj.py”, line 1809, in CB_gbox_PushB
self.epi_list_to_table()
File “/home/billhoffman/abin/afnipy/gui_uber_subj.py”, line 1458, in epi_list_to_table
indItem.setTextAlignment(QtCore.Qt.AlignHCenter|QtCore.Qt.AlignVCenter)
TypeError: setTextAlignment(self, int): argument 1 has unexpected type ‘Alignment’

Perhaps this is an asymptotic approach…

Indeed, I see the same thing, sorry.

I was going to beg you not to use uber_subject.py, since it is not current with what afni_proc.py can do. It is still highly recommended that you start with some current afni_proc.py examples.

However, it was not too bad updating this with changes that should work with old versions, too. So I did.

Updates should be available later tonight.

Thanks,

  • rick

we’ve been using FSL for a while and I was working through an AFNI tutorial to refresh my memory about AFNI, because I have an analysis that afni would do best. the tutorial used uber, I can probably do the tutorial with afni.proc.py.

Cool. The update should be ready in a couple of hours, in case you still want to compare.
Thanks for mentioning it,

  • rick