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.
_______________________________________________
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer