NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.

To learn about what's going on, see About the Archive Site.

[netcdfgroup] Linker option ordering when linking to HDF5

I've noticed that when building statically linked executables the order
of the link options is important.  For instance:
 
$ g++ -static -L... -I... foo.c -lnetcdf -lhdf5 -lhdf5_hl -lm -lz -o foo
/usr/local/lib/libhdf5_hl.a(H5LT.o): In function `H5LT_dtype_to_text':
H5LT.c:(.text+0x26e4): undefined reference to `H5Tget_cset'
H5LT.c:(.text+0x290b): undefined reference to `H5Tset_cset'
H5LT.c:(.text+0x2a55): undefined reference to `H5Tset_cset'
H5LT.c:(.text+0x2c4f): undefined reference to `H5Tget_tag'
/usr/local/QC/lib/libhdf5_hl.a(H5LTparse.o): In function `H5LTyyparse':
H5LTparse.c:(.text+0xe85): undefined reference to `H5Tset_tag'
H5LTparse.c:(.text+0x1077): undefined reference to `H5Tset_cset'
collect2: ld returned 1 exit status

However this works:
$ g++ -static -L... -I... foo.c -lnetcdf -lhdf5_hl -lhdf5 -lm -lz -o foo
 
Is this expected and if so is it documented anywhere?
 
Thanks,
Stephen.
 
---
Stephen Pascoe  +44 (0)1235 445980
British Atmospheric Data Centre
Rutherford Appleton Laboratory
 

-- 
Scanned by iCritical.

  • 2010 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: