You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@avro.apache.org by "Martin Tzvetanov Grigorov (Jira)" <ji...@apache.org> on 2022/10/21 06:30:00 UTC

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

     [ https://issues.apache.org/jira/browse/AVRO-3650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Tzvetanov Grigorov resolved AVRO-3650.
---------------------------------------------
    Fix Version/s: 1.12.0
         Assignee: John McClean
       Resolution: Fixed

> 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
>            Assignee: John McClean
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.12.0
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> 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)