You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our eCAL project is using github actions to do CI.
With the newest available MacOS Tag (20230516.1), using abseil https://ghcr.io/v2/homebrew/core/abseil/manifests/20230125.3-1 and protobuf https://ghcr.io/v2/homebrew/core/protobuf/manifests/23.3 (e.g. most recent release)
we cannot use protobuf in our project anymore, as it leads to build problems:
In file included from /Users/runner/work/ecal/ecal/contrib/ecalproto/src/ecal_proto_decoder.cpp:24:
In file included from /Users/runner/work/ecal/ecal/contrib/ecalproto/include/ecal/protobuf/ecal_proto_decoder.h:29:
In file included from /usr/local/include/google/protobuf/message.h:119:
In file included from /usr/local/include/google/protobuf/arena.h:54:
In file included from /usr/local/include/google/protobuf/port.h:50:
In file included from /usr/local/include/absl/types/optional.h:39:
/usr/local/include/absl/utility/utility.h:164:12: error: no member named 'in_place_t' in namespace 'std'
using std::in_place_t;
~~~~~^
Now the question is: I though that to use the abseil library, one only needs to have C++14? However as std::in_place_t is C++17, I guess otherwise?
Or do we need to enable C++17 compile features, if the compiler supports it?
It's a bit unclear to me, wether this is an abseil issue, a protobuf issue, or in the end a CMake issue.
Our build activates only the C++14 standard, and we assume that the dependencies support this, as well.
From my understanding, if the C++17 flags are not passed to the compiler, I should be able to use the abseil library in C++14 "mode"? Or is this rather tied to the compiler, and its capabilities?
The text was updated successfully, but these errors were encountered:
Describe the issue
Our eCAL project is using github actions to do CI.
With the newest available MacOS Tag (
20230516.1
), using abseilhttps://ghcr.io/v2/homebrew/core/abseil/manifests/20230125.3-1
and protobufhttps://ghcr.io/v2/homebrew/core/protobuf/manifests/23.3
(e.g. most recent release)we cannot use protobuf in our project anymore, as it leads to build problems:
Now the question is: I though that to use the abseil library, one only needs to have C++14? However as
std::in_place_t
is C++17, I guess otherwise?Or do we need to enable C++17 compile features, if the compiler supports it?
Steps to reproduce the problem
See the following eCAL build https://github.com/eclipse-ecal/ecal/actions/runs/5357089900/jobs/9717467948
What version of Abseil are you using?
20230125.3-1
What operating system and version are you using?
Macos 12
What compiler and version are you using?
AppleClang 14.0.0.14000029
What build system are you using?
CMake
Additional context
It's a bit unclear to me, wether this is an abseil issue, a protobuf issue, or in the end a CMake issue.
Our build activates only the C++14 standard, and we assume that the dependencies support this, as well.
From my understanding, if the C++17 flags are not passed to the compiler, I should be able to use the abseil library in C++14 "mode"? Or is this rather tied to the compiler, and its capabilities?
The text was updated successfully, but these errors were encountered: