[MINC-users] Running MNI software on SGI Intel 64bits LinuxMachine (IA64)

Hyun-Pil Kim minc-users@bic.mni.mcgill.ca
Thu Mar 10 20:38:03 2005


Dear bert,

It was the last year that we tried using minc tools on Redhat/x86 based
machines. The installation process (from netcdf to mni_autoreg) seemed OK
but the resampled image after mritotal looked strange, totally wrong.

Do you know Jun Sic Kim from Hanyang Univ, Seoul, Korea? He and someone at
the MNI fixed this problem (image_conversion.c) as far as I know (not 100%
sure). We had to make those changes to the original minc-1.3 package to make
it work on Redhat/Fedora/x86/GCC machine. Also, I'm not sure that there are
other fixed parts so I attach the fixed package we are using now.

Another problem (?): EBTKS cannot be compiled with GCC version 3.4.x I think
gcc was changed to meet ISO C++ standard more strictly. 
There was no problem with gcc version 3.3.x. I suspect this may happen with
other mni software on IRIX with the architecture/compiler combinations that
I used.

I hope this is worth reading. Please let me know if I am missing something.

Thanks,
Phil.

--------------------
make  all-am
make[1]: Entering directory `/DISTRIBUTION/MNI_SOFTWARE/EBTKS-1.3'
if /bin/sh ./libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.
-I./include -I./templates -DUSE_COMPMAT -DUSE_DBLMAT
-I/usr/local/mni/include  -g -O2 -MT version.lo -MD -MP -MF
".deps/version.Tpo" \
  -c -o version.lo `test -f 'version.cc' || echo './'`version.cc; \ then mv
".deps/version.Tpo" ".deps/version.Plo"; \ else rm -f ".deps/version.Tpo";
exit 1; \ fi
g++ -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./templates -DUSE_COMPMAT 
g++ -DUSE_DBLMAT -I/usr/local/mni/include -g -O2 -MT version.lo -MD -MP 
g++ -MF .deps/version.Tpo -c version.cc -o version.o
echo timestamp > version.lo
if /bin/sh ./libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.
-I./include -I./templates -DUSE_COMPMAT -DUSE_DBLMAT
-I/usr/local/mni/include  -g -O2 -MT FileIO.lo -MD -MP -MF
".deps/FileIO.Tpo" \
  -c -o FileIO.lo `test -f 'src/FileIO.cc' || echo './'`src/FileIO.cc; \
then mv ".deps/FileIO.Tpo" ".deps/FileIO.Plo"; \ else rm -f
".deps/FileIO.Tpo"; exit 1; \ fi
g++ -DHAVE_CONFIG_H -I. -I. -I. -I./include -I./templates -DUSE_COMPMAT 
g++ -DUSE_DBLMAT -I/usr/local/mni/include -g -O2 -MT FileIO.lo -MD -MP 
g++ -MF .deps/FileIO.Tpo -c src/FileIO.cc -o FileIO.o
In file included from ./include/trivials.h:42,
                 from ./templates/SimpleArray.h:23,
                 from ./include/MString.h:24,
                 from ./include/Path.h:23,
                 from ./include/FileIO.h:26,
                 from src/FileIO.cc:21:
./templates/miscTemplateFunc.h: In function `Histogram& add(Histogram&,
const SimpleArray<Type>&)':
./templates/miscTemplateFunc.h:102: error: invalid use of undefined type
`struct Histogram'
./templates/miscTemplateFunc.h:28: error: forward declaration of `struct
Histogram'
In file included from ./include/MString.h:24,
                 from ./include/Path.h:23,
                 from ./include/FileIO.h:26,
                 from src/FileIO.cc:21:
