Unidata / netcdf-cxx4

Official GitHub repository for netCDF-C++ libraries and utilities.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

underlinked libnetcdf_c++4.so.1: undefined symbol: nc_*

sebastic opened this issue · comments

As reported by Andreas Beckmann in Debian Bug #949828:

libnetcdf_c++4.so.1 uses a bunch of nc_* symbols, but is not linked
against any netcdf library:

ldd /usr/lib/x86_64-linux-gnu/libnetcdf_c++4.so.1
        linux-vdso.so.1 (0x00007ffe6adc1000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fed279c3000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fed27803000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fed277e9000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fed276a4000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fed27bf5000)

While -lnetcdf is added in LDFLAGS, the library is not added to the NEEDED section:

$ objdump -x /usr/lib/x86_64-linux-gnu/libnetcdf_c++4.so.1 | grep NEEDED
  NEEDED               libstdc++.so.6
  NEEDED               libc.so.6
  NEEDED               libgcc_s.so.1

Adding -lnetcdf to CXXFLAGS fixes the issue.