spinalcordtoolbox / sct_docker

Docker distribution of Spinal Cord Toolbox
3 stars 3 forks source link

sct_deepseg_sc ImportError: dlopen: cannot load any more object with static #43

Open alexfoias opened 4 years ago

alexfoias commented 4 years ago

In order to replicate the error from user I did the following steps:

docker pull debian:8
docker run -d -ti --name debian8 debian:8
docker exec -it debian8 /bin/bash
apt-get update
apt-get install -y wget gcc unzip
wget https://github.com/neuropoly/spinalcordtoolbox/archive/4.1.0.zip
unzip 4.1.0.zip
cd spinalcordtoolbox-4.1.0/
yes | ./install_sct

Download data from issue signalled above.

docker cp /Users/alfoi/Downloads/data_tst debian8:/data_tst
source /root/.bashrc
cd /data_tst
sct_dmri_separate_b0_and_dwi -i kurtosis.nii -bvec kurtosis_crop_moco.bvec
sct_deepseg_sc -i kurtosis_dwi_mean.nii -c dwi -centerline viewer
root@e06f07aa23cf:/data_tst# sct_deepseg_sc -i kurtosis_dwi_mean.nii -c dwi -centerline viewer

 
--
Spinal Cord Toolbox (4.1.0)

 
Config deepseg_sc:
  Centerline algorithm: viewer
  Brain in image: False
  Kernel dimension: 2d
  Contrast: dwi
  Threshold: 0.01

 
Create temporary folder (/tmp/sct-20191113194610.399486-kkyd29jj)...
Reorient the image to RPI, if necessary...
Finding the spinal cord centerline...
Traceback (most recent call last):
  File "/root/sct_4.1.0/scripts/sct_deepseg_sc.py", line 201, in <module>
    main()
  File "/root/sct_4.1.0/scripts/sct_deepseg_sc.py", line 185, in main
    threshold_seg=threshold, remove_temp_files=remove_temp_files, verbose=verbose)
  File "/root/sct_4.1.0/spinalcordtoolbox/deepseg_sc/core.py", line 477, in deep_segmentation_spinalcord
    centerline_fname=file_ctr)
  File "/root/sct_4.1.0/spinalcordtoolbox/deepseg_sc/core.py", line 106, in find_centerline
    im_labels = _call_viewer_centerline(im)
  File "/root/sct_4.1.0/spinalcordtoolbox/centerline/core.py", line 268, in _call_viewer_centerline
    from spinalcordtoolbox.gui.base import AnatomicalParams
  File "/root/sct_4.1.0/spinalcordtoolbox/gui/base.py", line 27, in <module>
    from PyQt5 import QtCore, QtGui, QtWidgets
ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

In order to fix the error I installed:

apt-get install libglib2.0-0

The previous line fixed the issue, when re-run : sct_deepseg_sc -i kurtosis_dwi_mean.nii -c dwi -centerline viewer

root@e06f07aa23cf:/data_tst# sct_deepseg_sc -i kurtosis_dwi_mean.nii -c dwi -centerline viewer

 
--
Spinal Cord Toolbox (4.1.0)

 
Config deepseg_sc:
  Centerline algorithm: viewer
  Brain in image: False
  Kernel dimension: 2d
  Contrast: dwi
  Threshold: 0.01

 
Create temporary folder (/tmp/sct-20191113194947.156933-1hzr0bjo)...
Reorient the image to RPI, if necessary...
Finding the spinal cord centerline...
Traceback (most recent call last):
  File "/root/sct_4.1.0/scripts/sct_deepseg_sc.py", line 201, in <module>
    main()
  File "/root/sct_4.1.0/scripts/sct_deepseg_sc.py", line 185, in main
    threshold_seg=threshold, remove_temp_files=remove_temp_files, verbose=verbose)
  File "/root/sct_4.1.0/spinalcordtoolbox/deepseg_sc/core.py", line 477, in deep_segmentation_spinalcord
    centerline_fname=file_ctr)
  File "/root/sct_4.1.0/spinalcordtoolbox/deepseg_sc/core.py", line 106, in find_centerline
    im_labels = _call_viewer_centerline(im)
  File "/root/sct_4.1.0/spinalcordtoolbox/centerline/core.py", line 268, in _call_viewer_centerline
    from spinalcordtoolbox.gui.base import AnatomicalParams
  File "/root/sct_4.1.0/spinalcordtoolbox/gui/base.py", line 27, in <module>
    from PyQt5 import QtCore, QtGui, QtWidgets
ImportError: libGL.so.1: cannot open shared object file: No such file or directory

In order to fix the error I installed:

apt install libgl1-mesa-glx

 Fixed previous issue, when re-run the command I got the error:

root@e06f07aa23cf:/data_tst# sct_deepseg_sc -i kurtosis_dwi_mean.nii -c dwi -centerline viewer
 
--
Spinal Cord Toolbox (4.1.0)
 
Config deepseg_sc:
  Centerline algorithm: viewer
  Brain in image: False
  Kernel dimension: 2d
  Contrast: dwi
  Threshold: 0.01
 
Create temporary folder (/tmp/sct-20191113195232.667227-nyp602b5)...
Reorient the image to RPI, if necessary...
Finding the spinal cord centerline...
Traceback (most recent call last):
  File "/root/sct_4.1.0/scripts/sct_deepseg_sc.py", line 201, in <module>
    main()
  File "/root/sct_4.1.0/scripts/sct_deepseg_sc.py", line 185, in main
    threshold_seg=threshold, remove_temp_files=remove_temp_files, verbose=verbose)
  File "/root/sct_4.1.0/spinalcordtoolbox/deepseg_sc/core.py", line 477, in deep_segmentation_spinalcord
    centerline_fname=file_ctr)
  File "/root/sct_4.1.0/spinalcordtoolbox/deepseg_sc/core.py", line 106, in find_centerline
    im_labels = _call_viewer_centerline(im)
  File "/root/sct_4.1.0/spinalcordtoolbox/centerline/core.py", line 268, in _call_viewer_centerline
    from spinalcordtoolbox.gui.base import AnatomicalParams
  File "/root/sct_4.1.0/spinalcordtoolbox/gui/base.py", line 27, in <module>
    from PyQt5 import QtCore, QtGui, QtWidgets
ImportError: dlopen: cannot load any more object with static