Bug 2447825

Summary: Undefined symbols in libpdalcpp.so
Product: [Fedora] Fedora EPEL Reporter: Orion Poplawski <orion>
Component: PDALAssignee: markusN <neteler>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel10CC: manisandro, neteler
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2419727    

Description Orion Poplawski 2026-03-16 00:54:48 UTC
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

Comment 1 Orion Poplawski 2026-03-16 01:27:46 UTC
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.

Comment 2 markusN 2026-03-16 16:28:28 UTC
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

Comment 3 Orion Poplawski 2026-03-16 23:47:25 UTC
It's really irrelevant.  There are undefined symbols in the pdal libraries and there shouldn't be.

Comment 4 markusN 2026-03-17 12:37:41 UTC
Okay. I have created an upstream issue: https://github.com/PDAL/PDAL/issues/4984

Comment 5 Orion Poplawski 2026-03-17 14:19:33 UTC
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.

Comment 6 markusN 2026-03-17 14:39:33 UTC
There are answers/questions from upstream in https://github.com/PDAL/PDAL/issues/4984 which I am unable to judge. Any suggestion?

Comment 7 markusN 2026-03-17 15:09:47 UTC
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.