[PROJ] build failure with GCC 9.1.0

Dechaux Eric CEN (BCQ STIG) eric.dechaux at gendarmerie.interieur.gouv.fr
Tue Sep 24 06:11:50 PDT 2019


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.



-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: avertissement.txt
URL: <http://lists.osgeo.org/pipermail/proj/attachments/20190924/31fe114e/attachment.txt>


More information about the PROJ mailing list