[Insight-developers] Problem again in NRRDIO

Gordon L. Kindlmann glk at uchicago.edu
Tue Mar 23 16:23:22 EDT 2010


Hello,

Ok, so the question is, *how* is nrrdStateGrayscaleImage3D listed?   
there is probably some cryptic single letter code that identifies the  
type of symbol.  mangle.pl is using these letter codes to distinguish  
between symbols that the NrrdIO library is actually supplying, versus  
merely using, and the problem is that nrrdStateGrayscaleImage3D is  
actually being supplied, but is not being recorded as such in the  
output of mangle.pl.  Line 66 of mangle.pl is where this decision is  
made; so it may need tweaking.

Gordon

On Mar 23, 2010, at 3:18 PM, Michel Audette wrote:

> Hi Gordon,
>
> According to this procedure, _nrrdStateGrayscaleImage3D fails to  
> appear, although nrrdStateGrayscaleImage3D is listed in the result  
> of nm.
>
> What next?
>
> Michel
>
> On Tue, Mar 23, 2010 at 2:07 PM, Gordon L. Kindlmann  
> <glk at uchicago.edu> wrote:
> 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
>
> _______________________________________________
> 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
>
>
>
> -- 
> Michel Audette, Ph.D.
> R & D Engineer,
> Kitware Inc.,
> Chapel Hill, N.C.
>



More information about the Insight-developers mailing list