Compilation Error while generating code using route_guide.proto gRPC-java

1,895 views
Skip to first unread message

muthu....@gmail.com

unread,
Mar 21, 2016, 12:59:39 PM3/21/16
to grpc.io
Hi, 

My environment is 
- JDK - jdk1.7.0_67
- OS - windows-x86_64

Any clue on this compilation error ? I am using the same .proto as here - https://github.com/grpc/grpc-java/blob/master/examples/src/main/proto/route_guide.



Scanning for projects...
------------------------------------------------------------------------
Detecting the operating system and CPU architecture
------------------------------------------------------------------------
os.detected.arch: x86_64
os.detected.classifier: windows-x86_64
                                                                        
------------------------------------------------------------------------
Building experiments 1.0-SNAPSHOT
------------------------------------------------------------------------

--- protobuf-maven-plugin:0.5.0:compile (default) @ experiments ---
Compiling 1 proto file(s) to C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java

--- protobuf-maven-plugin:0.5.0:compile-custom (default) @ experiments ---
Compiling 1 proto file(s) to C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\grpc-java

--- maven-resources-plugin:2.6:resources (default-resources) @ experiments ---
Using 'UTF-8' encoding to copy filtered resources.
Copying 5 resources
Copying 1 resource
Copying 1 resource

--- maven-compiler-plugin:2.5.1:compile (default-compile) @ experiments ---
Compiling 107 source files to C:\Users\muthu\Documents\NetBeansProjects\experiments\target\classes
-------------------------------------------------------------
COMPILATION ERROR : 
-------------------------------------------------------------
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Feature.java:[51,38] error: cannot find symbol
  symbol:   method readStringRequireUtf8()
  location: variable input of type CodedInputStream
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Feature.java:[181,42] error: cannot find symbol
  symbol:   method writeString(CodedOutputStream,int,Object)
  location: class GeneratedMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Feature.java:[189,15] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Feature.java:[194,50] error: cannot find symbol
  symbol:   method computeStringSize(int,Object)
  location: class GeneratedMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Feature.java:[200,4] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Feature.java:[482,2] error: cannot find symbol
  symbol:   method checkByteStringIsUtf8(ByteString)
  location: class Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Feature.java:[641,25] error: setUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.Feature.Builder cannot override setUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Feature.java:[646,25] error: mergeUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.Feature.Builder cannot override mergeUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Point.java:[126,15] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Point.java:[138,4] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Point.java:[382,25] error: setUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.Point.Builder cannot override setUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Point.java:[387,25] error: mergeUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.Point.Builder cannot override mergeUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Rectangle.java:[186,15] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Rectangle.java:[198,4] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Rectangle.java:[710,25] error: setUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.Rectangle.Builder cannot override setUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\Rectangle.java:[715,25] error: mergeUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.Rectangle.Builder cannot override mergeUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteSummary.java:[178,15] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteSummary.java:[198,4] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteSummary.java:[554,25] error: setUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.RouteSummary.Builder cannot override setUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteSummary.java:[559,25] error: mergeUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.RouteSummary.Builder cannot override mergeUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteNote.java:[63,38] error: cannot find symbol
  symbol:   method readStringRequireUtf8()
  location: variable input of type CodedInputStream
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteNote.java:[183,42] error: cannot find symbol
  symbol:   method writeString(CodedOutputStream,int,Object)
  location: class GeneratedMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteNote.java:[188,15] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteNote.java:[197,50] error: cannot find symbol
  symbol:   method computeStringSize(int,Object)
  location: class GeneratedMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteNote.java:[199,4] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteNote.java:[633,2] error: cannot find symbol
  symbol:   method checkByteStringIsUtf8(ByteString)
  location: class Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteNote.java:[639,25] error: setUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.RouteNote.Builder cannot override setUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\RouteNote.java:[644,25] error: mergeUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.RouteNote.Builder cannot override mergeUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\FeatureDatabase.java:[137,15] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\FeatureDatabase.java:[145,4] error: memoizedSize has private access in AbstractMessage
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\FeatureDatabase.java:[606,25] error: setUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.FeatureDatabase.Builder cannot override setUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
  overridden method is final
  where BuilderType is a type-variable:
    BuilderType extends com.google.protobuf.GeneratedMessage.Builder declared in class com.google.protobuf.GeneratedMessage.Builder
