netcdf-c icon indicating copy to clipboard operation
netcdf-c copied to clipboard

Link issues (unresolved external symbol NCD2_initialize)

Open dzenanz opened this issue 1 year ago • 3 comments

The abbreviated build log:

Build started...
1>------ Build started: Project: netcdf, Configuration: Release x64 ------
1>   Creating library C:/Dev/netCDF-19/liblib/Release/netcdf.lib and object C:/Dev/netCDF-19/liblib/Release/netcdf.exp
1>nc_initialize.obj : error LNK2019: unresolved external symbol NCD2_initialize referenced in function nc_initialize
1>dfile.obj : error LNK2019: unresolved external symbol NCD2_dispatch_table referenced in function NC_open
1>C:\Dev\netCDF-19\liblib\netcdf.dll : fatal error LNK1120: 2 unresolved externals
1>Done building project "netcdf.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 6 up-to-date, 0 skipped ==========

The full incremental build log has other, less important errors:

Build started...
1>------ Skipped Build: Project: .distcheck, Configuration: Release x64 ------
1>Project not selected to build for this solution configuration 
2>------ Skipped Build: Project: .distdir, Configuration: Release x64 ------
2>Project not selected to build for this solution configuration 
3>------ Build started: Project: netcdf, Configuration: Release x64 ------
4>------ Skipped Build: Project: Continuous, Configuration: Release x64 ------
4>Project not selected to build for this solution configuration 
5>------ Skipped Build: Project: Experimental, Configuration: Release x64 ------
5>Project not selected to build for this solution configuration 
6>------ Skipped Build: Project: NightlyMemoryCheck, Configuration: Release x64 ------
6>Project not selected to build for this solution configuration 
7>------ Skipped Build: Project: RUN_TESTS, Configuration: Release x64 ------
7>Project not selected to build for this solution configuration 
8>------ Skipped Build: Project: dist, Configuration: Release x64 ------
8>Project not selected to build for this solution configuration 
9>------ Skipped Build: Project: makeparser, Configuration: Release x64 ------
9>Project not selected to build for this solution configuration 
10>------ Skipped Build: Project: uninstall, Configuration: Release x64 ------
10>Project not selected to build for this solution configuration 
11>------ Skipped Build: Project: Nightly, Configuration: Release x64 ------
11>Project not selected to build for this solution configuration 
12>------ Skipped Build: Project: distcheck, Configuration: Release x64 ------
12>Project not selected to build for this solution configuration 
3>   Creating library C:/Dev/netCDF-19/liblib/Release/netcdf.lib and object C:/Dev/netCDF-19/liblib/Release/netcdf.exp
3>nc_initialize.obj : error LNK2019: unresolved external symbol NCD2_initialize referenced in function nc_initialize
3>dfile.obj : error LNK2019: unresolved external symbol NCD2_dispatch_table referenced in function NC_open
3>C:\Dev\netCDF-19\liblib\netcdf.dll : fatal error LNK1120: 2 unresolved externals
3>Done building project "netcdf.vcxproj" -- FAILED.
13>------ Build started: Project: ocprint, Configuration: Release x64 ------
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_open referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_close referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_fetch referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_tree_text referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_properties referenced in function generatedds
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_name referenced in function dumpdatanode
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_class referenced in function dumpdatanode
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_atomictype referenced in function dumpdatanode
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_nsubnodes referenced in function generatedasr
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_rank referenced in function printdata_indices
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_attr_count referenced in function generateddsattributes
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_ithfield referenced in function generatedasr
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_dimensions referenced in function printdims
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dimension_properties referenced in function printdims
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_dimensionsizes referenced in function printdata_indices
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_attr referenced in function generateddsattributes
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_das_attr_count referenced in function generatedasr
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_das_attr referenced in function generatedasr
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_getdataroot referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_ithfield referenced in function printdata_container
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_ithelement referenced in function printdata_indices
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_ithrecord referenced in function printdata_indices
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_recordcount referenced in function printdata_indices
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_read referenced in function printdata_leaf
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_position referenced in function pushstack
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_ddsnode referenced in function dumpdatanode
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_octype referenced in function printdata_container
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_indexed referenced in function pushstack
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_indexable referenced in function printdata_container
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_read referenced in function printdata_leaf
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_typesize referenced in function dumpdatanode
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_typetostring referenced in function dumpdatanode
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_typeprint referenced in function dumpdatanode
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_reclaim_strings referenced in function generateddsattributes
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_errstring referenced in function dumpdatanode
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_merge_das referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_trace_curl referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_set_netrc referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_dd referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_dds_ddnode referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_oc_data_ddtree referenced in function processdata
13>ocprint.obj : error LNK2019: unresolved external symbol __imp_ocdebug referenced in function main
13>C:\Dev\netCDF-19\ncdump\ocprint.exe : fatal error LNK1120: 42 unresolved externals
13>Done building project "ocprint.vcxproj" -- FAILED.
14>------ Skipped Build: Project: INSTALL, Configuration: Release x64 ------
14>Project not selected to build for this solution configuration 
15>------ Skipped Build: Project: PACKAGE, Configuration: Release x64 ------
15>Project not selected to build for this solution configuration 
========== Build: 0 succeeded, 2 failed, 89 up-to-date, 13 skipped ==========

My CMake settings are attached: CMakeCache.txt

This happens with both v4.9.0 and main. Win10 x64, version 21H2 (build 19044.1865). Visual Studio 2019, v16.11.17.

dzenanz avatar Aug 03 '22 14:08 dzenanz

Disabling CMake option ENABLE_DAP fixes these compile errors. This seems like a workaround to a problem in the build system.

dzenanz avatar Aug 03 '22 15:08 dzenanz

As my primary goal is to gain access to a zarr implementation, does ENABLE_DAP=0 interfere with NCZarr?

dzenanz avatar Aug 03 '22 15:08 dzenanz

The zarr code should not interact with DAP code except that both use libcurl. So there should be no problem.

DennisHeimbigner avatar Aug 05 '22 19:08 DennisHeimbigner