Skip to content

Conversation

@adrian-wang
Copy link
Contributor

SPARK-6440 #5424 import guava but did not promote guava dependency to compile level.

[INFO] compiler plugin: BasicArtifact(org.scalamacros,paradise_2.10.4,2.0.1,null)
[info] Compiling 8 Scala sources to /root/projects/spark/sql/hive-thriftserver/target/scala-2.10/classes...
[error] bad symbolic reference. A signature in Utils.class refers to term util
[error] in package com.google.common which is not available.
[error] It may be completely missing from the current classpath, or the version on
[error] the classpath might be incompatible with the version used when compiling Utils.class.
[error]
[error] while compiling: /root/projects/spark/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/SparkSQLEnv.scala
[error] during phase: erasure
[error] library version: version 2.10.4
[error] compiler version: version 2.10.4
[error] reconstructed args: -deprecation -classpath

@SparkQA
Copy link

SparkQA commented Apr 14, 2015

Test build #30229 has finished for PR 5507 at commit c337dad.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.
  • This patch does not change any dependencies.

@WangTaoTheTonic
Copy link
Contributor

Hey Daoyuan, I got same error but don't know why it acted like this. Changing the dependency scope seems like a solution. But could you please do some explaination in favor? Will appreciate it very much.

@adrian-wang
Copy link
Contributor Author

#5424 just add reference of Utils class to Hive-thriftserver project, and Guava is a dependency of Utils class. normally maven would add all dependencies of dependencies to current project, but if we explicitly specify scope of the dependency, maven's behavior would be overwrite. So we need to remove this line.

@srowen
Copy link
Member

srowen commented Apr 14, 2015

I think this is correct -- I suppose Jenkins doesn't build this module so didn't catch it? Anytime Guava deps are touched I CC @vanzin just in case.

@vanzin
Copy link
Contributor

vanzin commented Apr 14, 2015

If the code references Guava directly, compile is the right thing. It it doesn't, Guava shouldn't be declared. I don't see any Guava references in my tree, so maybe just remove it?

If something has been added since I last pulled, then this is the correct fix.

@vanzin
Copy link
Contributor

vanzin commented Apr 14, 2015

BTW, IIRC this dependency was added because some weirdness with maven picking up Hive's version of Guava and breaking things... so perhaps compile is the correct here scope after all. So LGTM.

@adrian-wang
Copy link
Contributor Author

@srowen

@asfgit asfgit closed this in 29aabdd Apr 15, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants