[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: