This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
>To: address@hidden >From: address@hidden >Subject: BOUNCE address@hidden: Non-member submission from [Kurt Stockinger ><address@hidden>] >Organization: UCAR/Unidata >Keywords: 200403312247.i2VMlQA6008230 Hi Kurt, > I'm using HDF4 and netCDF in the same program and get the following > conflicts. Any idea how to solve them? > > thanks, > Kurt > > > [kurts@dmx fast-bit]$ make > g++ -Wall -o fast HDFReader.cpp NetCDFReader.cpp FastBit.cpp > -I/software/netcdf-3.5.1b12/include -I/software/hdf4/include > -L/software/netcdf-3.5.1b12/lib -L/software/hdf4/lib -lmfhdf -ldf > -ljpeg -lz -lnetcdf > /software/netcdf-3.5.1b12/lib/libnetcdf.a(nc.o): In function `NC_check_id': > nc.o(.text+0x6c): multiple definition of `NC_check_id' > /software/hdf4/lib/libmfhdf.a(file.o)(.text+0x0): first defined here > /usr/bin/ld: Warning: size of symbol `NC_check_id' changed from 100 to > 54 in /software/netcdf-3.5.1b12/lib/libnetcdf.a(nc.o) > /software/netcdf-3.5.1b12/lib/libnetcdf.a(var.o): In function > `NC_var_shape': > var.o(.text+0x4c8): multiple definition of `NC_var_shape' > /software/hdf4/lib/libmfhdf.a(var.o)(.text+0x284): first defined here > /usr/bin/ld: Warning: size of symbol `NC_var_shape' changed from 802 to > 272 in /software/netcdf-3.5.1b12/lib/libnetcdf.a(var.o) > /software/netcdf-3.5.1b12/lib/libnetcdf.a(attr.o): In function > `NC_findattr': > attr.o(.text+0x3bc): multiple definition of `NC_findattr' > /software/hdf4/lib/libmfhdf.a(attr.o)(.text+0x23c): first defined here > /usr/bin/ld: Warning: size of symbol `NC_findattr' changed from 156 to > 139 in /software/netcdf-3.5.1b12/lib/libnetcdf.a(attr.o) > collect2: ld returned 1 exit status > make: *** [fast] Error 1 I suggest that you not link with the "mfhdf" library, so try removing "-lmfhdf" from the link lines. If I remember correctly, the MFHDF library provides a netCDF-2 API on top of the HDF4 file format, so would have name clashes with the netCDF-3 library that also has backward-compatibility support for the netCDF-2 API. You also might need to remove any includes you have for mfhdf.h, since that may define some conflicting symbols or prototypes. --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu/staff/russ