build failure with GCC 9.1.0

"Dechaux Eric CEN (BCQ STIG)" <[email protected]>
Newsgroups gmane.comp.gis.proj-4.devel
Message-ID <b4f2aad0-24f2-2f1d-424c-79455c2b2a75@gendarmerie.interieur.gouv.fr>
Hello,

I am building proj 6.2.0 with GCC 9.1.0 and it fails with the following 
error :

gmake  all-am
gmake[1]: Entering directory 
'/tmp/build/test-02-11.4.12-gis3.0/proj-6.2.0/src'
depbase=`echo iso19111/io.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. 
-DPROJ_LIB=\"/appli/stig/11.4.12.5.0-test-02-11.4.12-gis3.0/share/proj\" 
-DMUTEX_pthread  -I../include  -D_FORTIFY_SOURCE=2 -Wall -Wextra 
-Winit-self -Wunused-parameter -Wformat -Werror=format-security 
-Wno-format-nonliteral -Wlogical-op -Wshadow -Werror=vla -Wdate-time 
-Wnull-dereference -Wduplicated-cond -Wextra-semi -Wfloat-conversion 
-Wmissing-declarations -Wnon-virtual-dtor -Weffc++ -Woverloaded-virtual 
-Wdeprecated -Wzero-as-null-pointer-constant  -fstack-protector-strong 
-fpic -fPIC --param=ssp-buffer-size=4 -O2 -flto -march=native 
-mtune=native -fvisibility=hidden -MT iso19111/io.lo -MD -MP -MF 
$depbase.Tpo -c -o iso19111/io.lo iso19111/io.cpp &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  g++ -DHAVE_CONFIG_H -I. 
"-DPROJ_LIB=\"/appli/stig/11.4.12.5.0-test-02-11.4.12-gis3.0/share/proj\"" 
-DMUTEX_pthread -I../include -D_FORTIFY_SOURCE=2 -Wall -Wextra 
-Winit-self -Wunused-parameter -Wformat -Werror=format-security 
-Wno-format-nonliteral -Wlogical-op -Wshadow -Werror=vla -Wdate-time 
-Wnull-dereference -Wduplicated-cond -Wextra-semi -Wfloat-conversion 
-Wmissing-declarations -Wnon-virtual-dtor -Weffc++ -Woverloaded-virtual 
-Wdeprecated -Wzero-as-null-pointer-constant -fstack-protector-strong 
-fpic -fPIC --param=ssp-buffer-size=4 -O2 -flto -march=native 
-mtune=native -fvisibility=hidden -MT iso19111/io.lo -MD -MP -MF 
iso19111/.deps/io.Tpo -c iso19111/io.cpp  -fPIC -DPIC -o iso19111/.libs/io.o
In file included from /usr/include/sys/ucontext.h:14,
                  from /usr/include/sys/signal.h:197,
                  from /usr/include/sys/procset.h:17,
                  from /usr/include/sys/wait.h:22,
                  from /usr/include/stdlib.h:16,
                  from /usr/gcc/9/include/c++/9.1.0/cstdlib:75,
                  from /usr/gcc/9/include/c++/9.1.0/bits/stl_algo.h:59,
                  from /usr/gcc/9/include/c++/9.1.0/algorithm:62,
                  from iso19111/io.cpp:33:
iso19111/io.cpp:4447:21: error: expected identifier before numeric constant
  4447 |               class CS = CoordinateSystem>
       |                     ^~
iso19111/io.cpp:4447:21: error: expected '>' before numeric constant
iso19111/io.cpp:4460:53: error: expected identifier before numeric constant
  4460 |     template <class TargetCRS, class BaseCRS, class CS = 
CoordinateSystem>
       | ^~
iso19111/io.cpp:4460:53: error: expected '>' before numeric constant
iso19111/io.cpp: In member function 
'dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildCRS(const json&, DatumBuilderType)':
iso19111/io.cpp:4452:59: error: no matching function for call to 
'nn_dynamic_pointer_cast<15>(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystem> 
 >&)'
  4452 |         auto csCast = util::nn_dynamic_pointer_cast<CS>(cs);
|                                                           ^
In file included from ../include/proj/util.hpp:92,
                  from ./proj_json_streaming_writer.hpp:39,
                  from ../include/proj/io.hpp:41,
                  from ../include/proj/common.hpp:36,
                  from iso19111/io.cpp:47:
.../include/proj/nn.hpp:317:20: note: candidate: 'template<class T, class 
U> std::shared_ptr<_Tp> 
dropbox::oxygen::nn_dynamic_pointer_cast(dropbox::oxygen::nn_shared_ptr<U>&)'
   317 | std::shared_ptr<T> nn_dynamic_pointer_cast(const 
nn_shared_ptr<U> &org_ptr) {
       |                    ^~~~~~~~~~~~~~~~~~~~~~~
.../include/proj/nn.hpp:317:20: note:   template argument 
deduction/substitution failed:
In file included from ./proj_json_streaming_writer.hpp:39,
                  from ../include/proj/io.hpp:41,
                  from ../include/proj/common.hpp:36,
                  from iso19111/io.cpp:47:
.../include/proj/util.hpp:191:51: error: template argument 1 is invalid
   191 |         typename 
std::remove_reference<decltype(p)>::type>::type>( \
       |                                                   ^
iso19111/io.cpp:4457:34: note: in expansion of macro 'NN_NO_CHECK'
  4457 | NN_NO_CHECK(csCast));
       |                                  ^~~~~~~~~~~
.../include/proj/util.hpp:191:58: error: template argument 1 is invalid
   191 |         typename 
std::remove_reference<decltype(p)>::type>::type>( \
|                                                          ^
iso19111/io.cpp:4457:34: note: in expansion of macro 'NN_NO_CHECK'
  4457 | NN_NO_CHECK(csCast));
       |                                  ^~~~~~~~~~~
.../include/proj/util.hpp:191:65: error: template argument 1 is invalid
   191 |         typename 
std::remove_reference<decltype(p)>::type>::type>( \
| ^
iso19111/io.cpp:4457:34: note: in expansion of macro 'NN_NO_CHECK'
  4457 | NN_NO_CHECK(csCast));
       |                                  ^~~~~~~~~~~
iso19111/io.cpp: In member function 
'dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildDerivedCRS(const json&)':
iso19111/io.cpp:4468:59: error: no matching function for call to 
'nn_dynamic_pointer_cast<15>(dropbox::oxygen::nn<std::shared_ptr<osgeo::proj::cs::CoordinateSystem> 
 >&)'
  4468 |         auto csCast = util::nn_dynamic_pointer_cast<CS>(cs);
|                                                           ^
In file included from ../include/proj/util.hpp:92,
                  from ./proj_json_streaming_writer.hpp:39,
                  from ../include/proj/io.hpp:41,
                  from ../include/proj/common.hpp:36,
                  from iso19111/io.cpp:47:
.../include/proj/nn.hpp:317:20: note: candidate: 'template<class T, class 
U> std::shared_ptr<_Tp> 
dropbox::oxygen::nn_dynamic_pointer_cast(dropbox::oxygen::nn_shared_ptr<U>&)'
   317 | std::shared_ptr<T> nn_dynamic_pointer_cast(const 
nn_shared_ptr<U> &org_ptr) {
       |                    ^~~~~~~~~~~~~~~~~~~~~~~
.../include/proj/nn.hpp:317:20: note:   template argument 
deduction/substitution failed:
In file included from ./proj_json_streaming_writer.hpp:39,
                  from ../include/proj/io.hpp:41,
                  from ../include/proj/common.hpp:36,
                  from iso19111/io.cpp:47:
.../include/proj/util.hpp:191:51: error: template argument 1 is invalid
   191 |         typename 
std::remove_reference<decltype(p)>::type>::type>( \
       |                                                   ^
iso19111/io.cpp:4474:34: note: in expansion of macro 'NN_NO_CHECK'
  4474 | NN_NO_CHECK(csCast));
       |                                  ^~~~~~~~~~~
.../include/proj/util.hpp:191:58: error: template argument 1 is invalid
   191 |         typename 
std::remove_reference<decltype(p)>::type>::type>( \
|                                                          ^
iso19111/io.cpp:4474:34: note: in expansion of macro 'NN_NO_CHECK'
  4474 | NN_NO_CHECK(csCast));
       |                                  ^~~~~~~~~~~
.../include/proj/util.hpp:191:65: error: template argument 1 is invalid
   191 |         typename 
std::remove_reference<decltype(p)>::type>::type>( \
| ^
iso19111/io.cpp:4474:34: note: in expansion of macro 'NN_NO_CHECK'
  4474 | NN_NO_CHECK(csCast));
       |                                  ^~~~~~~~~~~
iso19111/io.cpp: In member function 'osgeo::proj::util::BaseObjectNNPtr 
osgeo::proj::io::JSONParser::create(const json&)':
iso19111/io.cpp:4783:78: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildCRS<osgeo::proj::crs::EngineeringCRS>(const 
json&, osgeo::proj::datum::EngineeringDatumNNPtr 
(osgeo::proj::io::JSONParser::*)(const json&))'
  4783 |         return buildCRS<EngineeringCRS>(j, 
&JSONParser::buildEngineeringDatum);
| ^
iso19111/io.cpp:4448:42: note: candidate: 'template<class TargetCRS, 
class DatumBuilderType, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildCRS(const json&, DatumBuilderType)'
  4448 | util::nn<std::shared_ptr<TargetCRS>> buildCRS(const json &j,
       |                                          ^~~~~~~~
iso19111/io.cpp:4448:42: note:   template argument 
deduction/substitution failed:
iso19111/io.cpp:4783:78: note:   couldn't deduce template parameter 
'<anonymous>'
  4783 |         return buildCRS<EngineeringCRS>(j, 
&JSONParser::buildEngineeringDatum);
| ^
iso19111/io.cpp:4788:75: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildCRS<osgeo::proj::crs::ParametricCRS, 
osgeo::proj::datum::ParametricDatumNNPtr 
(osgeo::proj::io::JSONParser::*)(const json&), 
osgeo::proj::cs::ParametricCS>(const json&, 
osgeo::proj::datum::ParametricDatumNNPtr 
(osgeo::proj::io::JSONParser::*)(const json&))'
  4788 |                         ParametricCS>(j, 
&JSONParser::buildParametricDatum);
| ^
iso19111/io.cpp:4448:42: note: candidate: 'template<class TargetCRS, 
class DatumBuilderType, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildCRS(const json&, DatumBuilderType)'
  4448 | util::nn<std::shared_ptr<TargetCRS>> buildCRS(const json &j,
       |                                          ^~~~~~~~
iso19111/io.cpp:4448:42: note:   template argument 
deduction/substitution failed:
iso19111/io.cpp:4792:71: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildCRS<osgeo::proj::crs::TemporalCRS, 
osgeo::proj::datum::TemporalDatumNNPtr 
(osgeo::proj::io::JSONParser::*)(const json&), 
osgeo::proj::cs::TemporalCS>(const json&, 
osgeo::proj::datum::TemporalDatumNNPtr 
(osgeo::proj::io::JSONParser::*)(const json&))'
  4792 |                         TemporalCS>(j, 
&JSONParser::buildTemporalDatum);
| ^
iso19111/io.cpp:4448:42: note: candidate: 'template<class TargetCRS, 
class DatumBuilderType, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildCRS(const json&, DatumBuilderType)'
  4448 | util::nn<std::shared_ptr<TargetCRS>> buildCRS(const json &j,
       |                                          ^~~~~~~~
iso19111/io.cpp:4448:42: note:   template argument 
deduction/substitution failed:
iso19111/io.cpp:4816:48: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildDerivedCRS<osgeo::proj::crs::DerivedGeographicCRS, 
osgeo::proj::crs::GeodeticCRS, osgeo::proj::cs::EllipsoidalCS>(const json&)'
  4816 | EllipsoidalCS>(j);
       |                                                ^
iso19111/io.cpp:4461:42: note: candidate: 'template<class TargetCRS, 
class BaseCRS, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildDerivedCRS(const json&)'
  4461 | util::nn<std::shared_ptr<TargetCRS>> buildDerivedCRS(const json 
&j) {
       | ^~~~~~~~~~~~~~~
iso19111/io.cpp:4461:42: note:   template argument 
deduction/substitution failed:
iso19111/io.cpp:4819:68: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildDerivedCRS<osgeo::proj::crs::DerivedProjectedCRS, 
osgeo::proj::crs::ProjectedCRS>(const json&)'
  4819 |         return buildDerivedCRS<DerivedProjectedCRS, 
ProjectedCRS>(j);
| ^
iso19111/io.cpp:4461:42: note: candidate: 'template<class TargetCRS, 
class BaseCRS, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildDerivedCRS(const json&)'
  4461 | util::nn<std::shared_ptr<TargetCRS>> buildDerivedCRS(const json 
&j) {
       | ^~~~~~~~~~~~~~~
iso19111/io.cpp:4461:42: note:   template argument 
deduction/substitution failed:
iso19111/io.cpp:4819:68: note:   couldn't deduce template parameter 
'<anonymous>'
  4819 |         return buildDerivedCRS<DerivedProjectedCRS, 
ProjectedCRS>(j);
| ^
iso19111/io.cpp:4822:78: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildDerivedCRS<osgeo::proj::crs::DerivedVerticalCRS, 
osgeo::proj::crs::VerticalCRS, osgeo::proj::cs::VerticalCS>(const json&)'
  4822 |         return buildDerivedCRS<DerivedVerticalCRS, VerticalCRS, 
VerticalCS>(j);
| ^
iso19111/io.cpp:4461:42: note: candidate: 'template<class TargetCRS, 
class BaseCRS, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildDerivedCRS(const json&)'
  4461 | util::nn<std::shared_ptr<TargetCRS>> buildDerivedCRS(const json 
&j) {
       | ^~~~~~~~~~~~~~~
iso19111/io.cpp:4461:42: note:   template argument 
deduction/substitution failed:
iso19111/io.cpp:4825:72: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildDerivedCRS<osgeo::proj::crs::DerivedEngineeringCRS, 
osgeo::proj::crs::EngineeringCRS>(const json&)'
  4825 |         return buildDerivedCRS<DerivedEngineeringCRS, 
EngineeringCRS>(j);
| ^
iso19111/io.cpp:4461:42: note: candidate: 'template<class TargetCRS, 
class BaseCRS, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildDerivedCRS(const json&)'
  4461 | util::nn<std::shared_ptr<TargetCRS>> buildDerivedCRS(const json 
&j) {
       | ^~~~~~~~~~~~~~~
iso19111/io.cpp:4461:42: note:   template argument 
deduction/substitution failed:
iso19111/io.cpp:4825:72: note:   couldn't deduce template parameter 
'<anonymous>'
  4825 |         return buildDerivedCRS<DerivedEngineeringCRS, 
EngineeringCRS>(j);
| ^
iso19111/io.cpp:4829:47: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildDerivedCRS<osgeo::proj::crs::DerivedParametricCRS, 
osgeo::proj::crs::ParametricCRS, osgeo::proj::cs::ParametricCS>(const 
json&)'
  4829 |                                ParametricCS>(j);
       |                                               ^
iso19111/io.cpp:4461:42: note: candidate: 'template<class TargetCRS, 
class BaseCRS, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildDerivedCRS(const json&)'
  4461 | util::nn<std::shared_ptr<TargetCRS>> buildDerivedCRS(const json 
&j) {
       | ^~~~~~~~~~~~~~~
iso19111/io.cpp:4461:42: note:   template argument 
deduction/substitution failed:
iso19111/io.cpp:4832:78: error: no matching function for call to 
'osgeo::proj::io::JSONParser::buildDerivedCRS<osgeo::proj::crs::DerivedTemporalCRS, 
osgeo::proj::crs::TemporalCRS, osgeo::proj::cs::TemporalCS>(const json&)'
  4832 |         return buildDerivedCRS<DerivedTemporalCRS, TemporalCRS, 
TemporalCS>(j);
| ^
iso19111/io.cpp:4461:42: note: candidate: 'template<class TargetCRS, 
class BaseCRS, <typeprefixerror><anonymous> > 
dropbox::oxygen::nn<std::shared_ptr<_Tp> > 
osgeo::proj::io::JSONParser::buildDerivedCRS(const json&)'
  4461 | util::nn<std::shared_ptr<TargetCRS>> buildDerivedCRS(const json 
&j) {
       | ^~~~~~~~~~~~~~~
iso19111/io.cpp:4461:42: note:   template argument 
deduction/substitution failed:
gmake[1]: *** [Makefile:1629: iso19111/io.lo] Error 1
gmake[1]: Leaving directory 
'/tmp/build/test-02-11.4.12-gis3.0/proj-6.2.0/src'
gmake: *** [Makefile:855: all] Error 2


Are those expected ? Could it comes from my buildbox (Solaris 11.4.12) ?


Thanks
--
Eric.

_______________________________________________
PROJ mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/proj
avertissement.txt (text/plain, 1.1 KB)
Ce message électronique et tous les fichiers attachés qu'il contient sont confidentiels et destinés exclusivement à l'usage de la personne à laquelle ils sont adressés. Si vous avez reçu ce message par erreur, merci de le retourner à son émetteur. La publication, l'usage, la distribution, l'impression ou la copie non autorisée de ce message et des attachements qu'il contient sont strictement interdits.

En cas d'urgence, composez le 17 ou le 112.
Afin de contribuer au respect de l'environnement, merci de n'imprimer cet e-mail qu'en cas de necessite.

This e-mail and any files transmitted with it are confidential and intended solely for the use of the individual to whom it is addressed. If you have received this email in error please send it back to the person that sent it to you. Unauthorized publication, use, dissemination, forwarding, printing or copying of this email and its associated attachments is strictly prohibited.

In case of emergency, dial number 17 or 112.
To contribute to the environmental protection, please print this e-mail only if necessary.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.