Closed qgib closed 4 years ago
Author Name: Peter Petrik (@PeterPetrik)
can you please paste me output from the cmake configure command to see if you correctly found netcdf library in cmake?
Author Name: Giovanni Manghi (@gioman)
Author Name: marisn - (marisn -)
I rm'ed by build directory and started from scratch – still the same. I also ran "make check" on my netcdf install and all tests passed successfully. You have to be more precise on commands I should run. Here's an output of some of them:
grep -r -i netcdf CMakeFiles/*
CMakeFiles/Makefile.cmake: "../external/mdal/cmake/FindNetCDF.cmake"
grep -i netcdf CMakeCache.txt
NETCDF_INCLUDE_DIR:PATH=/usr/include
NETCDF_LIBRARY:FILEPATH=/usr/lib64/libnetcdf.so
mdalprovider_LIB_DEPENDS:STATIC=general;qgis_core;general;qgis_gui;general;/usr/lib64/libhdf5.so;general;/usr/lib64/libsz.so;general;/usr/lib64/libz.so;general;/usr/lib64/libdl.so;general;/usr/lib64/libm.so;general;/usr/lib/libgdal.so;general;/usr/lib64/libnetcdf.so;
pkgcfg_lib_PC_NETCDF_netcdf:FILEPATH=/usr/lib/libnetcdf.so
//Details about finding NetCDF
FIND_PACKAGE_MESSAGE_DETAILS_NetCDF:INTERNAL=[/usr/lib64/libnetcdf.so][/usr/include][v()]
PC_NETCDF_CFLAGS:INTERNAL=
PC_NETCDF_CFLAGS_I:INTERNAL=
PC_NETCDF_CFLAGS_OTHER:INTERNAL=
PC_NETCDF_FOUND:INTERNAL=1
PC_NETCDF_INCLUDEDIR:INTERNAL=/usr/include
PC_NETCDF_INCLUDE_DIRS:INTERNAL=
PC_NETCDF_LDFLAGS:INTERNAL=-lnetcdf
PC_NETCDF_LDFLAGS_OTHER:INTERNAL=
PC_NETCDF_LIBDIR:INTERNAL=/usr/lib64
PC_NETCDF_LIBRARIES:INTERNAL=netcdf
PC_NETCDF_LIBRARY_DIRS:INTERNAL=
PC_NETCDF_LIBS:INTERNAL=
PC_NETCDF_LIBS_L:INTERNAL=
PC_NETCDF_LIBS_OTHER:INTERNAL=
PC_NETCDF_LIBS_PATHS:INTERNAL=
PC_NETCDF_PREFIX:INTERNAL=/usr
PC_NETCDF_STATIC_CFLAGS:INTERNAL=
PC_NETCDF_STATIC_CFLAGS_I:INTERNAL=
PC_NETCDF_STATIC_CFLAGS_OTHER:INTERNAL=
PC_NETCDF_STATIC_INCLUDE_DIRS:INTERNAL=
PC_NETCDF_STATIC_LDFLAGS:INTERNAL=-lnetcdf
PC_NETCDF_STATIC_LDFLAGS_OTHER:INTERNAL=
PC_NETCDF_STATIC_LIBDIR:INTERNAL=
PC_NETCDF_STATIC_LIBRARIES:INTERNAL=netcdf
PC_NETCDF_STATIC_LIBRARY_DIRS:INTERNAL=
PC_NETCDF_STATIC_LIBS:INTERNAL=
PC_NETCDF_STATIC_LIBS_L:INTERNAL=
PC_NETCDF_STATIC_LIBS_OTHER:INTERNAL=
PC_NETCDF_STATIC_LIBS_PATHS:INTERNAL=
PC_NETCDF_VERSION:INTERNAL=4.6.1
PC_NETCDF_netcdf_INCLUDEDIR:INTERNAL=
PC_NETCDF_netcdf_LIBDIR:INTERNAL=
PC_NETCDF_netcdf_PREFIX:INTERNAL=
PC_NETCDF_netcdf_VERSION:INTERNAL=
__pkg_config_arguments_PC_NETCDF:INTERNAL=QUIET;netcdf
__pkg_config_checked_PC_NETCDF:INTERNAL=1
readelf -Ws /usr/lib64/libnetcdf.so.13.1.1 | grep nc_inq
108: 000000000001ee30 104 FUNC GLOBAL DEFAULT 11 nc_inq_attid
227: 0000000000026180 150 FUNC GLOBAL DEFAULT 11 nc_inq_var_filter
297: 000000000001eb40 95 FUNC GLOBAL DEFAULT 11 nc_inq_ndims
300: 0000000000025d30 170 FUNC GLOBAL DEFAULT 11 nc_inq_var
357: 000000000001ec00 103 FUNC GLOBAL DEFAULT 11 nc_inq_dimname
363: 000000000001ea70 104 FUNC GLOBAL DEFAULT 11 nc_inq_dim
414: 0000000000025cd0 96 FUNC GLOBAL DEFAULT 11 nc_inq_varid
521: 000000000001e030 90 FUNC GLOBAL DEFAULT 11 nc_inq_nvars
556: 000000000001edb0 114 FUNC GLOBAL DEFAULT 11 nc_inq_att
575: 0000000000025e40 26 FUNC GLOBAL DEFAULT 11 nc_inq_vardimid
596: 0000000000025fc0 143 FUNC GLOBAL DEFAULT 11 nc_inq_var_chunking
750: 000000000001ef10 95 FUNC GLOBAL DEFAULT 11 nc_inq_natts
782: 000000000001dac0 158 FUNC GLOBAL DEFAULT 11 nc_inq_path
810: 0000000000025e20 26 FUNC GLOBAL DEFAULT 11 nc_inq_varndims
854: 0000000000026220 300 FUNC GLOBAL DEFAULT 11 nc_inq_var_szip
917: 000000000001efe0 106 FUNC GLOBAL DEFAULT 11 nc_inq_attlen
955: 0000000000026170 6 FUNC GLOBAL DEFAULT 11 nc_inq_unlimdims
1002: 000000000001dfb0 113 FUNC GLOBAL DEFAULT 11 nc_inq
1101: 000000000001e090 188 FUNC GLOBAL DEFAULT 11 nc_inq_type
1120: 000000000001fe70 8 FUNC GLOBAL DEFAULT 11 nc_inq_libvers
1133: 000000000001ec70 103 FUNC GLOBAL DEFAULT 11 nc_inq_dimlen
1144: 000000000001def0 83 FUNC GLOBAL DEFAULT 11 nc_inq_format
1145: 0000000000025e00 27 FUNC GLOBAL DEFAULT 11 nc_inq_vartype
1158: 00000000000260e0 136 FUNC GLOBAL DEFAULT 11 nc_inq_var_endian
1163: 000000000001eba0 86 FUNC GLOBAL DEFAULT 11 nc_inq_unlimdim
1200: 000000000001ef70 107 FUNC GLOBAL DEFAULT 11 nc_inq_atttype
1266: 0000000000025e60 40 FUNC GLOBAL DEFAULT 11 nc_inq_varnatts
1279: 0000000000025e90 150 FUNC GLOBAL DEFAULT 11 nc_inq_var_deflate
1291: 0000000000025de0 24 FUNC GLOBAL DEFAULT 11 nc_inq_varname
1322: 000000000001ea10 96 FUNC GLOBAL DEFAULT 11 nc_inq_dimid
1339: 0000000000026050 143 FUNC GLOBAL DEFAULT 11 nc_inq_var_fill
1349: 000000000001df50 93 FUNC GLOBAL DEFAULT 11 nc_inq_format_extended
1352: 000000000001eea0 104 FUNC GLOBAL DEFAULT 11 nc_inq_attname
1355: 000000000001b670 583 FUNC GLOBAL DEFAULT 11 nc_inq_rec
1356: 000000000001de30 83 FUNC GLOBAL DEFAULT 11 nc_inq_base_pe
1371: 0000000000025f30 136 FUNC GLOBAL DEFAULT 11 nc_inq_var_fletcher32
Author Name: marisn - (marisn -)
I managed to find the cause of this issue – nc_inq_varids is available only if netcdf is compiled with netcdf-4 support. nc_inq_varids are part of netcdf-4 API and thus not available if netcdf-4 is not enabled (in my case on Gentoo it can be enabled via HDF5 use flag).
Here's a bug report for netcdf: https://github.com/Unidata/netcdf-c/issues/851
QGIS cmake magick must be updated to check for presence of netcdf-4 API instead of a plain netcdf.
Author Name: Peter Petrik (@PeterPetrik)
nice catch. it should be fixed here: https://github.com/lutraconsulting/MDAL/blob/master/cmake/FindNetCDF.cmake
as a sidenote, it seems that QGIS from OSGeo4W 3.4.3 has the symbols, but from 3.4.4 it does not. @Jurgen do you know if anything changed in the netcdf build between those versions?
Can be closed?
Author Name: marisn - (marisn -) Original Redmine Issue: 21507 Affected QGIS version: 3.6.0 Redmine category:build/install Assignee: Peter Petrik
sci-libs/netcdf-4.6.1-r1 sci-libs/gdal-2.3.1 origin/release-3_6 aff4f23559bc24a6979d35d02b11995a2d4f6bac