[MINC-users] mni_autoreg compilation failed

Andre MATOS minc-users@bic.mni.mcgill.ca
Mon, 22 Dec 2003 13:19:34 -0500 (EST)


Hi Steve

The version of the gcc here (Linux Red Hat 7) is 2.96 and the "patch" 
solved the compilation problem.

This is really interesting becouse at home (Linux Red Hat 9) I compilled 
without errors and without this patch. Do you think that the gcc version 
could be the problem? I will check late the gcc version that I have at 
home.


Thanks.

Andre
amatos@mrs.mni.mcgill.ca
 

On Sat, 20 Dec 2003, Steve ROBBINS wrote:

> On Fri, Dec 19, 2003 at 03:53:37PM -0500, Andre MATOS wrote:
> > Hi,
> > 
> > I got this error when I was compiling the mni_autoreg-0.98k:
> > 
> > make[3]: Entering directory 
> > `/scratch/amatos/local/mni_source/mni_autoreg-0.98k/minctracc/Optimize'
> > if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I./../Include -I../../Proglib   
> > -Df2cFortran -DNDEBUG -I/scratch/amatos/local/mni/include  -O -MT 
> > optimize.o -MD -MP -MF ".deps/optimize.Tpo" \
> >   -c -o optimize.o `test -f 'optimize.c' || echo './'`optimize.c; \
> > then mv -f ".deps/optimize.Tpo" ".deps/optimize.Po"; \
> > else rm -f ".deps/optimize.Tpo"; exit 1; \
> > fi
> > optimize.c: In function `optimize_linear_transformation':
> > optimize.c:732: parse error before `void'
>  
>  
> > Is this related to any required lib?
>  
> No.
> 
> There are two likely possibilities.  First, it is possible that your
> copy of mni_autoreg is corrupted.  Try downloading it again and comparing
> the two copies of optimize.c using diff.
> 
> The second possibility is that declaring a function in the middle of
> another function is a nonstandard extension that has been removed.
> What does "gcc --version" say?  Does the following patch fix the problem?
> 
>  
> --- /home/steve/bicsrc/cvs/registration/mni_autoreg/minctracc/Optimize/optimize.c	2003-07-27 11:30:55.000000000 -0400
> +++ minctracc/Optimize/optimize.c	2003-12-20 07:14:00.000000000 -0500
> @@ -179,6 +179,10 @@
>      amoeba_struct  *amoeba );
>  
>  
> +public void normalize_data_to_match_target(Volume d1, Volume m1, Real thresh1,
> +                                           Volume d2, Volume m2, Real thresh2,
> +                                           Arg_Data *globals);
> +
>  public void make_zscore_volume(Volume d1, Volume m1, 
>  			       Real *threshold); 
>  
> @@ -729,9 +733,6 @@
>  			     __FILE__, __LINE__);
>    }    
>  
> -public void normalize_data_to_match_target(Volume d1, Volume m1, Real thresh1,
> -                                           Volume d2, Volume m2, Real thresh2,
> -                                           Arg_Data *globals);
>  
>    /* --------------------------------------------------------------*/
>    /* -------- prepare the weighting array for optimization --------*/
> 
> 
> 
> -Steve
> 
> 
> _______________________________________________
> MINC-users@bic.mni.mcgill.ca
> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
> 

-- 
Andre Matos
amatos@mrs.mni.mcgill.ca