Skip to content

netcdf-4.9.0 on Cygwin undefined reference to `nc_inq_libvers #2446

@matzeri

Description

@matzeri

Cygwin 64 bit with GCC 11.3.0

libtool: link: gcc -ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -fdebug-prefix-map=/pub/devel/netcdf/netcdf-4.9.0-1.x86_64/build=/usr/src/debug/netcdf-4.9.0-1 -fdebug-prefix-map=/pub/devel/netcdf/netcdf-4.9.0-1.x86_64/src/netcdf-c-4.9.0=/usr/src/debug/netcdf-4.9.0-1 -fno-strict-aliasing -o .libs/ncgen3.exe main.o load.o escapes.o getfill.o init.o genlib.o ncgeny.o  ../liblib/.libs/libnetcdf.dll.a -lmfhdf -ldf -ljpeg -lhdf5_hl -lhdf5 -lz -lzip -lsz -lbz2 -lzstd -lxml2 -lcurl
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: main.o: in function `usage':
/usr/src/debug/netcdf-4.9.0-1/ncgen3/main.c:76: undefined reference to `nc_inq_libvers'
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: main.o: in function `main':
/usr/src/debug/netcdf-4.9.0-1/ncgen3/main.c:225: undefined reference to `nc_finalize'

the code is in the library but it is NOT exported

$ objdump -x ncgen3/main.o |grep libvers
[ 63](sec  0)(fl 0x00)(ty   20)(scl   2) (nx 0) 0x0000000000000000 nc_inq_libvers
00000000000001f4 IMAGE_REL_AMD64_REL32  nc_inq_libvers
$ objdump -x  ./liblib/.libs/cygnetcdf-19.dll |grep libvers
        1d26f0   3575  H5get_libversion
[459](sec  1)(fl 0x00)(ty   20)(scl   2) (nx 1) 0x00000000000057f0 nc_inq_libvers
[461](sec  3)(fl 0x00)(ty    0)(scl   3) (nx 0) 0x00000000000014a0 nc_libvers
[4087](sec  1)(fl 0x00)(ty   20)(scl   2) (nx 0) 0x000000000004e950 NC4_hdf5get_libversion
[8207](sec  1)(fl 0x00)(ty   20)(scl   2) (nx 0) 0x00000000000975e0 NCZ_get_libversion
[12475](sec  9)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000001390 __imp_H5get_libversion
[12478](sec  1)(fl 0x00)(ty   20)(scl   2) (nx 0) 0x00000000000af148 H5get_libversion
$ objdump -x  ./liblib/.libs/libnetcdf.dll.a |grep libvers

It was on previous

$ cygcheck -c libnetcdf19
Cygwin Package Information
Package              Version        Status
libnetcdf19          4.8.1-1        OK

 $ objdump -x  /usr/lib/libnetcdf.dll.a |grep libvers
[  5](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 nc_inq_libvers
[  6](sec  3)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __imp_nc_inq_libvers
[  5](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 NCZ_get_libversion
[  6](sec  3)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __imp_NCZ_get_libversion
[  5](sec  1)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 NC4_hdf5get_libversion
[  6](sec  3)(fl 0x00)(ty    0)(scl   2) (nx 0) 0x0000000000000000 __imp_NC4_hdf5get_libversion


Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions