John McClean created AVRO-3650:
----------------------------------

             Summary: Fix C++ Build on Manjaro
                 Key: AVRO-3650
                 URL: https://issues.apache.org/jira/browse/AVRO-3650
             Project: Apache Avro
          Issue Type: Bug
            Reporter: John McClean


Manjaro has a recent version of boost, which results in this.
{quote}[ 19%] Building CXX object 
CMakeFiles/avrocpp.dir/impl/parsing/JsonCodec.cc.o
In file included from /usr/include/boost/math/tools/real_cast.hpp:9,
                 from 
/usr/include/boost/math/special_functions/fpclassify.hpp:17,
                 from 
/home/john/third-party/avro/lang/c++/impl/parsing/JsonCodec.cc:20:
/usr/include/boost/math/tools/config.hpp:23:6: error: #warning "The minimum 
language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 
1.82 release)" [-Werror=cpp]
   23 | #    warning "The minimum language standard to use Boost.Math will be 
C++14 starting in July 2023 (Boost 1.82 release)"
      |      ^~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/avrocpp.dir/build.make:328: 
CMakeFiles/avrocpp.dir/impl/parsing/JsonCodec.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:129: CMakeFiles/avrocpp.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
{quote}
In addition, once C++14 is used, the list of cpp keywords needs to be updated 
to include 'constinit'.
{quote}[ 98%] Building CXX object 
CMakeFiles/AvrogencppTestReservedWords.dir/test/AvrogencppTestReservedWords.cc.o
In file included from 
/home/john/third-party/avro/lang/c++/test/AvrogencppTestReservedWords.cc:18:
/home/john/third-party/avro/lang/c++/build/cpp_reserved_words.hh:57:17: error: 
identifier ‘constinit’ is a keyword in C++20 [-Werror=c++20-compat]
   57 |     std::string constinit;
      |                 ^~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/AvrogencppTestReservedWords.dir/build.make:76: 
CMakeFiles/AvrogencppTestReservedWords.dir/test/AvrogencppTestReservedWords.cc.o]
 Error 1
make[1]: *** [CMakeFiles/Makefile2:951: 
CMakeFiles/AvrogencppTestReservedWords.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
{quote}
I'll put in a PR.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to