Hello,
I recently upgraded from Ubuntu 13.10 to 14.04, and I started getting a new error message while running "recon-all" with .nii file inputs (details below). From the error message I believe the problem might be that Ubuntu 14.04 ships with perl version 5.18 (as opposed to 5.14 for previous versions), and the Ubuntu 14.04 Perl manpage (http://manpages.ubuntu.com/manpages/trusty/man1/perl5120delta.1.html), specifically lists "shellwords.pl" as a newly deprecated library.
My naive instinct was to install perl version 5.14 using perlbrew, and switch to it whenever a new shell is launched by editing my .bashrc file, by adding the lines "source ~/perl5/perlbrew/etc/bashrc" "perlbrew switch perl-5.14.4"
When I do this my shell recognizes perl-5.14.4 as the active version, but freesurfer does not. This makes me worry it won't be such a simple fix. Any Ideas as to the best way to handle this? Am I on the right track?
Many Thanks! -Samuel Thorpe
bugr related info: --------------------------------------------------------------------- FREESURFER_HOME: /usr/local/freesurfer SUBJECTS_DIR: /usr/local/freesurfer/subjects "which recon-all" gives "/usr/local/freesurfer/bin/recon-all" Build stamp: freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0 Debian version: jessie/sid Kernel info: Linux 3.8.0-32-generic x86_64 Linux OS: Ubuntu 14.04 LTS "Trusty Tahr"
example commands executed: --------------------------------------------------------------------- subject: "bert", "bert_nii" after converting "/usr/local/freesurfer/subjects/bert/mri/orig/001.mgz" to .nii using "mri_convert" (operation successful), I attempt, "recon-all -i /usr/local/freesurfer/subjects/bert/mri/orig/001.nii -s bert_nii -all"
error message: --------------------------------------------------------------------- "Can't locate shellwords.pl in @INC (@INC contains: /usr/local/freesurfer/mni/bin/../lib/mni_autoreg /usr/local/freesurfer/mni/lib/perl5/5.8.5 /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at /usr/local/freesurfer/mni/bin/mritotal line 460."
/usr/local/freesurfer/subjects/bert_nii/script/recon-all.log attached
Samuel,
Unfortunately the program that's failing is 'mritotal', which is an MNI tool that is distributed with freesurfer, so it's unlikely that we'll track this down anytime soon.
However, this program is only run after our primary talairach alignment utility fails, and it appears from your recon-all log that your subject failed the first alignment. Make sure your 'orig.mgz' looks 'good', that it, like the orig.mgz does in the sample subject 'bert': full head view with good orientation, and decent gm/wm contrast.
If it is ok, then a workaround is to use tkregister to manually align the image, such that mritotal is not run, and the rest of recon-all should run properly (hopefully).
Nick
On Fri, 2014-05-16 at 17:14 -0004, Samuel Thorpe wrote:
Hello,
I recently upgraded from Ubuntu 13.10 to 14.04, and I started getting a new error message while running "recon-all" with .nii file inputs (details below). From the error message I believe the problem might be that Ubuntu 14.04 ships with perl version 5.18 (as opposed to 5.14 for previous versions), and the Ubuntu 14.04 Perl manpage (http://manpages.ubuntu.com/manpages/trusty/man1/perl5120delta.1.html), specifically lists "shellwords.pl" as a newly deprecated library.
My naive instinct was to install perl version 5.14 using perlbrew, and switch to it whenever a new shell is launched by editing my .bashrc file, by adding the lines "source ~/perl5/perlbrew/etc/bashrc" "perlbrew switch perl-5.14.4"
When I do this my shell recognizes perl-5.14.4 as the active version, but freesurfer does not. This makes me worry it won't be such a simple fix. Any Ideas as to the best way to handle this? Am I on the right track?
Many Thanks! -Samuel Thorpe
bugr related info:
FREESURFER_HOME: /usr/local/freesurfer SUBJECTS_DIR: /usr/local/freesurfer/subjects "which recon-all" gives "/usr/local/freesurfer/bin/recon-all" Build stamp: freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0 Debian version: jessie/sid Kernel info: Linux 3.8.0-32-generic x86_64 Linux OS: Ubuntu 14.04 LTS "Trusty Tahr"
example commands executed:
subject: "bert", "bert_nii" after converting "/usr/local/freesurfer/subjects/bert/mri/orig/001.mgz" to .nii using "mri_convert" (operation successful), I attempt, "recon-all -i /usr/local/freesurfer/subjects/bert/mri/orig/001.nii -s bert_nii -all"
error message:
"Can't locate shellwords.pl in @INC (@INC contains: /usr/local/freesurfer/mni/bin/../lib/mni_autoreg /usr/local/freesurfer/mni/lib/perl5/5.8.5 /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at /usr/local/freesurfer/mni/bin/mritotal line 460."
/usr/local/freesurfer/subjects/bert_nii/script/recon-all.log attached _______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
freesurfer@nmr.mgh.harvard.edu