ubarsc / kealib

KEALib provides an implementation of the GDAL data model. The format supports raster attribute tables, image pyramids, meta-data and in-built statistics while also handling very large files and compression throughout.
http://kealib.org/
MIT License
12 stars 7 forks source link

Linking failure on macOS: Undefined symbols: "__ZNK2H58CompType12insertMemberERKSsmRKNS_8DataTypeE" etc. #37

Closed barracuda156 closed 1 year ago

barracuda156 commented 1 year ago
[ 71%] Linking CXX shared library libkea.dylib
cd /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_gis_kealib/kealib/work/build/src && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/kea.dir/link.txt --verbose=ON
/opt/local/bin/g++-mp-12 -pipe -Os -DNDEBUG -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -Wall -Wpointer-arith -Wcast-align -Wcast-qual -Wredundant-decls -Wno-long-long -DNDEBUG -arch ppc -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-headerpad_max_install_names -compatibility_version 1.5.0 -current_version 1.5.1 -o libkea.1.5.1.dylib -install_name /opt/local/lib/libkea.1.5.dylib CMakeFiles/kea.dir/libkea/KEAImageIO.cpp.o CMakeFiles/kea.dir/libkea/KEAAttributeTable.cpp.o CMakeFiles/kea.dir/libkea/KEAAttributeTableInMem.cpp.o CMakeFiles/kea.dir/libkea/KEAAttributeTableFile.cpp.o  -Wl,-rpath,/opt/local/lib /opt/local/lib/libhdf5_cpp.dylib /opt/local/lib/libhdf5.dylib /opt/local/lib/libMacportsLegacySupport.dylib /opt/local/lib/libsz.dylib /opt/local/lib/libz.dylib //usr/lib/libdl.dylib //usr/lib/libm.dylib /opt/local/lib/libhdf5_hl_cpp.dylib /opt/local/lib/libhdf5_hl.dylib 
Undefined symbols:
  "__ZNK2H58CompType12insertMemberERKSsmRKNS_8DataTypeE", referenced from:
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib17KEAAttributeTable29createAttibuteIdxCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable29createAttibuteIdxCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable29createAttibuteIdxCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable29createAttibuteIdxCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable28createAttibuteIdxCompTypeMemEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable28createAttibuteIdxCompTypeMemEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable28createAttibuteIdxCompTypeMemEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable28createAttibuteIdxCompTypeMemEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable27createKeaStringCompTypeDiskEv in KEAAttributeTable.cpp.o
  "__ZNK2H58H5Object13openAttributeERKSs", referenced from:
      __ZN6kealib10KEAImageIO14setNoDataValueEjPKvNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14getNoDataValueEjPvNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO19undefineNoDataValueEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO17getImageBlockSizeEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20getOverviewBlockSizeEjj in KEAImageIO.cpp.o
  "__ZNK2H58H5Object15createAttributeERKSsRKNS_8DataTypeERKNS_9DataSpaceERKNS_8PropListE", referenced from:
      __ZN6kealib10KEAImageIO14setNoDataValueEjPKvNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO19undefineNoDataValueEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createOverviewEjjyy in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createOverviewEjjyy in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createOverviewEjjyy in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO10createMaskEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO10createMaskEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
  "__ZNK2H510H5Location6unlinkERKSsRKNS_15LinkAccPropListE", referenced from:
      __ZN6kealib10KEAImageIO23removeImageBandFromFileEPN2H56H5FileEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14removeOverviewEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createOverviewEjjyy in KEAImageIO.cpp.o
  "__ZNK2H510H5Location11createGroupERKSsm", referenced from:
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
  "__ZNK2H510H5Location4moveERKSsS2_", referenced from:
      __ZN6kealib10KEAImageIO23removeImageBandFromFileEPN2H56H5FileEjj in KEAImageIO.cpp.o
  "__ZNK2H510H5Location9openGroupERKSs", referenced from:
      __ZN6kealib10KEAImageIO11maskCreatedEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21getImageMetaDataNamesEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO16getImageMetaDataEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO25getImageBandMetaDataNamesEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20getImageBandMetaDataEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO17getNumOfOverviewsEj in KEAImageIO.cpp.o
  "__ZNK2H510H5Location13createDataSetERKSsRKNS_8DataTypeERKNS_9DataSpaceERKNS_17DSetCreatPropListERKNS_15DSetAccPropListERKNS_17LinkCreatPropListE", referenced from:
      __ZN6kealib10KEAImageIO21setImageBandClrInterpEjNS_16KEABandClrInterpE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO28setNumImgBandsInFileMetadataEPN2H56H5FileEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14setNoDataValueEjPKvNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO16setImageMetaDataERKSsS2_ in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20setImageBandMetaDataEjRKSsS2_ in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO16setGCPProjectionERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO7setGCPsEPSt6vectorIPNS_11KEAImageGCPESaIS3_EERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO7setGCPsEPSt6vectorIPNS_11KEAImageGCPESaIS3_EERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createOverviewEjjyy in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO10createMaskEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib21KEAAttributeTableFile13setNeighboursEmmPSt6vectorIPS1_ImSaImEESaIS4_EE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile15addAttBoolFieldENS_11KEAATTFieldEb in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile15addAttBoolFieldENS_11KEAATTFieldEb in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile14addAttIntFieldENS_11KEAATTFieldEx in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile14addAttIntFieldENS_11KEAATTFieldEx in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile16addAttFloatFieldENS_11KEAATTFieldEf in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile16addAttFloatFieldENS_11KEAATTFieldEf in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile17addAttStringFieldENS_11KEAATTFieldERKSs in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile17addAttStringFieldENS_11KEAATTFieldERKSs in KEAAttributeTableFile.cpp.o
  "__ZN2H56H5FileC1ERKSsjRKNS_17FileCreatPropListERKNS_15FileAccPropListE", referenced from:
      __ZN6kealib10KEAImageIO10isKEAImageERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createKEAImageERKSsNS_11KEADataTypeEjjjPSt6vectorISsSaISsEEPNS_19KEAImageSpatialInfoEjjiyydyyj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO11openKeaH5RWERKSsiyydyy in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO15openKeaH5RDOnlyERKSsiyydyy in KEAImageIO.cpp.o
  "__ZNK2H510H5Location15getObjnameByIdxEy", referenced from:
      __ZN6kealib10KEAImageIO11maskCreatedEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21getImageMetaDataNamesEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO16getImageMetaDataEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO25getImageBandMetaDataNamesEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20getImageBandMetaDataEj in KEAImageIO.cpp.o
  "__ZNK2H59Exception12getDetailMsgEv", referenced from:
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21createGCPCompTypeDiskEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20createGCPCompTypeMemEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO7getGCPsEv in KEAImageIO.cpp.o
      __ZN6kealib17KEAAttributeTable29createAttibuteIdxCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable29createAttibuteIdxCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable29createAttibuteIdxCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable29createAttibuteIdxCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable28createAttibuteIdxCompTypeMemEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable28createAttibuteIdxCompTypeMemEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable28createAttibuteIdxCompTypeMemEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable28createAttibuteIdxCompTypeMemEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable27createKeaStringCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable27createKeaStringCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable27createKeaStringCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib17KEAAttributeTable27createKeaStringCompTypeDiskEv in KEAAttributeTable.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZNK6kealib21KEAAttributeTableFile13getBoolFieldsEmmmPb in KEAAttributeTableFile.cpp.o
      __ZNK6kealib21KEAAttributeTableFile12getIntFieldsEmmmPx in KEAAttributeTableFile.cpp.o
      __ZNK6kealib21KEAAttributeTableFile14getFloatFieldsEmmmPd in KEAAttributeTableFile.cpp.o
      __ZNK6kealib21KEAAttributeTableFile15getStringFieldsEmmmPSt6vectorISsSaISsEE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile13setBoolFieldsEmmmPb in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12setIntFieldsEmmmPx in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile14setFloatFieldsEmmmPd in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile15setStringFieldsEmmmPSt6vectorISsSaISsEE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile16updateSizeHeaderEyyyy in KEAAttributeTableFile.cpp.o
      __ZNK6kealib21KEAAttributeTableFile13getNeighboursEmmPSt6vectorIPS1_ImSaImEESaIS4_EE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile13setNeighboursEmmPSt6vectorIPS1_ImSaImEESaIS4_EE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
  "__ZNK2H59Attribute5writeERKNS_8DataTypeERKSs", referenced from:
      __ZN6kealib10KEAImageIO14createOverviewEjjyy in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createOverviewEjjyy in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO10createMaskEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO10createMaskEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18addImageBandToFileEPN2H56H5FileENS_11KEADataTypeEjjjRKSsjjj in KEAImageIO.cpp.o
  "__ZNK2H510H5Location11openDataSetERKSsRKNS_15DSetAccPropListE", referenced from:
      __ZN6kealib10KEAImageIO16getImageMetaDataERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20getImageBandMetaDataEjRKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO23getImageBandDescriptionEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO16getGCPProjectionEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14setSpatialInfoEPNS_19KEAImageSpatialInfoE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14setSpatialInfoEPNS_19KEAImageSpatialInfoE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14setSpatialInfoEPNS_19KEAImageSpatialInfoE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14setSpatialInfoEPNS_19KEAImageSpatialInfoE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21setImageBandLayerTypeEjNS_12KEALayerTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14removeOverviewEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO10isKEAImageERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO10isKEAImageERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18openKEAImageHeaderEPN2H56H5FileE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18openKEAImageHeaderEPN2H56H5FileE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18openKEAImageHeaderEPN2H56H5FileE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18openKEAImageHeaderEPN2H56H5FileE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18openKEAImageHeaderEPN2H56H5FileE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18openKEAImageHeaderEPN2H56H5FileE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO18openKEAImageHeaderEPN2H56H5FileE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO11getGCPCountEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO26getAttributeTableChunkSizeEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20getImageBandDataTypeEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21getImageBandLayerTypeEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21setImageBandClrInterpEjNS_16KEABandClrInterpE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21getImageBandClrInterpEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO21attributeTablePresentEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO28setNumImgBandsInFileMetadataEPN2H56H5FileEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20writeImageBlock2BandEjPvyyyyyyNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO19readImageBlock2BandEjPvyyyyyyNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO24writeImageBlock2BandMaskEjPvyyyyyyNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO23readImageBlock2BandMaskEjPvyyyyyyNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO15writeToOverviewEjjPvyyyyyyNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO16readFromOverviewEjjPvyyyyyyNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO15getOverviewSizeEjjPyS1_ in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14setNoDataValueEjPKvNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14getNoDataValueEjPvNS_11KEADataTypeE in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO19undefineNoDataValueEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO17getImageBlockSizeEj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20getOverviewBlockSizeEjj in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO16setImageMetaDataERKSsS2_ in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO20setImageBandMetaDataEjRKSsS2_ in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO23setImageBandDescriptionEjRKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO16setGCPProjectionERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO7getGCPsEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO7getGCPsEv in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO7setGCPsEPSt6vectorIPNS_11KEAImageGCPESaIS3_EERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO7setGCPsEPSt6vectorIPNS_11KEAImageGCPESaIS3_EERKSs in KEAImageIO.cpp.o
      __ZN6kealib10KEAImageIO14createOverviewEjjyy in KEAImageIO.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem15exportToKeaFileEPN2H56H5FileEjjj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZN6kealib22KEAAttributeTableInMem12createKeaAttEPN2H56H5FileEj in KEAAttributeTableInMem.cpp.o
      __ZNK6kealib21KEAAttributeTableFile13getBoolFieldsEmmmPb in KEAAttributeTableFile.cpp.o
      __ZNK6kealib21KEAAttributeTableFile12getIntFieldsEmmmPx in KEAAttributeTableFile.cpp.o
      __ZNK6kealib21KEAAttributeTableFile14getFloatFieldsEmmmPd in KEAAttributeTableFile.cpp.o
      __ZNK6kealib21KEAAttributeTableFile15getStringFieldsEmmmPSt6vectorISsSaISsEE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile13setBoolFieldsEmmmPb in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12setIntFieldsEmmmPx in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile14setFloatFieldsEmmmPd in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile15setStringFieldsEmmmPSt6vectorISsSaISsEE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile16updateSizeHeaderEyyyy in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile16updateSizeHeaderEyyyy in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile7addRowsEm in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile7addRowsEm in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile7addRowsEm in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile7addRowsEm in KEAAttributeTableFile.cpp.o
      __ZNK6kealib21KEAAttributeTableFile13getNeighboursEmmPSt6vectorIPS1_ImSaImEESaIS4_EE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile13setNeighboursEmmPSt6vectorIPS1_ImSaImEESaIS4_EE in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile15addAttBoolFieldENS_11KEAATTFieldEb in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile15addAttBoolFieldENS_11KEAATTFieldEb in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile14addAttIntFieldENS_11KEAATTFieldEx in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile14addAttIntFieldENS_11KEAATTFieldEx in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile16addAttFloatFieldENS_11KEAATTFieldEf in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile16addAttFloatFieldENS_11KEAATTFieldEf in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile17addAttStringFieldENS_11KEAATTFieldERKSs in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile17addAttStringFieldENS_11KEAATTFieldERKSs in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
      __ZN6kealib21KEAAttributeTableFile12createKeaAttEPN2H56H5FileEjjj in KEAAttributeTableFile.cpp.o
