Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C++20 Old Protobuf version #150

Open
rojikada opened this issue Feb 22, 2023 · 1 comment
Open

C++20 Old Protobuf version #150

rojikada opened this issue Feb 22, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@rojikada
Copy link

Description

Hello, could you please update protobuffers version, so C++20 is supported without the compilation errors? I currently get many warnings such as:

[build] In file included from /app/lib/kortex-2.5.0/api_cpp/examples/kortex_api/include/messages/Frame.pb.h:25,
[build]                  from /app/lib/kortex-2.5.0/api_cpp/examples/kortex_api/include/client_stubs/BaseClientRpc.h:9,
[build]                  from /app/include/kortex_controller.h:1,
[build]                  from /app/include/robot_controller.h:5,
[build]                  from /app/src/main.cpp:10:
[build] /app/lib/kortex-2.5.0/api_cpp/examples/kortex_api/include/google/protobuf/generated_message_table_driven.h:187:20: warning: ‘template<class _Tp> struct std::is_pod’ is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
[build]   187 | static_assert(std::is_pod<ParseTableField>::value, "");
[build]       |                    ^~~~~~
[build] In file included from /usr/include/c++/10/ratio:39,
[build]                  from /usr/include/c++/10/chrono:39,
[build]                  from /usr/include/c++/10/thread:43,
[build]                  from /app/src/main.cpp:1:
[build] /usr/include/c++/10/type_traits:697:5: note: declared here
[build]   697 |     is_pod
[build]       |     ^~~~~~
[build] In file included from /app/lib/kortex-2.5.0/api_cpp/examples/kortex_api/include/messages/Frame.pb.h:25,
[build]                  from /app/lib/kortex-2.5.0/api_cpp/examples/kortex_api/include/client_stubs/BaseClientRpc.h:9,
[build]                  from /app/include/kortex_controller.h:1,
[build]                  from /app/include/robot_controller.h:5,
[build]                  from /app/src/main.cpp:10:
[build] /app/lib/kortex-2.5.0/api_cpp/examples/kortex_api/include/google/protobuf/generated_message_table_driven.h:188:20: warning: ‘template<class _Tp> struct std::is_pod’ is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
[build]   188 | static_assert(std::is_pod<AuxillaryParseTableField>::value, "");
[build]       |                    ^~~~~~

It seems to be caused by the usage of old protocol buffers library (issue here). I need to use C++20 as I am using jthread and some other stuff that is available in C++20.

Version

At a minimum, provide the Kortex API and Kortex-enabled device versions.

KortexAPI : 2.5.0

Kortex Device : ... irrelevant

Steps to reproduce

  1. Build a program with
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

in CMakeLists.txt.

Expected behavior

I expect not to get such warnings as they clutter the console, so it is annoying to go through. I currently did not find any way to stop those using CMakeLists.txt.

@felixmaisonneuve
Copy link
Contributor

Hi @rojikada,

The Kortex API is compiled using an old version of protobuf and it is not planned at the moment to upgrade to a newer protobuf version.

If you ask me, we will have, at some point, to uprade our API to a more recent protobuf version. We already are having issues with Python3.10, and now C++20. For sure, this feature will be essential if we want to continue selling this product.

Unfortunately, I do not have a timeline to give you at the moment.

I will leave the issue opened and update it whenever there is progress about this.

Best Regards,
Felix

@felixmaisonneuve felixmaisonneuve added the enhancement New feature or request label Feb 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants