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

Solution does not build on Apple Silicon (M1) #2962

Closed
TylerHelmuth opened this issue Mar 2, 2022 · 0 comments · Fixed by #2963
Closed

Solution does not build on Apple Silicon (M1) #2962

TylerHelmuth opened this issue Mar 2, 2022 · 0 comments · Fixed by #2963
Labels
bug Something isn't working

Comments

@TylerHelmuth
Copy link
Member

Bug Report

Symptom

Latest from main is unable to build on an Apple M1.

What is the expected behavior?

That new contributors on Apple M1 computers would be able to build the solution

What is the actual behavior?

The build fails specifically around Grpc/Protobuf.

Build FAILED.

/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Google.Protobuf.Tools cannot determine host OS and CPU. [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Use environment variables PROTOBUF_TOOLS_OS={linux|macosx|windows} and PROTOBUF_TOOLS_CPU={x86|x64} to try the closest match to your system. [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : You may also set PROTOBUF_PROTOC to specify full path to the host-provided compiler (v3.5+ is required). [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Google.Protobuf.Tools cannot determine host OS and CPU. [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Use environment variables PROTOBUF_TOOLS_OS={linux|macosx|windows} and PROTOBUF_TOOLS_CPU={x86|x64} to try the closest match to your system. [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : You may also set PROTOBUF_PROTOC to specify full path to the host-provided compiler (v3.5+ is required). [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Google.Protobuf.Tools cannot determine host OS and CPU. [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Use environment variables PROTOBUF_TOOLS_OS={linux|macosx|windows} and PROTOBUF_TOOLS_CPU={x86|x64} to try the closest match to your system. [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : You may also set PROTOBUF_PROTOC to specify full path to the host-provided compiler (v3.5+ is required). [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Google.Protobuf.Tools cannot determine host OS and CPU. [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Use environment variables PROTOBUF_TOOLS_OS={linux|macosx|windows} and PROTOBUF_TOOLS_CPU={x86|x64} to try the closest match to your system. [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : You may also set PROTOBUF_PROTOC to specify full path to the host-provided compiler (v3.5+ is required). [/Users/thelmuth/Projects/opentelemetry-dotnet/src/OpenTelemetry.Exporter.OpenTelemetryProtocol/OpenTelemetry.Exporter.OpenTelemetryProtocol.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Google.Protobuf.Tools cannot determine host OS and CPU. [/Users/thelmuth/Projects/opentelemetry-dotnet/test/OpenTelemetry.Instrumentation.Grpc.Tests/OpenTelemetry.Instrumentation.Grpc.Tests.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Use environment variables PROTOBUF_TOOLS_OS={linux|macosx|windows} and PROTOBUF_TOOLS_CPU={x86|x64} to try the closest match to your system. [/Users/thelmuth/Projects/opentelemetry-dotnet/test/OpenTelemetry.Instrumentation.Grpc.Tests/OpenTelemetry.Instrumentation.Grpc.Tests.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : You may also set PROTOBUF_PROTOC to specify full path to the host-provided compiler (v3.5+ is required). [/Users/thelmuth/Projects/opentelemetry-dotnet/test/OpenTelemetry.Instrumentation.Grpc.Tests/OpenTelemetry.Instrumentation.Grpc.Tests.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.27.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Google.Protobuf.Tools cannot determine host OS and CPU. [/Users/thelmuth/Projects/opentelemetry-dotnet/examples/GrpcService/Examples.GrpcService.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.27.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Use environment variables PROTOBUF_TOOLS_OS={linux|macosx|windows} and PROTOBUF_TOOLS_CPU={x86|x64} to try the closest match to your system. [/Users/thelmuth/Projects/opentelemetry-dotnet/examples/GrpcService/Examples.GrpcService.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.27.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : You may also set PROTOBUF_PROTOC to specify full path to the host-provided compiler (v3.5+ is required). [/Users/thelmuth/Projects/opentelemetry-dotnet/examples/GrpcService/Examples.GrpcService.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Google.Protobuf.Tools cannot determine host OS and CPU. [/Users/thelmuth/Projects/opentelemetry-dotnet/test/OpenTelemetry.Instrumentation.Grpc.Tests/OpenTelemetry.Instrumentation.Grpc.Tests.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : Use environment variables PROTOBUF_TOOLS_OS={linux|macosx|windows} and PROTOBUF_TOOLS_CPU={x86|x64} to try the closest match to your system. [/Users/thelmuth/Projects/opentelemetry-dotnet/test/OpenTelemetry.Instrumentation.Grpc.Tests/OpenTelemetry.Instrumentation.Grpc.Tests.csproj]
/Users/thelmuth/.nuget/packages/grpc.tools/2.25.0/build/_protobuf/Google.Protobuf.Tools.targets(84,5): error : You may also set PROTOBUF_PROTOC to specify full path to the host-provided compiler (v3.5+ is required). [/Users/thelmuth/Projects/opentelemetry-dotnet/test/OpenTelemetry.Instrumentation.Grpc.Tests/OpenTelemetry.Instrumentation.Grpc.Tests.csproj]
    0 Warning(s)
    7 Error(s)

Reproduce

On an M1 mac:

  1. download latest from main
  2. run dotnet build
  3. Observe build fails.

Additional Context

I have already solved this problem by updating several Grpc packages. Will submit a PR for this issue shortly.

@TylerHelmuth TylerHelmuth added the bug Something isn't working label Mar 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant