Missing library for AFNI 3dSkullStrip in Singularity version of Docker image
See original GitHub issueI am running the Docker image from a Singularity container, and when I try to process the OpenfMRI ds008 subject 15 with mriqc, I get the following error message
$ singularity exec -B /home/bennet/Projects/mpeckins/MRIQC/ds008_R2.0.0:/data:ro -B $PWD/out:/out mriqc.simg mriqc /data /out participant --participant_label sub-15
2017-10-07 14:18:56,752 interface:WARNING AFNI is outdated, detected version Debian-16.2.07~dfsg.1-5~nd16.04+1 and AFNI_17.2.17 is available.
2017-10-07 14:18:57,101 interface:WARNING AFNI is outdated, detected version Debian-16.2.07~dfsg.1-5~nd16.04+1 and AFNI_17.2.17 is available.
2017-10-07 14:18:57,556 mriqc.cli:WARNING No T2w scans were found in /data
2017-10-07 14:18:57,556 mriqc.cli:WARNING Anonymized quality metrics will be submitted to MRIQC's metrics repository. Use --no-sub to disable submission.
2017-10-07 14:19:40,754 workflow:ERROR ['Node skullstrip.a0 failed to run on host brainbox.']
The final messages from the run are:
2017-10-07 14:29:56,831 workflow:ERROR could not run node: workflow_enumerator.anatMRIQCT1w.AFNISkullStripWorkflow.skullstrip.a0
Traceback (most recent call last):
File "/usr/local/miniconda/bin/mriqc", line 11, in <module>
load_entry_point('mriqc==0.9.8.post1', 'console_scripts', 'mriqc')()
File "/usr/local/miniconda/lib/python3.6/site-packages/mriqc/bin/mriqc_run.py", line 325, in main
workflow.run(**plugin_settings)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/engine/workflows.py", line 590, in run
runner.run(execgraph, updatehash=updatehash, config=self.config)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/plugins/base.py", line 279, in run
report_nodes_not_run(notrun)
File "/usr/local/miniconda/lib/python3.6/site-packages/niworkflows/nipype/pipeline/plugins/base.py", line 101, in report_nodes_not_run
raise RuntimeError(('Workflow did not execute cleanly. '
RuntimeError: Workflow did not execute cleanly. Check log for details
The directory work/workflow_enumerator/anatMRIQCT1w/AFNISkullStripWorkflow/_in_file_..data..sub-15..anat..sub-15_T1w.nii.gz/skullstrip contains command.txt, which I presume is the command run by the skullstrip connector, and it contains
3dSkullStrip -input /home/bennet/Projects/mpeckins/MRIQC/work/workflow_enumerator/anatMRIQCT1w/AFNISkullStripWorkflow/_in_file_..data..sub-15..anat..sub-15_T1w.nii.gz/skullstrip/sub-15_T1w_conformed_corrected.nii.gz -prefix sub-15_T1w_conformed_corrected_skullstrip.nii.gz
When I start Singularity and run that command, I get a missing library error message.
Singularity mriqc.simg:~/Projects/mpeckins/MRIQC> 3dSkullStrip -input /home/bennet/Projects/mpeckins/MRIQC/work/workflow_enumerator/anatMRIQCT1w/AFNISkullStripWorkflow/_in_file_..data..sub-15..anat..sub-15_T1w.nii.gz/skullstrip/sub-15_T1w_conformed_corrected.nii.gz -prefix sub-15_T1w_conformed_corrected_skullstrip.nii.gz
3dSkullStrip: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
This agrees with the message in out/logs/crash-20171007-141940-bennet-skullstrip.a0-92e4749c-d7dd-46ca-b3bd-457385d4fbb8.txt, which says at the end of the Traceback,
RuntimeError: Command:
3dSkullStrip -input /home/bennet/Projects/mpeckins/MRIQC/work/workflow_enumerator/anatMRIQCT1w/AFNISkullStripWorkflow/_in_file_..data..sub-15..anat..sub-15_T1w.nii.gz/skullstrip/sub-15_T1w_conformed_corrected.nii.gz -prefix sub-15_T1w_conformed_corrected_skullstrip.nii.gz
Standard output:
3dSkullStrip: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
The only libGL* files in /usr/lib/x86_64-linux-gnu/ are
Singularity mriqc.simg:~/Projects/mpeckins/MRIQC> ls -l /usr/lib/x86_64-linux-gnu/libGL*
lrwxrwxrwx 1 root root 15 Oct 23 2015 /usr/lib/x86_64-linux-gnu/libGLU.so.1 -> libGLU.so.1.3.1
-rw-r--r-- 1 root root 453352 Oct 23 2015 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
lrwxrwxrwx 1 root root 15 Dec 1 2013 /usr/lib/x86_64-linux-gnu/libGLw.so.1 -> libGLw.so.1.0.0
-rw-r--r-- 1 root root 26752 Dec 1 2013 /usr/lib/x86_64-linux-gnu/libGLw.so.1.0.0
Is this something the Docker image presumes will be supplied by the host OS?
Issue Analytics
- State:
- Created 6 years ago
- Comments:14 (9 by maintainers)

Top Related StackOverflow Question
Thanks @oesteban the new image works!
I’ve checked and #733 seems to fix the issue for me.
@mattcieslak could I ask you to run:
Thanks!