You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "John McClean (Jira)" <ji...@apache.org> on 2022/10/19 23:03:00 UTC

[jira] [Created] (AVRO-3650) Fix C++ Build on Manjaro

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)