[QGIS-Developer] Building QGIS on Debian12 with self-compiled pdal and gdal versions
DelazJ
delazj at gmail.com
Sat Dec 21 15:58:01 PST 2024
Hi,
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.
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.
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.
Thanks. Regards,
Harrissou
$ ninja -j4
[552/5677] Building CXX object src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/main.cpp.o
FAILED: src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/main.cpp.o
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
In file included from /media/dev/github/QGIS/external/pdal_wrench/alg.hpp:18,
from /media/dev/github/QGIS/external/pdal_wrench/main.cpp:24:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In constructor ‘CRS::CRS(std::string)’:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:125:16: error: invalid ‘static_cast’ from type ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’} to type ‘OGRSpatialReference*’
125 | ptr.reset( static_cast<OGRSpatialReference*>(OSRNewSpatialReference(s.size() ? s.c_str() : nullptr)) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/ogr_spatialref.h:20,
from /media/dev/github/QGIS/external/pdal_wrench/utils.hpp:116:
/usr/local/include/ogr_srs_api.h:430:16: note: class type ‘OGRSpatialReferenceHS’ is incomplete
430 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
| ^~~~~~~~~~~~~~~~~~~~~
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In member function ‘void CRS::OGRDeleter::operator()(OGRSpatialReference*)’:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:170:38: error: cannot convert ‘OGRSpatialReference*’ to ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’}
170 | OSRDestroySpatialReference(o);
| ^
| |
| OGRSpatialReference*
/usr/local/include/ogr_srs_api.h:453:53: note: initializing argument 1 of ‘void OSRDestroySpatialReference(OGRSpatialReferenceH)’
453 | void CPL_DLL CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH);
| ^~~~~~~~~~~~~~~~~~~~
In file included from /media/dev/github/QGIS/external/pdal_wrench/vpc.hpp:18,
from /media/dev/github/QGIS/external/pdal_wrench/main.cpp:25:
/usr/local/include/pdal/Geometry.hpp: At global scope:
/usr/local/include/pdal/Geometry.hpp:44:7: error: conflicting declaration ‘using OGRSpatialReferenceH = void*’
44 | using OGRSpatialReferenceH = void *;
| ^~~~~~~~~~~~~~~~~~~~
/usr/local/include/ogr_srs_api.h:430:39: note: previous declaration as ‘typedef struct OGRSpatialReferenceHS* OGRSpatialReferenceH’
430 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
| ^~~~~~~~~~~~~~~~~~~~
[553/5677] Building CXX object src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/alg.cpp.o
FAILED: src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/alg.cpp.o
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
In file included from /media/dev/github/QGIS/external/pdal_wrench/alg.hpp:18,
from /media/dev/github/QGIS/external/pdal_wrench/alg.cpp:13:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In constructor ‘CRS::CRS(std::string)’:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:125:16: error: invalid ‘static_cast’ from type ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’} to type ‘OGRSpatialReference*’
125 | ptr.reset( static_cast<OGRSpatialReference*>(OSRNewSpatialReference(s.size() ? s.c_str() : nullptr)) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/ogr_spatialref.h:20,
from /media/dev/github/QGIS/external/pdal_wrench/utils.hpp:116:
/usr/local/include/ogr_srs_api.h:430:16: note: class type ‘OGRSpatialReferenceHS’ is incomplete
430 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
| ^~~~~~~~~~~~~~~~~~~~~
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In member function ‘void CRS::OGRDeleter::operator()(OGRSpatialReference*)’:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:170:38: error: cannot convert ‘OGRSpatialReference*’ to ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’}
170 | OSRDestroySpatialReference(o);
| ^
| |
| OGRSpatialReference*
/usr/local/include/ogr_srs_api.h:453:53: note: initializing argument 1 of ‘void OSRDestroySpatialReference(OGRSpatialReferenceH)’
453 | void CPL_DLL CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH);
| ^~~~~~~~~~~~~~~~~~~~
In file included from /media/dev/github/QGIS/external/pdal_wrench/vpc.hpp:18,
from /media/dev/github/QGIS/external/pdal_wrench/alg.cpp:16:
/usr/local/include/pdal/Geometry.hpp: At global scope:
/usr/local/include/pdal/Geometry.hpp:44:7: error: conflicting declaration ‘using OGRSpatialReferenceH = void*’
44 | using OGRSpatialReferenceH = void *;
| ^~~~~~~~~~~~~~~~~~~~
/usr/local/include/ogr_srs_api.h:430:39: note: previous declaration as ‘typedef struct OGRSpatialReferenceHS* OGRSpatialReferenceH’
430 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
| ^~~~~~~~~~~~~~~~~~~~
[554/5677] Building CXX object src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/boundary.cpp.o
FAILED: src/providers/pdal/CMakeFiles/pdal_wrench.dir/__/__/__/external/pdal_wrench/boundary.cpp.o
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
In file included from /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp:24:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In constructor ‘CRS::CRS(std::string)’:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:125:16: error: invalid ‘static_cast’ from type ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’} to type ‘OGRSpatialReference*’
125 | ptr.reset( static_cast<OGRSpatialReference*>(OSRNewSpatialReference(s.size() ? s.c_str() : nullptr)) );
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/include/gdal.h:34,
from /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp:20:
/usr/local/include/ogr_api.h:61:16: note: class type ‘OGRSpatialReferenceHS’ is incomplete
61 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
| ^~~~~~~~~~~~~~~~~~~~~
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp: In member function ‘void CRS::OGRDeleter::operator()(OGRSpatialReference*)’:
/media/dev/github/QGIS/external/pdal_wrench/utils.hpp:170:38: error: cannot convert ‘OGRSpatialReference*’ to ‘OGRSpatialReferenceH’ {aka ‘OGRSpatialReferenceHS*’}
170 | OSRDestroySpatialReference(o);
| ^
| |
| OGRSpatialReference*
In file included from /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp:22:
/usr/local/include/ogr_srs_api.h:453:53: note: initializing argument 1 of ‘void OSRDestroySpatialReference(OGRSpatialReferenceH)’
453 | void CPL_DLL CPL_STDCALL OSRDestroySpatialReference(OGRSpatialReferenceH);
| ^~~~~~~~~~~~~~~~~~~~
In file included from /media/dev/github/QGIS/external/pdal_wrench/vpc.hpp:18,
from /media/dev/github/QGIS/external/pdal_wrench/boundary.cpp:26:
/usr/local/include/pdal/Geometry.hpp: At global scope:
/usr/local/include/pdal/Geometry.hpp:43:7: error: conflicting declaration ‘using OGRGeometryH = void*’
43 | using OGRGeometryH = void *;
| ^~~~~~~~~~~~
/usr/local/include/ogr_api.h:47:31: note: previous declaration as ‘typedef struct OGRGeometryHS* OGRGeometryH’
47 | typedef struct OGRGeometryHS *OGRGeometryH;
| ^~~~~~~~~~~~
/usr/local/include/pdal/Geometry.hpp:44:7: error: conflicting declaration ‘using OGRSpatialReferenceH = void*’
44 | using OGRSpatialReferenceH = void *;
| ^~~~~~~~~~~~~~~~~~~~
/usr/local/include/ogr_api.h:61:39: note: previous declaration as ‘typedef struct OGRSpatialReferenceHS* OGRSpatialReferenceH’
61 | typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
| ^~~~~~~~~~~~~~~~~~~~
/usr/local/include/pdal/Geometry.hpp: In member function ‘OGRGeometryHS* pdal::Geometry::getOGRHandle()’:
/usr/local/include/pdal/Geometry.hpp:69:24: error: cannot convert ‘std::unique_ptr<OGRGeometry>::pointer’ {aka ‘OGRGeometry*’} to ‘OGRGeometryH’ {aka ‘OGRGeometryHS*’} in return
69 | { return m_geom.get(); }
| ~~~~~~~~~~^~
| |
| std::unique_ptr<OGRGeometry>::pointer {aka OGRGeometry*}
/usr/local/include/pdal/Geometry.hpp:42:7: note: class type ‘OGRGeometry’ is incomplete
42 | class OGRGeometry;
| ^~~~~~~~~~~
[555/5677] Automatic MOC for target qgis_core
ninja: build stopped: subcommand failed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20241222/65a2f4fb/attachment-0001.htm>
More information about the QGIS-Developer
mailing list