<!DOCTYPE html><html><body><div dir="auto">Hi,<br><br>I'm on Debian12 which ships by default GDAL 3.6 and PDAL 2.3 (from memories) and I upgraded PDAL to 2.6 some time ago. Things were working nicely.<br><br>Today I decided to move to PDAL 2.8 and successfully built QGIS with it! And while at it I also decided to move to a more recent GDAL (so many interestings in newer versions). I then installed GDAL 3.10 from source, reinstalled PDAL to use my new GDAL libs, and things looked OK afaict. Running ccmake in QGIS repo, it successfully detected the right versions of PDAL and GDAL. However, upon running the compilation in a cleaned build folder, I get the below message that is far beyond my skills.<br><br>Did I miss some instructions? Or are those versions not compatible somehow in QGIS and I should be less "greedy"? Any help would be much appreciated.<br><br>Thanks. Regards,<br><br>Harrissou<br><br>$ ninja -j4<br>[552/5677] Building CXX object src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/main.cpp.o<br>FAILED: src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/main.cpp.o <br>ccache /usr/bin/c++ -DGDAL_DEBUG -DQT_DISABLE_DEPRECATED_BEFORE=0x050800 -DQT_NO_CAST_TO_ASCII -DQT_USE_QSTRINGBUILDER -DSIP_VERSION=0x060707 -DWITH_QTWEBKIT -I/media/dev/github/QGIS/build-ninja/src/providers/pdal/pdal_wrench_autogen/include -I/media/dev/github/QGIS/build-ninja -I/media/dev/github/QGIS/external/untwine/api -I/media/dev/github/QGIS/external -Wall -Wextra -Wno-long-long -Wformat-security -Wno-strict-aliasing -Wnon-virtual-dtor -Wno-redundant-move -Wno-misleading-indentation -Wno-deprecated-copy -g -fvisibility=hidden -MD -MT src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/main.cpp.o -MF src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/main.cpp.o.d -o src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/main.cpp.o -c /media/dev/github/QGIS/external/pdal_wrench/main.cpp<br>In file included from /media/dev/github/QGIS/external/pdal_wrench/alg.hpp:18,<br> from /media/dev/github/QGIS/external/pdal_wrench/main.cpp:24:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In constructor ‘CRS::CRS(std::string)’:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:125:16: error: invalid ‘static_cast’ from type ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’} to type ‘OGRSpatialReference*’<br> 125 | ptr.reset( static_cast<OGRSpatialReference*>(OSRNewSpatialReference(s.size() ? s.c_str() : nullptr)) );<br> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>In file included from /usr/local/include/ogr_spatialref.h:20,<br> from /media/dev/github/QGIS/external/pdal_wrench/utils.hpp:116:<br>/usr/local/include/ogr_srs_api.h:430:16: note: class type ‘OGRSpatialReferenceHS’ is incomplete<br> 430 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;<br> | ^~~~~~~~~~~~~~~~~~~~~<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In member function ‘void CRS::OGRDeleter::operator()(OGRSpatialReference*)’:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:170:38: error: cannot convert ‘OGRSpatialReference*’ to ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’}<br> 170 | OSRDestroySpatialReference(o);<br> | ^<br> | |<br> | OGRSpatialReference*<br>/usr/local/include/ogr_srs_api.h:453:53: note: initializing argument 1 of ‘void OSRDestroySpatialReference(OGRSpatialReferenceH)’<br> 453 | void CPL_DLL CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH);<br> | ^~~~~~~~~~~~~~~~~~~~<br>In file included from /media/dev/github/QGIS/external/pdal_wrench/vpc.hpp:18,<br> from /media/dev/github/QGIS/external/pdal_wrench/main.cpp:25:<br>/usr/local/include/pdal/Geometry.hpp: At global scope:<br>/usr/local/include/pdal/Geometry.hpp:44:7: error: conflicting declaration ‘using OGRSpatialReferenceH = void*’<br> 44 | using OGRSpatialReferenceH = void *;<br> | ^~~~~~~~~~~~~~~~~~~~<br>/usr/local/include/ogr_srs_api.h:430:39: note: previous declaration as ‘typedef struct OGRSpatialReferenceHS* OGRSpatialReferenceH’<br> 430 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;<br> | ^~~~~~~~~~~~~~~~~~~~<br>[553/5677] Building CXX object src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/alg.cpp.o<br>FAILED: src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/alg.cpp.o <br>ccache /usr/bin/c++ -DGDAL_DEBUG -DQT_DISABLE_DEPRECATED_BEFORE=0x050800 -DQT_NO_CAST_TO_ASCII -DQT_USE_QSTRINGBUILDER -DSIP_VERSION=0x060707 -DWITH_QTWEBKIT -I/media/dev/github/QGIS/build-ninja/src/providers/pdal/pdal_wrench_autogen/include -I/media/dev/github/QGIS/build-ninja -I/media/dev/github/QGIS/external/untwine/api -I/media/dev/github/QGIS/external -Wall -Wextra -Wno-long-long -Wformat-security -Wno-strict-aliasing -Wnon-virtual-dtor -Wno-redundant-move -Wno-misleading-indentation -Wno-deprecated-copy -g -fvisibility=hidden -MD -MT src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/alg.cpp.o -MF src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/alg.cpp.o.d -o src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/alg.cpp.o -c /media/dev/github/QGIS/external/pdal_wrench/alg.cpp<br>In file included from /media/dev/github/QGIS/external/pdal_wrench/alg.hpp:18,<br> from /media/dev/github/QGIS/external/pdal_wrench/alg.cpp:13:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In constructor ‘CRS::CRS(std::string)’:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:125:16: error: invalid ‘static_cast’ from type ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’} to type ‘OGRSpatialReference*’<br> 125 | ptr.reset( static_cast<OGRSpatialReference*>(OSRNewSpatialReference(s.size() ? s.c_str() : nullptr)) );<br> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>In file included from /usr/local/include/ogr_spatialref.h:20,<br> from /media/dev/github/QGIS/external/pdal_wrench/utils.hpp:116:<br>/usr/local/include/ogr_srs_api.h:430:16: note: class type ‘OGRSpatialReferenceHS’ is incomplete<br> 430 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;<br> | ^~~~~~~~~~~~~~~~~~~~~<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In member function ‘void CRS::OGRDeleter::operator()(OGRSpatialReference*)’:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:170:38: error: cannot convert ‘OGRSpatialReference*’ to ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’}<br> 170 | OSRDestroySpatialReference(o);<br> | ^<br> | |<br> | OGRSpatialReference*<br>/usr/local/include/ogr_srs_api.h:453:53: note: initializing argument 1 of ‘void OSRDestroySpatialReference(OGRSpatialReferenceH)’<br> 453 | void CPL_DLL CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH);<br> | ^~~~~~~~~~~~~~~~~~~~<br>In file included from /media/dev/github/QGIS/external/pdal_wrench/vpc.hpp:18,<br> from /media/dev/github/QGIS/external/pdal_wrench/alg.cpp:16:<br>/usr/local/include/pdal/Geometry.hpp: At global scope:<br>/usr/local/include/pdal/Geometry.hpp:44:7: error: conflicting declaration ‘using OGRSpatialReferenceH = void*’<br> 44 | using OGRSpatialReferenceH = void *;<br> | ^~~~~~~~~~~~~~~~~~~~<br>/usr/local/include/ogr_srs_api.h:430:39: note: previous declaration as ‘typedef struct OGRSpatialReferenceHS* OGRSpatialReferenceH’<br> 430 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;<br> | ^~~~~~~~~~~~~~~~~~~~<br>[554/5677] Building CXX object src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/boundary.cpp.o<br>FAILED: src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/boundary.cpp.o <br>ccache /usr/bin/c++ -DGDAL_DEBUG -DQT_DISABLE_DEPRECATED_BEFORE=0x050800 -DQT_NO_CAST_TO_ASCII -DQT_USE_QSTRINGBUILDER -DSIP_VERSION=0x060707 -DWITH_QTWEBKIT -I/media/dev/github/QGIS/build-ninja/src/providers/pdal/pdal_wrench_autogen/include -I/media/dev/github/QGIS/build-ninja -I/media/dev/github/QGIS/external/untwine/api -I/media/dev/github/QGIS/external -Wall -Wextra -Wno-long-long -Wformat-security -Wno-strict-aliasing -Wnon-virtual-dtor -Wno-redundant-move -Wno-misleading-indentation -Wno-deprecated-copy -g -fvisibility=hidden -MD -MT src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/boundary.cpp.o -MF src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/boundary.cpp.o.d -o src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/boundary.cpp.o -c /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp<br>In file included from /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp:24:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In constructor ‘CRS::CRS(std::string)’:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:125:16: error: invalid ‘static_cast’ from type ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’} to type ‘OGRSpatialReference*’<br> 125 | ptr.reset( static_cast<OGRSpatialReference*>(OSRNewSpatialReference(s.size() ? s.c_str() : nullptr)) );<br> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>In file included from /usr/local/include/gdal.h:34,<br> from /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp:20:<br>/usr/local/include/ogr_api.h:61:16: note: class type ‘OGRSpatialReferenceHS’ is incomplete<br> 61 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;<br> | ^~~~~~~~~~~~~~~~~~~~~<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In member function ‘void CRS::OGRDeleter::operator()(OGRSpatialReference*)’:<br>/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:170:38: error: cannot convert ‘OGRSpatialReference*’ to ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’}<br> 170 | OSRDestroySpatialReference(o);<br> | ^<br> | |<br> | OGRSpatialReference*<br>In file included from /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp:22:<br>/usr/local/include/ogr_srs_api.h:453:53: note: initializing argument 1 of ‘void OSRDestroySpatialReference(OGRSpatialReferenceH)’<br> 453 | void CPL_DLL CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH);<br> | ^~~~~~~~~~~~~~~~~~~~<br>In file included from /media/dev/github/QGIS/external/pdal_wrench/vpc.hpp:18,<br> from /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp:26:<br>/usr/local/include/pdal/Geometry.hpp: At global scope:<br>/usr/local/include/pdal/Geometry.hpp:43:7: error: conflicting declaration ‘using OGRGeometryH = void*’<br> 43 | using OGRGeometryH = void *;<br> | ^~~~~~~~~~~~<br>/usr/local/include/ogr_api.h:47:31: note: previous declaration as ‘typedef struct OGRGeometryHS* OGRGeometryH’<br> 47 | typedef struct OGRGeometryHS *OGRGeometryH;<br> | ^~~~~~~~~~~~<br>/usr/local/include/pdal/Geometry.hpp:44:7: error: conflicting declaration ‘using OGRSpatialReferenceH = void*’<br> 44 | using OGRSpatialReferenceH = void *;<br> | ^~~~~~~~~~~~~~~~~~~~<br>/usr/local/include/ogr_api.h:61:39: note: previous declaration as ‘typedef struct OGRSpatialReferenceHS* OGRSpatialReferenceH’<br> 61 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;<br> | ^~~~~~~~~~~~~~~~~~~~<br>/usr/local/include/pdal/Geometry.hpp: In member function ‘OGRGeometryHS* pdal::Geometry::getOGRHandle()’:<br>/usr/local/include/pdal/Geometry.hpp:69:24: error: cannot convert ‘std::unique_ptr<OGRGeometry>::pointer’ {aka ‘OGRGeometry*’} to ‘OGRGeometryH’ {aka ‘OGRGeometryHS*’} in return<br> 69 | { return m_geom.get(); }<br> | ~~~~~~~~~~^~<br> | |<br> | std::unique_ptr<OGRGeometry>::pointer {aka OGRGeometry*}<br>/usr/local/include/pdal/Geometry.hpp:42:7: note: class type ‘OGRGeometry’ is incomplete<br> 42 | class OGRGeometry;<br> | ^~~~~~~~~~~<br>[555/5677] Automatic MOC for target qgis_core<br>ninja: build stopped: subcommand failed.</div></body></html>