Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Singularity build missing dependencies (1.1.3) #1235

Closed
mgxd opened this issue Aug 5, 2018 · 7 comments · Fixed by #1236
Closed

Singularity build missing dependencies (1.1.3) #1235

mgxd opened this issue Aug 5, 2018 · 7 comments · Fixed by #1236
Labels

Comments

@mgxd
Copy link
Collaborator

mgxd commented Aug 5, 2018

Cannot run fMRIPrep. Missing dependencies:
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)
    3dQwarp -prefix Qwarp.nii.gz -plusminus (Interface: QwarpPlusMinus)

Full log here
Container was built from dockerhub using Singularity 2.4.5 and 2.5.1
singularity build fmriprep.simg docker://poldracklab/fmriprep:1.1.3

@oesteban oesteban added the bug label Aug 5, 2018
@effigies
Copy link
Member

effigies commented Aug 6, 2018

Are you able to singularity exec fmriprep.simg 3dQwarp (or however one tries to execute a command in a Singularity container)? That will help narrow down whether it's a container issue or a dependency check issue.

@effigies
Copy link
Member

effigies commented Aug 6, 2018

Also, check whether /usr/lib/afni/bin is in your PATH inside the container.

@mgxd
Copy link
Collaborator Author

mgxd commented Aug 6, 2018

Should have also specified that /usr/lib/afni/bin is in the PATH.
And 3dQwarp command shows documentation.

This may be a singularity issue, but I'll try building with the latest version (2.6.0) and let you know.

FWIW, fmriprep-1.1.1 runs fine when built with singularity 2.5.1

@effigies
Copy link
Member

effigies commented Aug 6, 2018

Ah. I see the problem:

class QwarpPlusMinus(CommandLine):
    ...
    _cmd = '3dQwarp -prefix Qwarp.nii.gz -plusminus'

In #1044, we make sure every _cmd can be found in the PATH, but I guess what we should be doing is making sure that every _cmd.split()[0] can be found.

Or QwarpPlusMinus should be fixed to provide a more normal _cmd.

@effigies
Copy link
Member

effigies commented Aug 6, 2018

It'll be quick to update the which check, so I'll do that and we can get a release out. But I'd appreciate opinions on whether that's the appropriate long-term solution, or what would be better.

@mgxd
Copy link
Collaborator Author

mgxd commented Aug 6, 2018

IMO, Nipype interfaces' _cmd should only include the executable, not include any flags or additional parameters (those can be set as defaults in the inputspec).

I can rework afni.QwarpPlusMinus to resemble fsl.ApplyXFM, which is just a wrapper of FLIRT + parameter set by default

@effigies
Copy link
Member

effigies commented Aug 6, 2018

That sounds like a good long-term fix to me. And we should check the nipype docs to make sure that we specify that _cmd should only be the name of the executable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants