[Insight-developers] Problem again in NRRDIO

Gordon L. Kindlmann glk at uchicago.edu
Tue Mar 23 14:07:25 EDT 2010


Hello,

Shoot- sorry about this; I was just thinking the NrrdIO update was  
finished!

There indeed probably aren't any tests for checking compiling  
applications against both Teem (containing the air, biff, and nrrd  
libraries that these symbols are coming from) and ITK (containing  
NrrdIO, the fraction of Teem required for Nrrd file IO).  Aren't  
Slicer builds doing this?  Are there analogous tests for, say,  
compiling applications against non-ITK zlib and ITK name-mangled zlib,  
which can be copied from?

I can tell that these names are for the global variables that exist in  
NrrdIO.  These are probably not getting correctly picked up from the  
list of symbols in the NrrdIO library, which mangle.pl does by using  
"nm".

Michel, can go through the NrrdIO process on whatever platform you  
used last, and at the point of running mangle.pl, can you run "nm"  
manually and grep for, say, _nrrdStateGrayscaleImage3D, and see how  
that symbol is identified?  Line 66 of mangle.pl apparently is missing  
this.

Gordon

On Mar 23, 2010, at 12:33 PM, Daniel Blezek wrote:

> Hi,
>
>   We link both against NRRD and ITK in our applications.  At the end  
> of February, the mangled ITK names were changed from what I fixed.   
> Clearly, this is not tested properly, because today I updated ITK  
> and re-built:
>
> 34>ITKNrrdIO.lib(string.obj) : error LNK2005: _airStrtokQuoting  
> already defined in teem.lib(string.obj)
> 34>ITKNrrdIO.lib(defaultsNrrd.obj) : error LNK2005:  
> _nrrdStateVerboseIO already defined in teem.lib(defaultsNrrd.obj)
> 34>ITKNrrdIO.lib(defaultsNrrd.obj) : error LNK2005:  
> _nrrdStateKeyValuePairsPropagate already defined in  
> teem.lib(defaultsNrrd.obj)
> 34>ITKNrrdIO.lib(defaultsNrrd.obj) : error LNK2005:  
> _nrrdStateDisableContent already defined in teem.lib(defaultsNrrd.obj)
> 34>ITKNrrdIO.lib(defaultsNrrd.obj) : error LNK2005:  
> _nrrdStateGrayscaleImage3D already defined in  
> teem.lib(defaultsNrrd.obj)
> 34>ITKNrrdIO.lib(defaultsNrrd.obj) : error LNK2005:  
> _nrrdStateKeyValueReturnInternalPointers already defined in  
> teem.lib(defaultsNrrd.obj)
> 34>ITKNrrdIO.lib(defaultsNrrd.obj) : error LNK2005:  
> _nrrdStateKindNoop already defined in teem.lib(defaultsNrrd.obj)
> 34>ITKNrrdIO.lib(biffmsg.obj) : error LNK2005: __biffMsgNoop already  
> defined in teem.lib(biffmsg.obj)
> 34>ITKNrrdIO.lib(dio.obj) : error LNK2005: _airDisableDio already  
> defined in teem.lib(dio.obj)
>
> Could “Michel” (according to CVS) please have a closer look at  
> this?  I had tweaked this once before, and my changes were blown  
> away by the (broken) mangle.pl script.
>
> I’ll go back through and manually add the names if necessary.
>
> Cheers,
> -dan
>
> -- 
> Daniel Blezek, PhD
> Medical Imaging Informatics Innovation Center
>
> P 127 or (77) 8 8886
> T 507 538 8886
> E blezek.daniel at mayo.edu
>
> Mayo Clinic
> 200 First St. S.W.
> Harwick SL-44
> Rochester, MN 55905
> mayoclinic.org
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers



More information about the Insight-developers mailing list