./templates/SimpleArray.h: In member function `unsigned int
SimpleArray<Type>::occurrencesOf(Type) const':
./templates/SimpleArray.h:100: error: `_size' undeclared (first use this
function)
./templates/SimpleArray.h:100: error: (Each undeclared identifier is
reported only once for each function it appears in.)
./templates/SimpleArray.h: In member function `int
SimpleArray<Type>::indexOf(Type, int) const':
./templates/SimpleArray.h:106: error: `_size' undeclared (first use this
function)
./templates/SimpleArray.h: In member function `virtual void
SimpleArray<Type>::qsort(int (*)(const void*, const void*))':
./templates/SimpleArray.h:130: error: `_contents' undeclared (first use this
function)
./templates/SimpleArray.h:130: error: `_size' undeclared (first use this
function)
./templates/SimpleArray.h: In member function `virtual void
SimpleArray<Type>::qsortAscending()':
./templates/SimpleArray.h:132: error: `_contents' undeclared (first use this
function)
./templates/SimpleArray.h:132: error: `_size' undeclared (first use this
function)
./templates/SimpleArray.h: In member function `virtual void
SimpleArray<Type>::qsortDescending()':
./templates/SimpleArray.h:134: error: `_contents' undeclared (first use this
function)
./templates/SimpleArray.h:134: error: `_size' undeclared (first use this
function)
./templates/SimpleArray.h: In member function `double
SimpleArray<Type>::mean() const':
./templates/SimpleArray.h:144: error: `_size' undeclared (first use this
function)
./templates/SimpleArray.h: In member function `SimpleArray<Type>
SimpleArray<Type>::operator-() const':
./templates/SimpleArray.h:190: error: `_size' undeclared (first use this
function)
make[1]: *** [FileIO.lo] Error 1
make[1]: Leaving directory `/DISTRIBUTION/MNI_SOFTWARE/EBTKS-1.3'
make: *** [all] Error 2


|-----Original Message-----
|From: Robert VINCENT [mailto:bert@bic.mni.mcgill.ca]
|Sent: Wednesday, March 09, 2005 1:15 AM
|To: hpkim@bme.hanyang.ac.kr
|Subject: RE: [MINC-users] Running MNI software on SGI Intel 64bits
|LinuxMachine (IA64)
|
|Hi Phil,
|
|We have already fixed the issue in N3 and are working on a new release
|that incorporates this fix.
|
|I was not aware of any problem in MINC's image_conversion.c.  Can you give
|me some description of the problem and what changes you had to make?
|
|If you are having other problems I would be happy to get more of the
|details so that we can try to correct them!
|
|	-bert
|
|On Tue, 8 Mar 2005, ??? wrote:
|
|> Dear Morgan,
|>
|> I am trying to build almost every tool from MNI (public or private). And
|I
|> found that there are numerous problems out there for compiling,
|installing,
|> and running MNI Software and needed libraries on GNU/Linux/x86/x86_64
|> combinations. I hope that people have more interest in Intel/GNU/Linux
|> boxes. :)
|>
|> #########################################
|> F.Y.I. from my personal correspondence:
|>
|> We had to patch:
|>
|> N3 -> extracttag.c
|> . "-mintags", ARGV_LONG, (char *) NULL, (char *) &min_tags, . . "-
|maxtags",
|> ARGV_LONG, .
|>
|> Also, the following should be patched
|> minc 1.3 -> image_conversion.c line 680~
|> /* Check for image dimension properties */
|>      if ((icv_property>=MI_ICV_DIM_START) &&
|>                (icv_property<MI_ICV_DIM_START+MI_MAX_IMGDIMS)) {
|>          idim = icv_property - MI_ICV_DIM_START;
|>          *value = icvp->derv_dim_start[idim];
|>       }
|>       else if ((icv_property>=MI_ICV_DIM_STEP) &&
|>                (icv_property<MI_ICV_DIM_STEP+MI_MAX_IMGDIMS)) {
|>          idim = icv_property - MI_ICV_DIM_STEP;
|>          *value = icvp->derv_dim_step[idim];
|>       }
|>       else if ((icv_property>=MI_ICV_DIM_SIZE) &&
|>          (icv_property<MI_ICV_DIM_SIZE+MI_MAX_IMGDIMS)) {
|>          idim = icv_property - MI_ICV_DIM_SIZE;
|>          *value = icvp->user_dim_size[idim];
|>       }
|>
|>
|> ......
|>
|> CGAL 2.4 package for mni_surfreg. However I needed additional patch again
|to
|> work around a problem. That seems to be compatibility problems between
|> IRIS(n32? n64?) and GCC/G++.
|>
|> I had to link following object for building shared library to work around
|> 'hidden symbols not found in libCGAL.so error'. This might not be safe.
|>
|> static void init(){}
|> static void fini(){}
|> static void preinit(){}
|>
|> typedef void (*fp)();
|> fp __init_array_start[]={init};
|> fp __init_array_end[]={init};
|> fp __fini_array_start[]={fini};
|> fp __fini_array_end[]={fini};
|> fp __preinit_array_start[]={preinit};
|> fp __preinit_array_end[]={preinit};
|> ############################################
|>
|> And some of the software working on x86_32 machine does not work properly
|on
|> an IA64 machine.
|>
|> Regards,
|> Phil.
|>
|>
|> |-----Original Message-----
|> |From: minc-users-admin@bic.mni.mcgill.ca [mailto:minc-users-
|> |admin@bic.mni.mcgill.ca] On Behalf Of Morgan Hough
|> |Sent: Friday, March 04, 2005 6:49 PM
|> |To: Hyun-Pil Kim
|> |Cc: minc-users@bic.mni.mcgill.ca
|> |Subject: Re: [MINC-users] Running MNI software on SGI Intel 64bits
|> |LinuxMachine (IA64)
|> |
|> |Phil,
|> |
|> |You might be the first person to try this as I think MNI only supports
|> |IRIX/MIPS builds for SGIs (I could be wrong). I assume you are
|> |downloading the source and using the autoconf build process which you
|> |say is working without any errors. Can you say anything more about the
|> |differences you have been seeing versus Linux/x86? Which tools have you
|> |been building? Do you use the Intel compiler or GCC? Is that a 2.4 or
|> |2.6 kernel (I have heard they backported 2.6 features to 2.4 for some
|> |of their system configurations)?
|> |
|> |We are thinking about getting one of these systems and I am interested
|> |to hear more about the issues you are having.
|> |
|> |Cheers,
|> |
|> |-Morgan
|> |
|> |--
|> |Morgan Hough  DPhil student
|> |FMRIB, John Radcliffe Hospital, Headington, Oxford OX3 9DU, UK
|> |mhough@fmrib.ox.ac.uk  www.fmrib.ox.ac.uk/~mhough tel +44 (0) 1865
|> |222545  fax +44 (0) 1865 222717
|> |
|> |On Tue, 2005-03-01 at 06:14, Hyun-Pil Kim wrote:
|> |>
|> |>
|> |> Recently I've been trying to use MNI tools on a Itanium2 based SGI
|> |> Linux machine.
|> |>
|> |> (SIG Altix 350) All software and firmware are up-to-date but I don't
|> |> get it work correctly.
|> |>
|> |> There seems to be no problems while installation, however, I don't
|> |> get consistent results with those of 32bit based Fedora boxes.
|> |> Anybody have an idea?
|> |>
|> |>
|> |>
|> |> Regards,
|> |>
|> |> Phil
|> |>
|> |> *------------------------------------------------*
|> |> Hyun-Pil Kim,
|> |> Computational Neuroimage Analysis Lab., Dept. of Biomedical
|> |> Engineering, Hanyang Univ.
|> |> Sungdong P.O. Box 55, Seoul, 133-605, KOREA
|> |> Tel: +82-2-2290-0697; FAX: +82-2-2296-5943
|> |> Mobile: +82-19-286-0485
|> |> E-mail: hpkim at ihanyang.ac.kr; aimtop77 at empal.com
|> |> *------------------------------------------------*
|> |>
|> |>
|> |>
|> |
|> |
|> |_______________________________________________
|> |MINC-users@bic.mni.mcgill.ca
|> |http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
|>
|> _______________________________________________
|> MINC-users@bic.mni.mcgill.ca
|> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
|>