grpc-java build failure

659 views
Skip to first unread message

joseph....@gmail.com

unread,
May 16, 2019, 2:22:23 PM5/16/19
to grpc.io
While attempting to build/install grpc-java I ran into the following failure:

> gradle installDist --stacktrace

> Configure project :grpc-compiler
*** Building codegen requires Protobuf version 3.7.1
*** Please refer to https://github.com/grpc/grpc-java/blob/master/COMPILING.md#how-to-build-code-generation-plugin

> Task :grpc-compiler:compileJava_pluginExecutableJava_pluginCpp FAILED
java_generator.cpp
c:\users\jo24447\workspace\grpc\grpc-java-master\compiler\src\java_plugin\cpp\java_generator.h(8): fatal error C1083: Cannot open include file: 'google/protobuf/io/zero_copy_stream.h': No such file or directory

java_generator.h
C:\Users\jo24447\workspace\gRPC\grpc-java-master\compiler\src\java_plugin\cpp\java_generator.h(8): fatal error C1083: Cannot open include file: 'google/protobuf/io/zero_copy_stream.h': No such file or directory

java_plugin.cpp
c:\users\jo24447\workspace\grpc\grpc-java-master\compiler\src\java_plugin\cpp\java_generator.h(8): fatal error C1083: Cannot open include file: 'google/protobuf/io/zero_copy_stream.h': No such file or directory


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':grpc-compiler:compileJava_pluginExecutableJava_pluginCpp'.
> Multiple build operations failed.
      C++ compiler failed while compiling java_generator.cpp.
      C++ compiler failed while compiling java_generator.h.
      C++ compiler failed while compiling java_plugin.cpp.
  See the complete log at: file:///C:/Users/jo24447/workspace/gRPC/grpc-java-master/compiler/build/tmp/compileJava_pluginExecutableJava_pluginCpp/output.txt

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':grpc-compiler:compileJava_pluginExecutableJava_pluginCpp'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
        at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
        at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
        at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: org.gradle.internal.operations.MultipleBuildOperationFailures: Multiple build operations failed.
    C++ compiler failed while compiling java_generator.cpp.
    C++ compiler failed while compiling java_generator.h.
    C++ compiler failed while compiling java_plugin.cpp.
See the complete log at: file:///C:/Users/jo24447/workspace/gRPC/grpc-java-master/compiler/build/tmp/compileJava_pluginExecutableJava_pluginCpp/output.txt
        at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion(DefaultBuildOperationQueue.java:134)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.executeInParallel(DefaultBuildOperationExecutor.java:137)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:119)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.runAll(DelegatingBuildOperationExecutor.java:46)
        at org.gradle.nativeplatform.toolchain.internal.AbstractCompiler$1.run(AbstractCompiler.java:57)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:198)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withoutProjectLock(DefaultWorkerLeaseService.java:147)
        at org.gradle.internal.work.StopShieldingWorkerLeaseService.withoutProjectLock(StopShieldingWorkerLeaseService.java:83)
        at org.gradle.nativeplatform.toolchain.internal.AbstractCompiler.execute(AbstractCompiler.java:54)
        at org.gradle.nativeplatform.toolchain.internal.NativeCompiler.execute(NativeCompiler.java:53)
        at org.gradle.nativeplatform.toolchain.internal.NativeCompiler.execute(NativeCompiler.java:36)
        at org.gradle.nativeplatform.toolchain.internal.OutputCleaningCompiler.compileSources(OutputCleaningCompiler.java:49)
        at org.gradle.nativeplatform.toolchain.internal.OutputCleaningCompiler.execute(OutputCleaningCompiler.java:41)
        at org.gradle.nativeplatform.toolchain.internal.OutputCleaningCompiler.execute(OutputCleaningCompiler.java:26)
        at org.gradle.language.base.internal.compile.VersionAwareCompiler.execute(VersionAwareCompiler.java:34)
        at org.gradle.language.nativeplatform.internal.incremental.IncrementalNativeCompiler.doCleanIncrementalCompile(IncrementalNativeCompiler.java:119)
        at org.gradle.language.nativeplatform.internal.incremental.IncrementalNativeCompiler.execute(IncrementalNativeCompiler.java:59)
        at org.gradle.language.nativeplatform.internal.incremental.IncrementalNativeCompiler.execute(IncrementalNativeCompiler.java:37)
        at org.gradle.nativeplatform.internal.BuildOperationLoggingCompilerDecorator.execute(BuildOperationLoggingCompilerDecorator.java:38)
        at org.gradle.nativeplatform.internal.BuildOperationLoggingCompilerDecorator.execute(BuildOperationLoggingCompilerDecorator.java:22)
        at org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask.doCompile(AbstractNativeCompileTask.java:150)
        at org.gradle.language.nativeplatform.tasks.AbstractNativeCompileTask.compile(AbstractNativeCompileTask.java:139)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
        ... 31 more
Caused by: org.gradle.nativeplatform.toolchain.internal.CommandLineToolInvocationFailure: C++ compiler failed while compiling java_generator.cpp.
        at org.gradle.nativeplatform.toolchain.internal.DefaultCommandLineToolInvocationWorker.execute(DefaultCommandLineToolInvocationWorker.java:88)
        at org.gradle.nativeplatform.toolchain.internal.DefaultCommandLineToolInvocationWorker.execute(DefaultCommandLineToolInvocationWorker.java:32)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.access$900(DefaultBuildOperationExecutor.java:48)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$ParentPreservingQueueWorker.execute(DefaultBuildOperationExecutor.java:342)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation(DefaultBuildOperationQueue.java:230)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.access$600(DefaultBuildOperationQueue.java:172)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable$1.call(DefaultBuildOperationQueue.java:209)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable$1.call(DefaultBuildOperationQueue.java:203)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:154)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch(DefaultBuildOperationQueue.java:203)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run(DefaultBuildOperationQueue.java:177)
        ... 3 more


* Get more help at https://help.gradle.org

BUILD FAILED in 4s
48 actionable tasks: 1 executed, 47 up-to-date


It appears that something in Google Protobuf is missing. What needs to be done to resolve this? Why is it "missing"?

chengyu...@google.com

unread,
May 17, 2019, 12:17:44 AM5/17/19
to grpc.io
Please follow instructions here to build the codegen plugin before building grpc-java

joseph....@gmail.com

unread,
May 21, 2019, 7:27:10 AM5/21/19
to grpc.io
I have reviewed the instructions and immediately note that this is intended to be done on a *nix platform. I am running in Windows 10. How would I go about building this on that platform?

chengyu...@google.com

unread,
May 21, 2019, 2:41:52 PM5/21/19
to grpc.io
This should also work for Windows. There are sections (for Visual C++ and MinGW) about special notes for Windows users in that compiling guide.

Eric Anderson

unread,
May 21, 2019, 2:42:18 PM5/21/19
to joseph....@gmail.com, grpc.io
Most users have no need to compile/build grpc-java directly. The document linked to earlier states at the beginning: "Building is only necessary if you are making changes to gRPC-Java or testing/using a non-released version (e.g. master HEAD) of gRPC-Java library."

We have pre-built binaries for the java code and protoc on Maven Central. We have made sure there are protoc plugins for Maven and Gradle to make using grpc easy.

So to start, you either:
1. Follow the README to add gRPC to a project you've already made
2. Follow the tutorials which have pre-built project, complete with Maven and Gradle configuration

In neither case do you need to compile protoc or grpc-java itself. It's important when using the tutorials to download a release and not master. The tutorials instruct you to clone at a particular release, but it sounds like you downloaded it manually. Downloading a .zip from the release page would work fine; download the zip, extract it, change directory to grpc-java-1.20.0/examples, and then continue with the tutorial.

If you want/need to build grpc itself, the COMPILING.md referenced earlier does describe how. Look for mentions of MinGW and Visual C++, depending on which way you want to build on Windows 10. I think we are using VS 2015 for our official release.

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/c947cc19-8f00-4d1b-a4b0-5032bc2206fc%40googlegroups.com.

Eric Anderson

unread,
May 21, 2019, 4:02:41 PM5/21/19
to joseph....@gmail.com, grpc.io
On Tue, May 21, 2019 at 11:42 AM Eric Anderson <ej...@google.com> wrote:
If you want/need to build grpc itself, the COMPILING.md referenced earlier does describe how. Look for mentions of MinGW and Visual C++, depending on which way you want to build on Windows 10. I think we are using VS 2015 for our official release.

Oh, also. Commonly you don't need to compile protoc even when building grpc itself. See the mention of skipCodegen=true in COMPILING.md.
Reply all
Reply to author
Forward
0 new messages