[vtk-developers] vtkNetCDF upgraded to 4.1.1

Sean McBride sean at rogue-research.com
Wed Sep 8 17:30:09 EDT 2010


Dave,

FYI, if I add:

#define nc_inq_type vtk_netcdf_nc_inq_type
#define nextUTF8 vtk_netcdf_nextUTF8
#define nulldup vtk_netcdf_nulldup

my app then links.  If I further add the utf8proc ones, VTK itself fails
to link when rebuilt.



On Wed, 8 Sep 2010 17:00:51 -0400, Dave Partyka said:

>Thanks Sean, I'll take a look.
>
>On Wed, Sep 8, 2010 at 4:56 PM, Sean McBride <sean at rogue-research.com>wrote:
>
>> On Tue, 17 Aug 2010 15:11:12 -0400, Dave Partyka said:
>>
>> >I just upaded VTK's netcdf from 3.6.2 to 4.1.1. In addition to the
>> >traditional C library I have also brought in the C++ version of the
>> library
>> >(vtkNetCDF_cpp). I spent time creating the proper DLL exports, allowing
>> even
>> >Windows developers to use the library! This provides a nicer API that
>> >developers can use when writing new netcdf readers/writers. Also with
>> netcdf
>> >4.x we can now potentially use HDF5 based NetCDF files. See here for the
>> >release notes for NetCDF 4. As always we value feedback from the
>> community,
>> >feel free to report any issues. In the mean time I will be monitoring the
>> >dashboards.
>>
>> Dave,
>>
>> I believe there is some mangling missing after your change.  I just
>> pulled VTK from git and my app, which links to both NetCDF and VTK, no
>> longer links.  Error is:
>>
>> ld: duplicate symbol _nc_inq_type in /path1/libnetcdf.a(nc.o) and /path2/
>> libvtkNetCDF.a(nc.c.o)
>>
>> If I do the following:
>>
>> nm libvtkNetCDF.a | grep " [TRD] "
>>
>> It lists several symbols that aren't prefixed by vtk_netcdf, namely:
>>
>> 0000000000003083 T _nc_inq_type
>> 0000000000000043 T _nextUTF8
>> 00000000000008ae T _nulldup
>> 00000000000018ae T _utf8proc_NFC
>> 0000000000001860 T _utf8proc_NFD
>> 000000000000194a T _utf8proc_NFKC
>> 00000000000018fc T _utf8proc_NFKD
>> 0000000000001998 T _utf8proc_check
>> 0000000000000343 T _utf8proc_codepoint_valid
>> 0000000000000fd1 T _utf8proc_decompose
>> 00000000000005d9 T _utf8proc_decompose_char
>> 00000000000003c6 T _utf8proc_encode_char
>> 0000000000000000 T _utf8proc_errmsg
>> 000000000000054b T _utf8proc_get_property
>> 00000000000000cf T _utf8proc_iterate
>> 000000000000172b T _utf8proc_map
>> 000000000000126a T _utf8proc_reencode
>>
>> nc_inq_type certainly should be in vtk_netcdf_mangle.h, not sure why/how
>> you missed it.  My experience with updating VTK's freetype is that one
>> must regenerate the symbol list on all the major platforms and merge the
>> results.  Some symbols seem to only be exported on some OSes, see my
>> comments in vtk_freetype_mangle.h.
>>
>> Not sure about the other symbols.  "utf8proc" looks like 3rd party code
>> used by NetCDF itself.  I wonder if these symbols should not be exported
>> at all, I'm guessing they are not part of NetCDF's public API.





More information about the vtk-developers mailing list