<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<font size="2" face="DejaVu Sans Mono">Hi Stefanos,<br>
<br>
</font><font size="2" face="DejaVu Sans Mono">Thanks for the
suggestion, I will definitely try that. In any case i</font><font
size="2" face="DejaVu Sans Mono">t is baffling that build fails
using both internal and external (3.12). <br>
<br>
I currently suspect deeper issues in gcc and how libstdc++ is
linked in my system or the may be the OS. Up to two weeks ago I
could compile QGIS painlessly.<br>
<br>
Hernán<br>
</font><br>
<div class="moz-cite-prefix">Den 2025-04-29 kl. 10:18, skrev
Stefanos Natsis:<br>
</div>
<blockquote type="cite"
cite="mid:CADBCwLYBa_6o8vcmgU27Rxao0nyTC1G6ZL2MVeS0t_FptR4nOA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">
<p dir="ltr">Hi Hernan,</p>
<p dir="ltr">Nlohmann json got updated to 3.11.3 in <a
href="https://github.com/qgis/QGIS/pull/61597"
target="_blank" rel="noreferrer" moz-do-not-send="true"
class="moz-txt-link-freetext">https://github.com/qgis/QGIS/pull/61597</a>
a few days ago, maybe you could try building master before
that?</p>
<p dir="ltr">Best</p>
<p dir="ltr">Stefanos</p>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Apr 29, 2025, 10:04 AM
Hernán De Angelis via QGIS-Developer <<a
href="mailto:qgis-developer@lists.osgeo.org" target="_blank"
rel="noreferrer" moz-do-not-send="true"
class="moz-txt-link-freetext">qgis-developer@lists.osgeo.org</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> <font size="2" face="DejaVu Sans Mono">Hi<br>
<br>
I seek help in understanding errors (see excerpt below) I
am currently experiencing while building QGIS master in a
fresh openSUSE Tumbleweed install. These errors seem to
originate in nlohmann json. I am used to compile QGIS from
source but never seen these errors before and have trouble
figuring out where they originate and what a possible
solution could be.<br>
<br>
</font><font size="2" face="DejaVu Sans Mono">I am using Qt
6.9.0, and tried compiling using both GCC 14 and 15.
Passing the CXX flag "-std=c++17" does not seem to help. I
tried using NLOHMANN both internal and also using the
latest version compiled locally (3.12, as in error log
below) but both fail in a similar way.</font><br>
<font size="2" face="DejaVu Sans Mono"><br>
</font><font size="2" face="DejaVu Sans Mono">I compiled
QGIS master as late as 6 april without problems in a
previous openSUSE install. </font><font size="2"
face="DejaVu Sans Mono">There is a very real the
possibility that recent changes in GCC14 and 15 regarding
required standards are playing a part here, as well as
packaging changes in openSUSE Tumbleweed. However, as I am
unsure what the cause may be I would like to ask the
developers if these errors look familiar to you and if
they suggest something.<br>
<br>
Thanks in advance<br>
<br>
Hernán<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
[ 12%] Built target staged-plugins-on-build<br>
In file included from
/usr/local/src/QGIS/external/nlohmann/detail/value_t.hpp:16,<br>
from
/usr/local/src/QGIS/external/nlohmann/detail/exceptions.hpp:20,<br>
from
/usr/local/src/QGIS/external/nlohmann/detail/conversions/from_json.hpp:23,<br>
from
/usr/local/src/QGIS/external/nlohmann/adl_serializer.hpp:14,<br>
from
/usr/local/src/QGIS/external/nlohmann/json.hpp:34,<br>
from
/usr/local/src/QGIS/external/pdal_wrench/vpc.cpp:26:<br>
/usr/local/src/QGIS/external/nlohmann/detail/macro_scope.hpp:257:63:
error: wrong number of template arguments (11, should be
at least 0)<br>
257 | AllocatorType, JSONSerializer, BinaryType,
CustomBaseClass><br>
|
^<br>
/usr/local/src/QGIS/external/nlohmann/detail/meta/type_traits.hpp:53:22:
note: in expansion of macro ‘NLOHMANN_BASIC_JSON_TPL’<br>
53 | struct
is_basic_json<NLOHMANN_BASIC_JSON_TPL> :
std::true_type {};<br>
| ^~~~~~~~~~~~~~~~~~~~~~~<br>
In file included from
/usr/local/include/pdal/PDALUtils.hpp:39,<br>
from
/usr/local/include/pdal/PointRef.hpp:37,<br>
from
/usr/local/include/pdal/Geometry.hpp:37,<br>
from
/usr/local/src/QGIS/external/pdal_wrench/vpc.hpp:18,<br>
from
/usr/local/src/QGIS/external/pdal_wrench/vpc.cpp:19:<br>
/usr/local/include/pdal/JsonFwd.hpp:40:7: note: provided
for ‘template<template<class U, class V, class ...
Args> class ObjectType, template<class U, class ...
Args> class ArrayType, class StringType, class
BooleanType, class NumberIntegerType, class
NumberUnsignedType, class NumberFloatType,
template<class U> class AllocatorType,
template<class T, class SFINAE> class
JSONSerializer, class BinaryType> class
nlohmann::basic_json’<br>
40 | class basic_json;<br>
| ^~~~~~~~~~<br>
In file included from
/usr/local/src/QGIS/external/nlohmann/detail/exceptions.hpp:25:<br>
/usr/local/src/QGIS/external/nlohmann/detail/meta/type_traits.hpp:53:45:
error: template argument 1 is invalid<br>
53 | struct
is_basic_json<NLOHMANN_BASIC_JSON_TPL> :
std::true_type {};<br>
| ^<br>
/usr/local/src/QGIS/external/nlohmann/detail/macro_scope.hpp:257:63:
error: wrong number of template arguments (11, should be
at least 0)<br>
257 | AllocatorType, JSONSerializer, BinaryType,
CustomBaseClass><br>
|
^<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:51:28:
note: in expansion of macro ‘NLOHMANN_BASIC_JSON_TPL’<br>
51 | struct
string_t_helper<NLOHMANN_BASIC_JSON_TPL><br>
| ^~~~~~~~~~~~~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:40:7: note: provided
for ‘template<template<class U, class V, class ...
Args> class ObjectType, template<class U, class ...
Args> class ArrayType, class StringType, class
BooleanType, class NumberIntegerType, class
NumberUnsignedType, class NumberFloatType,
template<class U> class AllocatorType,
template<class T, class SFINAE> class
JSONSerializer, class BinaryType> class
nlohmann::basic_json’<br>
40 | class basic_json;<br>
| ^~~~~~~~~~<br>
In file included from
/usr/local/src/QGIS/external/nlohmann/json.hpp:50:<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:51:51:
error: template argument 1 is invalid<br>
51 | struct
string_t_helper<NLOHMANN_BASIC_JSON_TPL><br>
|
^<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:104:30:
error: reference to ‘json_pointer’ is ambiguous<br>
104 | friend class ::nlohmann::json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:166:26:
error: reference to ‘json_pointer’ is ambiguous<br>
166 | using json_pointer =
::nlohmann::json_pointer<StringType>;<br>
| ^~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2327:21:
error: missing template argument list after
‘nlohmann::json_abi_v3_11_3::json_pointer’; template
placeholder not permitted in parameter<br>
2327 | ValueType value(const json_pointer& ptr,
const ValueType& default_value) const<br>
| ^~~~~<br>
| <><br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: ‘template<class RefStringType> class
nlohmann::json_abi_v3_11_3::json_pointer’ declared here<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2352:22:
error: missing template argument list after
‘nlohmann::json_abi_v3_11_3::json_pointer’; template
placeholder not permitted in parameter<br>
2352 | ReturnType value(const json_pointer& ptr,
ValueType && default_value) const<br>
| ^~~~~<br>
| <><br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: ‘template<class RefStringType> class
nlohmann::json_abi_v3_11_3::json_pointer’ declared here<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2376:27:
error: reference to ‘json_pointer’ is ambiguous<br>
2376 | ValueType value(const
::nlohmann::json_pointer<BasicJsonType>& ptr,
const ValueType& default_value) const<br>
| ^~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2376:51:
error: expected ‘,’ or ‘...’ before ‘<’ token<br>
2376 | ValueType value(const
::nlohmann::json_pointer<BasicJsonType>& ptr,
const ValueType& default_value) const<br>
|
^<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2387:28:
error: reference to ‘json_pointer’ is ambiguous<br>
2387 | ReturnType value(const
::nlohmann::json_pointer<BasicJsonType>& ptr,
ValueType && default_value) const<br>
| ^~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2387:52:
error: expected ‘,’ or ‘...’ before ‘<’ token<br>
2387 | ReturnType value(const
::nlohmann::json_pointer<BasicJsonType>& ptr,
ValueType && default_value) const<br>
|
^<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2745:19:
error: missing template argument list after
‘nlohmann::json_abi_v3_11_3::json_pointer’; template
placeholder not permitted in parameter<br>
2745 | bool contains(const json_pointer& ptr)
const<br>
| ^~~~~<br>
| <><br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: ‘template<class RefStringType> class
nlohmann::json_abi_v3_11_3::json_pointer’ declared here<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2752:46:
error: reference to ‘json_pointer’ is ambiguous<br>
2752 | bool contains(const typename
::nlohmann::json_pointer<BasicJsonType>& ptr)
const<br>
|
^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:2752:58:
error: expected ‘,’ or ‘...’ before ‘<’ token<br>
2752 | bool contains(const typename
::nlohmann::json_pointer<BasicJsonType>& ptr)
const<br>
|
^<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4618:26:
error: missing template argument list after
‘nlohmann::json_abi_v3_11_3::json_pointer’; template
placeholder not permitted in parameter<br>
4618 | reference operator[](const json_pointer&
ptr)<br>
| ^~~~~<br>
| <><br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: ‘template<class RefStringType> class
nlohmann::json_abi_v3_11_3::json_pointer’ declared here<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4618:15:
error:
‘nlohmann::json_abi_v3_11_3::basic_json<ObjectType,
ArrayType, StringType, BooleanType, NumberIntegerType,
NumberUnsignedType, NumberFloatType, AllocatorType,
JSONSerializer, BinaryType,
CustomBaseClass>::value_type&
nlohmann::json_abi_v3_11_3::basic_json<ObjectType,
ArrayType, StringType, BooleanType, NumberIntegerType,
NumberUnsignedType, NumberFloatType, AllocatorType,
JSONSerializer, BinaryType,
CustomBaseClass>::operator[](...)’ must not have
variable number of arguments<br>
4618 | reference operator[](const json_pointer&
ptr)<br>
| ^~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4625:32:
error: reference to ‘json_pointer’ is ambiguous<br>
4625 | reference operator[](const
::nlohmann::json_pointer<BasicJsonType>& ptr)<br>
| ^~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4625:56:
error: expected ‘,’ or ‘...’ before ‘<’ token<br>
4625 | reference operator[](const
::nlohmann::json_pointer<BasicJsonType>& ptr)<br>
| ^<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4632:32:
error: missing template argument list after
‘nlohmann::json_abi_v3_11_3::json_pointer’; template
placeholder not permitted in parameter<br>
4632 | const_reference operator[](const
json_pointer& ptr) const<br>
| ^~~~~<br>
| <><br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: ‘template<class RefStringType> class
nlohmann::json_abi_v3_11_3::json_pointer’ declared here<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4632:21:
error: ‘const
nlohmann::json_abi_v3_11_3::basic_json<ObjectType,
ArrayType, StringType, BooleanType, NumberIntegerType,
NumberUnsignedType, NumberFloatType, AllocatorType,
JSONSerializer, BinaryType,
CustomBaseClass>::value_type&
nlohmann::json_abi_v3_11_3::basic_json<ObjectType,
ArrayType, StringType, BooleanType, NumberIntegerType,
NumberUnsignedType, NumberFloatType, AllocatorType,
JSONSerializer, BinaryType,
CustomBaseClass>::operator[](...) const’ must not have
variable number of arguments<br>
4632 | const_reference operator[](const
json_pointer& ptr) const<br>
| ^~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4639:38:
error: reference to ‘json_pointer’ is ambiguous<br>
4639 | const_reference operator[](const
::nlohmann::json_pointer<BasicJsonType>& ptr)
const<br>
| ^~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4639:62:
error: expected ‘,’ or ‘...’ before ‘<’ token<br>
4639 | const_reference operator[](const
::nlohmann::json_pointer<BasicJsonType>& ptr)
const<br>
|
^<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4646:18:
error: missing template argument list after
‘nlohmann::json_abi_v3_11_3::json_pointer’; template
placeholder not permitted in parameter<br>
4646 | reference at(const json_pointer& ptr)<br>
| ^~~~~<br>
| <><br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: ‘template<class RefStringType> class
nlohmann::json_abi_v3_11_3::json_pointer’ declared here<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4653:24:
error: reference to ‘json_pointer’ is ambiguous<br>
4653 | reference at(const
::nlohmann::json_pointer<BasicJsonType>& ptr)<br>
| ^~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4653:48:
error: expected ‘,’ or ‘...’ before ‘<’ token<br>
4653 | reference at(const
::nlohmann::json_pointer<BasicJsonType>& ptr)<br>
| ^<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4660:24:
error: missing template argument list after
‘nlohmann::json_abi_v3_11_3::json_pointer’; template
placeholder not permitted in parameter<br>
4660 | const_reference at(const json_pointer&
ptr) const<br>
| ^~~~~<br>
| <><br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: ‘template<class RefStringType> class
nlohmann::json_abi_v3_11_3::json_pointer’ declared here<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4667:30:
error: reference to ‘json_pointer’ is ambiguous<br>
4667 | const_reference at(const
::nlohmann::json_pointer<BasicJsonType>& ptr)
const<br>
| ^~<br>
/usr/local/src/QGIS/external/nlohmann/detail/json_pointer.hpp:35:7:
note: candidates are: ‘template<class RefStringType>
class nlohmann::json_abi_v3_11_3::json_pointer’<br>
35 | class json_pointer<br>
| ^~~~~~~~~~~~<br>
/usr/local/include/pdal/JsonFwd.hpp:45:7:
note: ‘template<class BasicJsonType>
class nlohmann::json_pointer’<br>
45 | class json_pointer;<br>
| ^~~~~~~~~~~~<br>
/usr/local/src/QGIS/external/nlohmann/json.hpp:4667:54:
error: expected ‘,’ or ‘...’ before ‘<’ token<br>
4667 | const_reference at(const
::nlohmann::json_pointer<BasicJsonType>& ptr)
const<br>
| ^<br>
<br>
</font> </div>
_______________________________________________<br>
QGIS-Developer mailing list<br>
<a href="mailto:QGIS-Developer@lists.osgeo.org"
rel="noreferrer noreferrer" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">QGIS-Developer@lists.osgeo.org</a><br>
List info: <a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
rel="noreferrer noreferrer noreferrer" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
Unsubscribe: <a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
rel="noreferrer noreferrer noreferrer" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
</blockquote>
</div>
</blockquote>
<br>
</body>
</html>