Fedora Account System
Red Hat Associate
Red Hat Customer
Description of problem: $ rpmlint -i PDAL-libs PDAL-libs.x86_64: E: undefined-non-weak-symbol /usr/lib64/libpdal_plugin_kernel_fauxplugin.so.18.0.0 GTIFSetFromOGISDefn (/lib64/libpdalcpp.so.18) PDAL-libs.x86_64: E: undefined-non-weak-symbol /usr/lib64/libpdal_plugin_kernel_fauxplugin.so.18.0.0 GTIFGetOGISDefn (/lib64/libpdalcpp.so.18) PDAL-libs.x86_64: E: undefined-non-weak-symbol /usr/lib64/libpdal_plugin_reader_pgpointcloud.so.18.0.0 GTIFSetFromOGISDefn (/lib64/libpdalcpp.so.18) PDAL-libs.x86_64: E: undefined-non-weak-symbol /usr/lib64/libpdal_plugin_reader_pgpointcloud.so.18.0.0 GTIFGetOGISDefn (/lib64/libpdalcpp.so.18) PDAL-libs.x86_64: E: undefined-non-weak-symbol /usr/lib64/libpdal_plugin_writer_pgpointcloud.so.18.0.0 GTIFSetFromOGISDefn (/lib64/libpdalcpp.so.18) PDAL-libs.x86_64: E: undefined-non-weak-symbol /usr/lib64/libpdal_plugin_writer_pgpointcloud.so.18.0.0 GTIFGetOGISDefn (/lib64/libpdalcpp.so.18) PDAL-libs.x86_64: E: undefined-non-weak-symbol /usr/lib64/libpdalcpp.so.18.0.0 GTIFSetFromOGISDefn (/usr/lib64/libpdalcpp.so.18.0.0) PDAL-libs.x86_64: E: undefined-non-weak-symbol /usr/lib64/libpdalcpp.so.18.0.0 GTIFGetOGISDefn (/usr/lib64/libpdalcpp.so.18.0.0) Version-Release number of selected component (if applicable): PDAL-libs-2.8.3-1.el10_0.x86_64 This breaks the build of vtk: [ 94%] Linking CXX executable ../../../../bin/vtkIOPDALCxxTests cd /builddir/build/BUILD/VTK-9.6.0/redhat-linux-build-serial/IO/PDAL/Testing/Cxx && /usr/bin/cmake -E cmake_link_script CMakeFiles/vtkIOPDALCxxTests.dir/link.txt --verbose=1 /usr/bin/g++ -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -D_UNICODE -DHAVE_UINTPTR_T -g -Wl,-lc -Wl,-lc -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -spe cs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/red hat/redhat-package-notes -Wl,--dependency-file=CMakeFiles/vtkIOPDALCxxTests.dir/link.d CMakeFiles/vtkIOPDALCxxTests.dir/vtkIOPDALCxxTests.cxx.o CMakeFiles/vtkIOPDALCxxTests.dir/TestPDA LReader_test_1.cxx.o CMakeFiles/vtkIOPDALCxxTests.dir/TestPDALReader_test_2.cxx.o CMakeFiles/vtkIOPDALCxxTests.dir/TestPDALReaderWithOffset.cxx.o -o ../../../../bin/vtkIOPDALCxxTests - Wl,-rpath,/builddir/build/BUILD/VTK-9.6.0/redhat-linux-build-serial/lib64 ../../../../lib64/libvtkIOPDAL.so.1 ../../../../lib64/libvtkInteractionStyle.so.1 ../../../../lib64/libvtkRende ringOpenGL2.so.1 ../../../../lib64/libvtkTestingRendering.so.1 ../../../../lib64/libvtkRenderingHyperTreeGrid.so.1 ../../../../lib64/libvtkRenderingUI.so.1 ../../../../lib64/libvtkglad. so.1 ../../../../lib64/libvtkx11.so.1 ../../../../lib64/libvtkTestingCore.so.1 ../../../../lib64/libvtkRenderingCore.so.1 ../../../../lib64/libvtkFiltersGeneral.so.1 ../../../../lib64/l ibvtkIOImage.so.1 ../../../../lib64/libvtkImagingColor.so.1 ../../../../lib64/libvtkIOXML.so.1 ../../../../lib64/libvtkIOXMLParser.so.1 ../../../../lib64/libvtkImagingCore.so.1 ../../.. /../lib64/libvtkIOCore.so.1 ../../../../lib64/libvtkFiltersCore.so.1 ../../../../lib64/libvtkCommonExecutionModel.so.1 ../../../../lib64/libvtkCommonDataModel.so.1 ../../../../lib64/lib vtkCommonMisc.so.1 ../../../../lib64/libvtkCommonTransforms.so.1 ../../../../lib64/libvtkCommonMath.so.1 ../../../../lib64/libvtkCommonCore.so.1 ../../../../lib64/libvtksys.so.1 -ldl /u sr/lib64/libfmt.so.11.0.2 ../../../../lib64/libvtkscn.so.1 ../../../../lib64/libvtktoken.so.1 ../../../../lib64/libvtkkissfft.so.1 -Wl,-rpath-link,/builddir/build/BUILD/VTK-9.6.0/redhat -linux-build-serial/lib64 gmake[2]: Leaving directory '/builddir/build/BUILD/VTK-9.6.0/redhat-linux-build-serial' /usr/bin/ld: /usr/lib64/libpdalcpp.so.18: undefined reference to `GTIFSetFromOGISDefn' /usr/bin/ld: /usr/lib64/libpdalcpp.so.18: undefined reference to `GTIFGetOGISDefn' collect2: error: ld returned 1 exit status gmake[2]: *** [IO/PDAL/Testing/Cxx/CMakeFiles/vtkIOPDALCxxTests.dir/build.make:181: bin/vtkIOPDALCxxTests] Error 1
PDAL-2.8.3-build/PDAL-2.8.3-src/io/private/las/Geotiff.cpp has the following delcarations: // These functions are available from GDAL, but they aren't provided in a header file. char PDAL_DLL * GTIFGetOGISDefn(GTIF*, GTIFDefn*); int PDAL_DLL GTIFSetFromOGISDefn(GTIF*, const char*); but I don't see those functions defined anywhere else in the PDAL source.
Is GDAL already linked during the VTK compilation? It contains the GeoTIFF (internal) driver: https://github.com/search?q=repo%3AOSGeo%2Fgdal%20GTIFGetOGISDefn&type=code
It's really irrelevant. There are undefined symbols in the pdal libraries and there shouldn't be.
Okay. I have created an upstream issue: https://github.com/PDAL/PDAL/issues/4984
I'll note that the issue is not present in rawhide - so it was resolved at some point or is a difference in link flags.
There are answers/questions from upstream in https://github.com/PDAL/PDAL/issues/4984 which I am unable to judge. Any suggestion?
abellgithub left a comment (PDAL/PDAL#4984): > PDAL needs to be linked with GDAL, which contains definitions for the symbols in question. I guess the same applies to VTK (see above). hobu left a comment (PDAL/PDAL#4984): > Does Fedora change how PDAL links things? This has worked forever, although maybe GDAL is no longer exporting these symbols because of a configuration setting? According to the ChangeLog in PDAL.spec nothing was changed in the package. The general Fedora compilation flag evolution I cannot judge.