C:\Users\muthu\Documents\NetBeansProjects\experiments\target\generated-sources\protobuf\java\grpcexplore\io\grpc\examples\routeguide\FeatureDatabase.java:[611,25] error: mergeUnknownFields(UnknownFieldSet) in grpcexplore.io.grpc.examples.routeguide.FeatureDatabase.Builder cannot override mergeUnknownFields(UnknownFieldSet) in com.google.protobuf.GeneratedMessage.Builder
32 errors 
-------------------------------------------------------------
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 7.491 s
Finished at: 2016-03-21T22:13:08+05:30
Final Memory: 23M/304M
------------------------------------------------------------------------

Eric Anderson

unread,
Mar 21, 2016, 1:09:07 PM3/21/16
to muthu....@gmail.com, grpc.io
None of those errors are related to grpc; protoc/protobuf itself is failing. This is most likely caused by using a different version of protoc than the protobuf runtime dependency. Make sure the version in <protocArtifact> matches the protobuf version in <dependency>.

If you don't have a direct dependency on protobuf then you are probably pulling it in via gRPC. You would need to use the appropriate <protocArtifact> given the version of grpc you are depending on. For grpc-java 0.13.2 that would be protoc 3.0.0-beta-2.

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/94a0b2ff-1575-4ef3-ab1a-9112d4fb4b25%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

muthu....@gmail.com

unread,
Mar 21, 2016, 3:05:55 PM3/21/16
to grpc.io, muthu....@gmail.com
Thanks for a quick and clear response Eric. 

You are right that I do not add direct dependency for protobuf and I depend upon gRPC to pull it 

Only dependency which I add in pom is 

    <dependency>
      <groupId>io.grpc</groupId>
      <artifactId>grpc-all</artifactId>
      <version>0.13.2</version>
    </dependency>

And in build I use following ( <protocArtifact>com.google.protobuf:protoc:3.0.0-beta-2:exe:${os.detected.classifier}</protocArtifact> ). Am I missing anything else ?

<build>
  <extensions>
    <extension>
      <groupId>kr.motd.maven</groupId>
      <artifactId>os-maven-plugin</artifactId>
      <version>1.4.1.Final</version>
    </extension>
  </extensions>
  <plugins>
    <plugin>
      <groupId>org.xolstice.maven.plugins</groupId>
      <artifactId>protobuf-maven-plugin</artifactId>
      <version>0.5.0</version>
      <configuration>
        <!--
          The version of protoc must match protobuf-java. If you don't depend on
          protobuf-java directly, you will be transitively depending on the
          protobuf-java version that grpc depends on.
        -->
        <protocArtifact>com.google.protobuf:protoc:3.0.0-beta-2:exe:${os.detected.classifier}</protocArtifact>
        <pluginId>grpc-java</pluginId>
        <pluginArtifact>io.grpc:protoc-gen-grpc-java:0.13.2:exe:${os.detected.classifier}</pluginArtifact>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>compile</goal>
            <goal>compile-custom</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>


Regards
Muthu

Eric Anderson

unread,
Mar 21, 2016, 3:12:01 PM3/21/16
to Muthukumaran Kothandaraman, grpc.io
Hmmm... Okay. Yeah, all that looks right. Maybe you have another dependency that is bringing in protobuf?

Try running "mvn dependency:tree" to see what version of protobuf is actually being used.

If all else fails you could ignore the problem and add an explicit dependency on protobuf.

--
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+unsubscribe@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.

muthu....@gmail.com

unread,
Mar 22, 2016, 2:50:34 AM3/22/16
to grpc.io, muthu....@gmail.com
You were spot-on Eric ! 

Just created a separate project and it worked. Can now start exploring more. 

Thanks 
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.

To post to this group, send email to grp...@googlegroups.com.

ling...@gmail.com

unread,
Apr 20, 2017, 1:23:47 AM4/20/17
to grpc.io, muthu....@gmail.com

What does this error mean?

The "Cannot find symbol" errors generally occur when you try to reference an undeclared variable in your code. A "Cannot find symbol" error means that the compiler cannot do this. Your code appears to be referring to something that the compiler doesn't understand.

What things can cause this error?

The general causes for a Cannot find symbol error are things like:

  • Incorrect spelling.

  • Wrong case. Halo is different from halo.

  • Improper use of acceptable identifier values (letters, numbers, underscore, dollar sign), my-class is not the same as myclass.

  • No variable declaration or variable is outside of the scope you are referencing it in.

More about...cannot find symbol Error

Reply all
Reply to author
Forward
0 new messages