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

[Bug]: Problem using abseil on Macos with C++14 only. #1483

Closed
KerstinKeller opened this issue Jun 23, 2023 · 2 comments
Closed

[Bug]: Problem using abseil on Macos with C++14 only. #1483

KerstinKeller opened this issue Jun 23, 2023 · 2 comments

Comments

@KerstinKeller
Copy link

Describe the issue

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?

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?

@derekmauro
Copy link
Member

We do not maintain the homebrew package. From a quick Google search it looks like this is the recipe https://github.com/Homebrew/homebrew-core/blob/master/Formula/abseil.rb, and it is forcing C++17 on its users. We can't help you with this.

@derekmauro derekmauro closed this as not planned Won't fix, can't repro, duplicate, stale Jun 26, 2023
@JLP04
Copy link

JLP04 commented Jun 28, 2023

Maybe open a ticket on homebrew/homebrew-core

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants