Hi,

I have a C# project, that uses Protobuf like this (In fact it uses GRPC 
with Protobuf being part of it):
  <ItemGroup>
    <PackageReference Include="Google.Protobuf" Version="3.12.0" />
    <PackageReference Include="Grpc" Version="2.29.0" />
    <PackageReference Include="Grpc.Tools" Version="2.29.0" PrivateAssets=
"All" />
  </ItemGroup>

  <ItemGroup>
    <Protobuf Include="../../proto/Protofile1.proto" />
    <Protobuf Include="../../proto/Protofile2.proto" />
    <Protobuf Include="../../proto/Protofile3.proto" />
  </ItemGroup>

When I build on amd64, everything works perfectly.

I now want to compile exactly the same project for ARM on my Raspberry x64.
If just executing dotnet restore, I get 

>  Google.Protobuf.Tools cannot determine host OS and CPU.
>

So I specify
ENV PROTOBUF_TOOLS_OS=linux
ENV PROTOBUF_TOOLS_CPU=x64

and get

> The specified task executable 
> "/root/.nuget/packages/grpc.tools/2.29.0/tools/linux_x64/protoc"
>
when building.
(Note that I am building inside Docker - on the Raspberry or cross on my 
amd64, its the same)
(I maybe should ask in the GRPC group instead?)

So I run the build container manually and did
dotnet add myproj package Google.Protobuf
dotnet add myproj package Grpc
dotnet add myproj package Grpc.Tools
which provides me the protoc inside the container.
When trying to execute this protoc, it says "Exec format error". So it 
seems, that not an ARM version has been pulled.

Doing the same on the Raspberry directly without Docker has the same effect.

Has anybody any idea of what I am doing wrong?
Is it possible to pull an ARM nuget package?

Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/d9df24db-9d67-49bb-9bae-c409a9bcc5fdo%40googlegroups.com.

Reply via email to