Issue when installing SCT 5.3.0

When trying to install SCT in my computer I get the following error:

  *******************************
 * Welcome to SCT installation *
 *******************************


 Checking OS type and version...
 Linux beatrix 3.16.0-10-amd64 #1 SMP Debian 3.16.81-1 (2020-01-17) x86_64 GNU/Linux
Checking requirements...

OK!

SCT version ......... 5.3.0
Installation type ... package
Operating system .... linux (unknown)
Shell config ........ /home/rosella/.bashrc

Then everything is ok until sct_check_dependencies:

Spinal Cord Toolbox (5.3.0)

        sct_check_dependencies
        --

        SCT info:
        - version: 5.3.0
        - path: /home/rosella/sct_5.3.0
        OS: linux (Linux-3.16.0-10-amd64-x86_64-with-debian-8.11)
        CPU cores: Available: 40, Used by ITK functions: 40
        RAM: Total: 258243MB, Used: 11427MB, Available: 245879MB
        Check Python executable.............................[OK]
          Using bundled python 3.6.13 |Anaconda, Inc.| (default, Feb 23 2021, 21:15:04)
        [GCC 7.3.0] at /home/rosella/sct_5.3.0/python/envs/venv_sct/bin/python
        Check if data are installed.........................[OK]
        Check if colored is installed.......................[OK] (1.4.2)
        Check if dipy is installed..........................[OK] (1.4.0)
        Check if futures is installed.......................[OK]
        Check if h5py is installed..........................[OK] (2.10.0)
        Check if Keras (2.1.5) is installed.................[OK] (2.1.5)
        Check if ivadomed is installed......................Generating new fontManager, this may take some time...
        [OK] (2.7.4)
        Check if matplotlib is installed....................[OK] (3.3.4)
        Check if nibabel is installed.......................[OK] (3.2.1)
        Check if numpy is installed.........................[OK] (1.19.5)
        Check if onnxruntime (1.4.0) is installed.........../home/rosella/sct_5.3.0/python/envs/venv_sct/lib/python3.6/site-packages/onnxruntime/capi/_pybind_state.py:14: UserWarning: Cannot load onnxruntime.capi. Error: 'dlopen: cannot load any more object with static TLS'.
          warnings.warn("Cannot load onnxruntime.capi. Error: '{0}'.".format(str(e)))
        [FAIL]
        cannot import name 'get_all_providers'
        Check if pandas is installed........................[OK] (1.1.5)
        Check if psutil is installed........................[OK] (5.8.0)
        Check if pyqt5 (5.11.3) is installed................[OK] (5.11.3)
        Check if pytest is installed........................[OK] (6.2.3)
        Check if pytest-cov is installed....................[OK] (__version__ = '2.11.1')
        Check if raven is installed.........................[OK]
        Check if requests is installed......................[OK] (2.25.1)
        Check if requirements-parser is installed...........[OK] (0.2.0)
        Check if scipy is installed.........................[OK] (1.5.4)
        Check if scikit-image is installed..................[FAIL]
        dlopen: cannot load any more object with static TLS
        It seems that scikit-image has not been built correctly.

        Your install of scikit-image appears to be broken.
        Try re-installing the package following the instructions at:
        https://scikit-image.org/docs/stable/install.html
        Check if scikit-learn is installed..................[FAIL]
        dlopen: cannot load any more object with static TLS
        ___________________________________________________________________________
        Contents of /home/rosella/sct_5.3.0/python/envs/venv_sct/lib/python3.6/site-packages/sklearn/__check_build:
        setup.py                  __pycache__               __init__.py
        _check_build.cpython-36m-x86_64-linux-gnu.so
        ___________________________________________________________________________
        It seems that scikit-learn has not been built correctly.

        If you have installed scikit-learn from source, please do not forget
        to build the package before using it: run `python setup.py install` or
        `make` in the source directory.

        If you have used an installer, please check that it is suited for your
        Python version, your operating system and your platform.
        Check if tensorflow (1.5.0) is installed............[OK] (1.5.0)
        Check if torch (1.5.0+cpu) is installed.............[OK] (1.5.0+cpu)
        Check if torchvision (0.6.0+cpu) is installed.......[OK] (0.6.0+cpu)
        Check if xlwt is installed..........................[OK] (1.3.0)
        Check if tqdm is installed..........................[OK] (4.60.0)
        Check if transforms3d is installed..................[OK] (0.3.1)
        Check if urllib3 is installed.......................[OK] (1.26.4)
        Check if pytest_console_scripts is installed........[OK]
        Check if wquantiles is installed....................[OK] (0.4)
        Check if spinalcordtoolbox is installed.............[OK]
        Check ANTs compatibility with OS ...................[OK]
        Check PropSeg compatibility with OS ................[OK]
        Check if DISPLAY variable is set....................[OK]
        Check if figure can be opened with PyQt.............Traceback (most recent call last):
          File "/home/rosella/sct_5.3.0/spinalcordtoolbox/scripts/sct_check_dependencies.py", line 347, in <module>
            main(sys.argv[1:])
          File "/home/rosella/sct_5.3.0/spinalcordtoolbox/scripts/sct_check_dependencies.py", line 327, in main
            from PyQt5.QtWidgets import QApplication, QLabel
        ImportError: dlopen: cannot load any more object with static TLS

        Installation validation Failed!


    Installation failed!

My OS features are:

Distributor ID: Debian
Description: Debian GNU/Linux 8.11 (jessie)
Release: 8.11
Codename: jessie

I have Python 3.8.5 installed through conda package
thanks a lot
Rosella

Hi Rosella,

Thank you for reporting this issue. Could you please run the following command in your terminal, and share the output?

ldd --version

Kind regards,
Joshua

(base) rosella@beatrix:~$ ldd --version
ldd (Debian GLIBC 2.19-18+deb8u10) 2.19
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

Thank you

Thank you for the response.

I believe the issue is due to Debian 8, which contains an outdated version of GLIBC. There is a bugfix for this issue, but it was included in GLIBC 2.21, and you have GLIBC 2.19.

The safest way to update your GLIBC is to update your OS to at least Debian 9. Is this possible for you?

One other reason to update your OS is because Debian 8 has reached “end of life” status and no longer receives security updates from Debian.

Kind regards,
Joshua

thank you for your response. I do not know if it is possible to update OS since it is a machine used in common with other users and so I should ask. Is there any workaround? Maybe installing an older SCT version? I managed to install SCT 4.1.0 in a machine with the same OS as the current one.
thank you
Rosella

Hi Rosella,

I strongly advise against installing an old version of SCT. There are many (good) reasons why we do upgrades :blush:

A viable solution is to run SCT via a container. So my next question is: does your computer cluster have Docker or Singularity installed?

Hi Julien,
I think none of them are installed, but I can install docker and use sct that way. thank you :slight_smile:

great, let us know how it goes

Hi @Rosella_Tro,

Is this issue solved?

Yes thank you, I finally installed SCT 5.3.0 in another machine with updated OS.
thanks

1 Like