Hi,
On Mon, Sep 10, 2007 at 02:12:04PM +0100, Antonios - Constantine Thanellas wrote:
> Dear fsl users
>
> I used fsl-selftest and i had exactly the same error during evaluation.
>
> I increased the swap memory from 1GB to 5.8GB as i was advised and after
> running the evaluation the same error in FDT took place. More specific:
<snip>
> Starting FDT (bedpost) at Mon Sep 10 14:31:38 EEST 2007
> checking error on bedpost output:
> No output image created
> Warning - test failed!
> No output image created
> Warning - test failed!
> No output image created
> Warning - test failed!
> No output image created
> Warning - test failed!
> No output image created
> Warning - test failed!
> No output image created
> Warning - test failed!
> No output image created
> Warning - test failed!
Going into the script the real error seems to be this one:
hanke@lucien:/tmp$ bedpostx fdt_subj1 -n 1
subjectdir is /tmp/fdt_subj1
Making bedpostx directory structure
Queuing preprocessing stages
Queuing parallel processing stage
/usr/lib/fsl/bedpostx: 166: Syntax error: Bad for loop variable
The reason is a "too advanced" for loop syntax which dash seems to be
unable to handle.
for ((slice=0; slice < $nslices; slice++)) ; do
echo "${FSLDIR}/bin/bedpostx_single_slice.sh $subjdir $nfibres $fudge $burnin $slice" \
>> ${subjdir}.bedpostX/commands.txt
A 'man dash' reveals this:
The syntax of the for command is
for variable in word ...
do list
done
It looks like it doesn't do the bash-type for (( expr1 ; expr2 ; expr3 )) ; do list ; done
So the workaround is again to replace the first line of
/usr/lib/fsl/bedpostx to call /bin/bash instead of /bin/sh.
HTH.
Michael
--
GPG key: 1024D/3144BE0F Michael Hanke
http://apsy.gse.uni-magdeburg.de/hanke
ICQ: 48230050
|