title: Cannot run gRPC protoc in alpine based dotnet SDK
body: <p>See this github issue: <a href="https://github.com/grpc/grpc/issues/18338" rel="noreferrer">https://github.com/grpc/grpc/issues/18338</a></p>
  
  <p>See this example repo: <a href="https://github.com/slolife/alpine-protoc" rel="noreferrer">https://github.com/slolife/alpine-protoc</a></p>
  
  <p>If I include the <strong>Grpc.Tools 1.19.0</strong> nuget package in a project, which adds a build step <code>&lt;Protobuf Include="Test.proto" /&gt;</code></p>
  
  <p>This works fine if I create a docker image to build and use the <code>microsoft/dotnet:2.2-sdk</code> as the build image.  However, if I try to use the alpine based <code>microsoft/dotnet:2.2-sdk-alpine</code> build image, the build fails with the following error message:</p>
  
  <p><code>/root/.nuget/packages/grpc.tools/1.19.0/build/_protobuf/Google.Protobuf.Tools.targets(263,5): error MSB6003: The specified task executable "/root/.nuget/packages/grpc.tools/1.19.0/tools/linux_x64/protoc" could not be run. No such file or directory [/src/alpine-protoc.csproj]</code></p>
  
  <p>I confirmed that the <code>protoc</code> file is in the location that the error message is complaining about.</p>
  
  <p>I tried running <code>apk add libc6-compat</code> and re-running the build. This time I got the following error:</p>
  
  <p><code>/root/.nuget/packages/grpc.tools/1.19.0/build/_protobuf/Google.Protobuf.Tools.targets(263,5): error MSB6006
  : "/root/.nuget/packages/grpc.tools/1.19.0/tools/linux_x64/protoc" exited with code 139. [/src/alpine-proto
  c.csproj]</code></p>
  
  <hr>
  
  <p>Update:
  Output from <code>ldd protoc</code></p>
  
  <pre><code>~/.nuget/packages/grpc.tools/1.19.0/tools/linux_x64 # ldd protoc
  /lib64/ld-linux-x86-64.so.2 (0x7f60935a7000)
  libm.so.6 =&gt; /lib64/ld-linux-x86-64.so.2 (0x7f60935a7000)
  libpthread.so.0 =&gt; /lib64/ld-linux-x86-64.so.2 (0x7f60935a7000)
  libc.so.6 =&gt; /lib64/ld-linux-x86-64.so.2 (0x7f60935a7000)
  </code></pre>