ld: symbol(s) not found
collect2: error: ld returned 1 exit status
make[2]: *** [src/libkea.1.5.1.dylib] Error 1

Any idea why this fails?

gillins commented 1 year ago

__ZNK2H58CompType12insertMemberERKSsmRKNS_8DataTypeE should be part of /opt/local/lib/libhdf5_cpp.dylib which I see you are linking. See https://docs.hdfgroup.org/archive/support/HDF5/doc1.8/cpplus_RM/class_h5_1_1_comp_type.html#ab093b060861eec6209928da5b7792a1a. Can you check whether that symbol is available? Is there a mismatch between your headers and libraries in /opt/local? Also, are you using the same compiler for building kealib that you used for hdf5?

barracuda156 commented 1 year ago

@gillins Thank you for responding! That was quick.

Also, are you using the same compiler for building kealib that you used for hdf5?

Yes in a sense of GCC version, but HDF5 uses MPICH wrappers, while kealib does not.

Headers and libs must come from the same versions, Macports won’t allow a conflict. And we do not have multiple versions for gdal and HDF5 which can be installed simultaneously (some libraries do).

I will check symbols now.

barracuda156 commented 1 year ago

@gillins I suspect HDF5 did not have -D_GLIBCXX_USE_CXX11_ABI=0 passed, and in result we have all these cxx11 among symbols:

36-25% nm -arch ppc -g /opt/local/lib/libhdf5_cpp.310.dylib | grep __ZNK2H58CompType
00025d54 T __ZNK2H58CompType11getNmembersEv
0002636c T __ZNK2H58CompType12insertMemberERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKNS_8DataTypeE
00025e2c T __ZNK2H58CompType13getMemberNameB5cxx11Ej
0002602c T __ZNK2H58CompType14getMemberClassEj
00025f38 T __ZNK2H58CompType14getMemberIndexEPKc
00026014 T __ZNK2H58CompType14getMemberIndexERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
0002601c T __ZNK2H58CompType15getMemberOffsetEj
00026a4c T __ZNK2H58CompType16getMemberIntTypeEj
00026d0c T __ZNK2H58CompType16getMemberStrTypeEj
000261f0 T __ZNK2H58CompType17getMemberCompTypeEj
0002662c T __ZNK2H58CompType17getMemberDataTypeEj
000268ec T __ZNK2H58CompType17getMemberEnumTypeEj
00026108 T __ZNK2H58CompType17p_get_member_typeEj
0002678c T __ZNK2H58CompType18getMemberArrayTypeEj
00026bac T __ZNK2H58CompType18getMemberFloatTypeEj
00026e6c T __ZNK2H58CompType19getMemberVarLenTypeEj
00026474 T __ZNK2H58CompType4packEv
00025a4c T __ZNK2H58CompType6decodeEv
0002654c T __ZNK2H58CompType7setSizeEm
00026fcc T __ZNK2H58CompType9fromClassB5cxx11Ev

That would explain why it is broken.

gillins commented 1 year ago

Yep indeed would explain it. Where does -D_GLIBCXX_USE_CXX11_ABI=0 come from? Are you specifying it manually?

barracuda156 commented 1 year ago

Yep indeed would explain it. Where does -D_GLIBCXX_USE_CXX11_ABI=0 come from? Are you specifying it manually?

Honestly I am not too sure, it is either Macports base or cmake PortGroup passing it depending on the OS version and possibly runtime or/and compiler used. It does not always work automatically though, and sometimes we have to add the flag manually.

I have encountered these errors a number of times, so I know that whenever I see cxx11 in symbol names in linking errors, solution is to pass -D_GLIBCXX_USE_CXX11_ABI=0 in cxxflags. Usually these errors occur during the build of a given port though. Here, however, HDF5 itself built fine, but we cannot link to it :)

I have opened a ticket on Trac, we will fix it soon, I guess: https://trac.macports.org/ticket/67893

Thank you for a helpful suggestion where to look!

kencu commented 1 year ago

macports supplies this flag automatically when building for c++11 or greater while using gcc, to ensure compatibility with older gcc libraries installed on the system.

this is specified in macports using a specific command:

compiler.cxx_standard 2011

This and other similar commands are specified here

https://trac.macports.org/wiki/CompilerSelection

MacPorts is simple to begin to use, but sometimes the more complex features take longer for new users like @barracuda156 to fully grasp. We’ll continue to help.

If one library has been built using c++11 names and features, then often other software that uses that library likewise needs to be built using c++11 names.

kencu commented 1 year ago

by the way, you should never pass -D_GLIBCXX_USE_CXX11_ABI=0 manually in cxxflags by yourself…. other necessary things need to happen, done by passing the correct Portfile command, as above.

barracuda156 commented 1 year ago

by the way, you should never pass -D_GLIBCXX_USE_CXX11_ABI=0 manually in cxxflags by yourself…. other necessary things need to happen, done by passing the correct Portfile command, as above.

@kencu Well, I am not planning to touch HDF5, let maintainers fix that, but automatic passing of -D_GLIBCXX_USE_CXX11_ABI=0 with GCC and C++11 or higher does not always work, FWIW. For example, our R PG sets C++11 standard: https://github.com/macports/macports-ports/blob/10fb167dd282b4d39ed8290b21e26623ad6f33f0/_resources/port1.0/group/R-1.0.tcl#L72 Yet a number of R ports were broken unless -D_GLIBCXX_USE_CXX11_ABI=0 passed explicitly (not numerous, but perhaps a dozen or so out of 3500).

kencu commented 1 year ago

it is added by macports base to the cxxflags if the above commandviscin the portfile and gcc is the compiler.

So that always works.

https://github.com/macports/macports-base/blob/96d5581e069463c488cc878a5c7c73fc7117b905/src/port1.0/portconfigure.tcl#L117

Whether the build is set up correctly, properly uses it, etc, is another matter.

If you THINK you need to manually add that flag, you don’t… you have another unresolved build issue that needs fixing, not adding that flag manually.

kencu commented 1 year ago

all things you will learn after being in macports awhile… I’ve been there so long now, I wrote that code when it was part of the cxx11 Portgroup (and then later it was integrated in macports-base).

kencu commented 1 year ago

this has nothing to do with kealib, by the way, it is 100% a MacPorts issue to resolve