Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Case insensitive duplicates cause "Could not create directory" #90

Closed
psnively opened this Issue · 5 comments

2 participants

@psnively

steps

scalaVersion := "2.9.1"

assemblySettings

libraryDependencies += "org.apache.avro" % "avro-tools" % "1.7.3"

run assembly

problem

[info] Including: slf4j-api-1.6.4.jar
[info] Including: avro-tools-1.7.3.jar
[info] Including: scala-library-2.9.1.jar
java.lang.RuntimeException: Could not create directory /Users/eed3si9n/work/quick-demo/sbt-01/target/scala-2.9.1/cache/sbt-01/global/assembly/7f177c1f7b4c045cb2735e152d097dfa4f422159_e88a8e05d79d23e898d69a9c4ec40dfd6c5e19d7/META-INF/license: file exists and is not a directory.
    at scala.sys.package$.error(package.scala:27)
    at sbt.IO$.createDirectory(IO.scala:152)
    at sbt.IO$.next$1(IO.scala:211)
    at sbt.IO$.sbt$IO$$extract(IO.scala:230)
    at sbt.IO$$anonfun$unzipStream$1.apply(IO.scala:193)
    at sbt.IO$$anonfun$unzipStream$1.apply(IO.scala:193)
    at sbt.Using.apply(Using.scala:25)
    at sbt.IO$.unzipStream(IO.scala:193)
    at sbt.IO$$anonfun$unzip$1.apply(IO.scala:187)
    at sbt.IO$$anonfun$unzip$1.apply(IO.scala:187)
    at sbt.Using.apply(Using.scala:25)
    at sbt.IO$.unzip(IO.scala:187)
    at sbtassembly.Plugin$$anonfun$20.apply(Plugin.scala:292)
    at sbtassembly.Plugin$$anonfun$20.apply(Plugin.scala:280)

original

Hi Eugene,

Unfortunately, with assembly 0.9.1, I still get the

[trace] Stack trace suppressed: run last *:assembly for the full output.
[error] (*:assembly) Could not create directory /Users/pfsnivel/streaming-poc/target/scala-2.9.3/cache/default-67ed73/global/assembly/dcabbacd64a320454c98eaff0f557a6159cafb50_e88a8e05d79d23e898d69a9c4ec40dfd6c5e19d7/META-INF/license: file exists and is not a directory.

error. The last *:assembly output doesn't add any information to the error message. The license file in question is, in my case, the Apache license... which doesn't help track it down, as we use several components under the Apache license. :-)

Any help would be greatly appreciated!

@eed3si9n
Owner

Could you post relevant part of build.sbt so I can reproduce this? I'd need list of libraryDepenencies and mergeStrategy rewiring if any.

@psnively

Hi Eugene!

There's no mergeStrategy rewiring, but I do exclude zkclient 0.1 from the assembly due to a conflict with a later version. the libraryDependencies in this project are just company-internal dependencies, so here's my "full-classpath" output minus the company-specific stuff:

/Users/pfsnivel/.sbt/0.12.4/boot/scala-2.9.3/lib/scala-library.jar
/Users/pfsnivel/.ivy2/cache/com.typesafe.akka/akka-actor/jars/akka-actor-2.0.4.jar
/Users/pfsnivel/.ivy2/cache/com.typesafe/config/bundles/config-1.0.0.jar
/Users/pfsnivel/.ivy2/cache/com.typesafe.akka/akka-slf4j/jars/akka-slf4j-2.0.4.jar
/Users/pfsnivel/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.0.7.jar
/Users/pfsnivel/.ivy2/cache/ch.qos.logback/logback-core/jars/logback-core-1.0.7.jar
/Users/pfsnivel/.ivy2/cache/net.liftweb/lift-json_2.9.1/jars/lift-json_2.9.1-2.5-RC5.jar
/Users/pfsnivel/.ivy2/cache/org.scala-lang/scalap/jars/scalap-2.9.1.jar
/Users/pfsnivel/.sbt/0.12.4/boot/scala-2.9.3/lib/scala-compiler.jar
/Users/pfsnivel/.ivy2/cache/com.thoughtworks.paranamer/paranamer/jars/paranamer-2.4.1.jar
/Users/pfsnivel/.ivy2/cache/org.apache.avro/avro/jars/avro-1.7.3.jar
/Users/pfsnivel/.ivy2/cache/org.xerial.snappy/snappy-java/bundles/snappy-java-1.0.4.1.jar
/Users/pfsnivel/.ivy2/cache/org.apache.kafka/core_2.9.1/jars/core_2.9.1-0.7.3.jar
/Users/pfsnivel/.ivy2/cache/net.sf.jopt-simple/jopt-simple/jars/jopt-simple-3.2.jar
/Users/pfsnivel/.ivy2/cache/com.github.sgroschupf/zkclient/jars/zkclient-0.1.jar
/Users/pfsnivel/.ivy2/cache/org.apache.zookeeper/zookeeper/jars/zookeeper-3.3.3.jar
/Users/pfsnivel/.ivy2/cache/jline/jline/jars/jline-0.9.94.jar
/Users/pfsnivel/.ivy2/cache/junit/junit/jars/junit-3.8.1.jar
/Users/pfsnivel/.ivy2/cache/org.slf4j/log4j-over-slf4j/jars/log4j-over-slf4j-1.7.5.jar
/Users/pfsnivel/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.5.jar
/Users/pfsnivel/.ivy2/cache/com.101tec/zkclient/jars/zkclient-0.2.jar
/Users/pfsnivel/.ivy2/cache/org.apache.avro/avro-tools/jars/avro-tools-1.7.3.jar
/Users/pfsnivel/.ivy2/cache/org.spark-project/spark-streaming_2.9.3/jars/spark-streaming_2.9.3-0.7.3.jar
/Users/pfsnivel/.ivy2/cache/org.spark-project/spark-core_2.9.3/jars/spark-core_2.9.3-0.7.3.jar
/Users/pfsnivel/.ivy2/cache/org.eclipse.jetty/jetty-server/jars/jetty-server-7.6.8.v20121106.jar
/Users/pfsnivel/.ivy2/cache/org.eclipse.jetty.orbit/javax.servlet/orbits/javax.servlet-2.5.0.v201103041518.jar
/Users/pfsnivel/.ivy2/cache/org.eclipse.jetty/jetty-continuation/jars/jetty-continuation-7.6.8.v20121106.jar
/Users/pfsnivel/.ivy2/cache/org.eclipse.jetty/jetty-http/jars/jetty-http-7.6.8.v20121106.jar
/Users/pfsnivel/.ivy2/cache/org.eclipse.jetty/jetty-io/jars/jetty-io-7.6.8.v20121106.jar
/Users/pfsnivel/.ivy2/cache/org.eclipse.jetty/jetty-util/jars/jetty-util-7.6.8.v20121106.jar
/Users/pfsnivel/.ivy2/cache/com.google.guava/guava/jars/guava-11.0.1.jar
/Users/pfsnivel/.ivy2/cache/com.google.code.findbugs/jsr305/jars/jsr305-1.3.9.jar
/Users/pfsnivel/.ivy2/cache/log4j/log4j/bundles/log4j-1.2.16.jar
/Users/pfsnivel/.ivy2/cache/org.slf4j/slf4j-log4j12/jars/slf4j-log4j12-1.7.2.jar
/Users/pfsnivel/.ivy2/cache/com.ning/compress-lzf/bundles/compress-lzf-0.8.4.jar
/Users/pfsnivel/.ivy2/cache/org.apache.hadoop/hadoop-core/jars/hadoop-core-1.0.4.jar
/Users/pfsnivel/.ivy2/cache/commons-cli/commons-cli/jars/commons-cli-1.2.jar
/Users/pfsnivel/.ivy2/cache/xmlenc/xmlenc/jars/xmlenc-0.52.jar
/Users/pfsnivel/.ivy2/cache/commons-httpclient/commons-httpclient/jars/commons-httpclient-3.0.1.jar
/Users/pfsnivel/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.4.jar
/Users/pfsnivel/.ivy2/cache/org.apache.commons/commons-math/jars/commons-math-2.1.jar
/Users/pfsnivel/.ivy2/cache/commons-configuration/commons-configuration/jars/commons-configuration-1.6.jar
/Users/pfsnivel/.ivy2/cache/commons-collections/commons-collections/jars/commons-collections-3.2.1.jar
/Users/pfsnivel/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.1.jar
/Users/pfsnivel/.ivy2/cache/commons-digester/commons-digester/jars/commons-digester-1.8.jar
/Users/pfsnivel/.ivy2/cache/commons-beanutils/commons-beanutils/jars/commons-beanutils-1.7.0.jar
/Users/pfsnivel/.ivy2/cache/commons-beanutils/commons-beanutils-core/jars/commons-beanutils-core-1.8.0.jar
/Users/pfsnivel/.ivy2/cache/commons-net/commons-net/jars/commons-net-1.4.1.jar
/Users/pfsnivel/.ivy2/cache/oro/oro/jars/oro-2.0.8.jar
/Users/pfsnivel/.ivy2/cache/org.mortbay.jetty/jetty/jars/jetty-6.1.26.jar
/Users/pfsnivel/.ivy2/cache/org.mortbay.jetty/jetty-util/jars/jetty-util-6.1.26.jar
/Users/pfsnivel/.ivy2/cache/tomcat/jasper-runtime/jars/jasper-runtime-5.5.12.jar
/Users/pfsnivel/.ivy2/cache/tomcat/jasper-compiler/jars/jasper-compiler-5.5.12.jar
/Users/pfsnivel/.ivy2/cache/org.mortbay.jetty/jsp-api-2.1/jars/jsp-api-2.1-6.1.14.jar
/Users/pfsnivel/.ivy2/cache/org.mortbay.jetty/servlet-api-2.5/jars/servlet-api-2.5-6.1.14.jar
/Users/pfsnivel/.ivy2/cache/org.mortbay.jetty/jsp-2.1/jars/jsp-2.1-6.1.14.jar
/Users/pfsnivel/.ivy2/cache/org.eclipse.jdt/core/jars/core-3.1.1.jar
/Users/pfsnivel/.ivy2/cache/ant/ant/jars/ant-1.6.5.jar
/Users/pfsnivel/.ivy2/cache/commons-el/commons-el/jars/commons-el-1.0.jar
/Users/pfsnivel/.ivy2/cache/net.java.dev.jets3t/jets3t/jars/jets3t-0.7.1.jar
/Users/pfsnivel/.ivy2/cache/net.sf.kosmosfs/kfs/jars/kfs-0.3.jar
/Users/pfsnivel/.ivy2/cache/hsqldb/hsqldb/jars/hsqldb-1.8.0.10.jar
/Users/pfsnivel/.ivy2/cache/asm/asm-all/jars/asm-all-3.3.1.jar
/Users/pfsnivel/.ivy2/cache/com.google.protobuf/protobuf-java/jars/protobuf-java-2.4.1.jar
/Users/pfsnivel/.ivy2/cache/de.javakaffee/kryo-serializers/bundles/kryo-serializers-0.22.jar
/Users/pfsnivel/.ivy2/cache/com.esotericsoftware.kryo/kryo/jars/kryo-2.20-shaded.jar
/Users/pfsnivel/.ivy2/cache/com.typesafe.akka/akka-remote/jars/akka-remote-2.0.3.jar
/Users/pfsnivel/.ivy2/cache/io.netty/netty/bundles/netty-3.5.3.Final.jar
/Users/pfsnivel/.ivy2/cache/net.debasishg/sjson_2.9.1/jars/sjson_2.9.1-0.15.jar
/Users/pfsnivel/.ivy2/cache/net.databinder/dispatch-json_2.9.1/jars/dispatch-json_2.9.1-0.8.5.jar
/Users/pfsnivel/.ivy2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.1.jar
/Users/pfsnivel/.ivy2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.1.jar
/Users/pfsnivel/.ivy2/cache/org.objenesis/objenesis/jars/objenesis-1.2.jar
/Users/pfsnivel/.ivy2/cache/voldemort.store.compress/h2-lzf/jars/h2-lzf-1.0.jar
/Users/pfsnivel/.ivy2/cache/it.unimi.dsi/fastutil/jars/fastutil-6.4.4.jar
/Users/pfsnivel/.ivy2/cache/colt/colt/jars/colt-1.2.0.jar
/Users/pfsnivel/.ivy2/cache/concurrent/concurrent/jars/concurrent-1.3.4.jar
/Users/pfsnivel/.ivy2/cache/cc.spray/spray-can/jars/spray-can-1.0-M2.1.jar
/Users/pfsnivel/.ivy2/cache/cc.spray/spray-io/jars/spray-io-1.0-M2.1.jar
/Users/pfsnivel/.ivy2/cache/cc.spray/spray-util/jars/spray-util-1.0-M2.1.jar
/Users/pfsnivel/.ivy2/cache/cc.spray/spray-server/jars/spray-server-1.0-M2.1.jar
/Users/pfsnivel/.ivy2/cache/cc.spray/spray-base/jars/spray-base-1.0-M2.1.jar
/Users/pfsnivel/.ivy2/cache/org.jvnet/mimepull/jars/mimepull-1.6.jar
/Users/pfsnivel/.ivy2/cache/org.parboiled/parboiled-scala/jars/parboiled-scala-1.0.2.jar
/Users/pfsnivel/.ivy2/cache/org.parboiled/parboiled-core/jars/parboiled-core-1.0.2.jar
/Users/pfsnivel/.ivy2/cache/com.googlecode.concurrentlinkedhashmap/concurrentlinkedhashmap-lru/jars/concurrentlinkedhashmap-lru-1.2.jar
/Users/pfsnivel/.ivy2/cache/cc.spray/spray-json_2.9.2/jars/spray-json_2.9.2-1.1.1.jar
/Users/pfsnivel/.ivy2/cache/org.apache.mesos/mesos/jars/mesos-0.9.0-incubating.jar
/Users/pfsnivel/.ivy2/cache/io.spray/twirl-api_2.9.2/jars/twirl-api_2.9.2-0.6.1.jar
/Users/pfsnivel/.ivy2/cache/commons-lang/commons-lang/jars/commons-lang-2.6.jar
/Users/pfsnivel/.ivy2/cache/org.apache.flume/flume-ng-sdk/jars/flume-ng-sdk-1.2.0.jar
/Users/pfsnivel/.ivy2/cache/org.apache.avro/avro-ipc/jars/avro-ipc-1.6.3.jar
/Users/pfsnivel/.ivy2/cache/org.codehaus.jackson/jackson-core-asl/jars/jackson-core-asl-1.9.3.jar
/Users/pfsnivel/.ivy2/cache/org.codehaus.jackson/jackson-mapper-asl/jars/jackson-mapper-asl-1.9.3.jar
/Users/pfsnivel/.ivy2/cache/org.jboss.netty/netty/bundles/netty-3.2.7.Final.jar
/Users/pfsnivel/.ivy2/cache/org.apache.velocity/velocity/jars/velocity-1.7.jar
/Users/pfsnivel/.ivy2/cache/commons-io/commons-io/jars/commons-io-2.1.jar
/Users/pfsnivel/.ivy2/cache/org.mortbay.jetty/servlet-api/jars/servlet-api-2.5-20110124.jar
/Users/pfsnivel/.ivy2/cache/org.twitter4j/twitter4j-stream/jars/twitter4j-stream-3.0.3.jar
/Users/pfsnivel/.ivy2/cache/org.twitter4j/twitter4j-core/jars/twitter4j-core-3.0.3.jar
/Users/pfsnivel/.ivy2/cache/com.typesafe.akka/akka-zeromq/jars/akka-zeromq-2.0.3.jar
/Users/pfsnivel/.ivy2/cache/org.zeromq/zeromq-scala-binding_2.9.1/jars/zeromq-scala-binding_2.9.1-0.0.6.jar
/Users/pfsnivel/.ivy2/cache/net.java.dev.jna/jna/jars/jna-3.0.9.jar
/Users/pfsnivel/.ivy2/cache/com.github.jnr/jnr-constants/jars/jnr-constants-0.8.2.jar)

That's probably not very helpful. Here's the output of dependency-graph:

[info] streaming-poc:streaming-poc_2.9.3:0.1-SNAPSHOT [S]
[info]   +-com.intel:...
[info]   | +-org.apache.avro:avro-tools:1.7.3
[info]   |   +-org.slf4j:slf4j-api:1.6.4 (evicted by: 1.7.5)
[info]   |   +-org.slf4j:slf4j-api:1.7.5
[info]   |   
[info]   +-...
[info]     +-com.101tec:zkclient:0.2
[info]     | +-org.apache.zookeeper:zookeeper:3.3.1 (evicted by: 3.3.3)
[info]     | +-org.apache.zookeeper:zookeeper:3.3.3
[info]     |   +-jline:jline:0.9.94
[info]     |     +-junit:junit:3.8.1
[info]     |     
[info]     +-com.typesafe.akka:akka-actor:2.0.4 [S]
[info]     | +-com.typesafe:config:0.3.1 (evicted by: 1.0.0)
[info]     | +-com.typesafe:config:1.0.0
[info]     | 
[info]     +-...
[info]     | +-ch.qos.logback:logback-classic:1.0.7
[info]     | | +-ch.qos.logback:logback-core:1.0.7
[info]     | | +-org.slf4j:slf4j-api:1.6.6 (evicted by: 1.7.1)
[info]     | | +-org.slf4j:slf4j-api:1.7.1 (evicted by: 1.7.5)
[info]     | | +-org.slf4j:slf4j-api:1.7.5
[info]     | | 
[info]     | +-com.typesafe.akka:akka-actor:2.0.4 [S]
[info]     | | +-com.typesafe:config:0.3.1 (evicted by: 1.0.0)
[info]     | | +-com.typesafe:config:1.0.0
[info]     | | 
[info]     | +-com.typesafe.akka:akka-slf4j:2.0.4 [S]
[info]     | | +-com.typesafe.akka:akka-actor:2.0.4 [S]
[info]     | | | +-com.typesafe:config:0.3.1 (evicted by: 1.0.0)
[info]     | | | +-com.typesafe:config:1.0.0
[info]     | | | 
[info]     | | +-org.slf4j:slf4j-api:1.6.4 (evicted by: 1.7.5)
[info]     | | +-org.slf4j:slf4j-api:1.7.1 (evicted by: 1.7.5)
[info]     | | +-org.slf4j:slf4j-api:1.7.5
[info]     | | 
[info]     | +-org.slf4j:slf4j-api:1.7.1 (evicted by: 1.7.5)
[info]     | +-org.slf4j:slf4j-api:1.7.5
[info]     | 
[info]     +-...
[info]     | +-com.typesafe:config:1.0.0
[info]     | +-...
[info]     | | +-ch.qos.logback:logback-classic:1.0.7
[info]     | | | +-ch.qos.logback:logback-core:1.0.7
[info]     | | | +-org.slf4j:slf4j-api:1.6.6 (evicted by: 1.7.1)
[info]     | | | +-org.slf4j:slf4j-api:1.7.1 (evicted by: 1.7.5)
[info]     | | | +-org.slf4j:slf4j-api:1.7.5
[info]     | | | 
[info]     | | +-com.typesafe.akka:akka-actor:2.0.4 [S]
[info]     | | | +-com.typesafe:config:0.3.1 (evicted by: 1.0.0)
[info]     | | | +-com.typesafe:config:1.0.0
[info]     | | | 
[info]     | | +-com.typesafe.akka:akka-slf4j:2.0.4 [S]
[info]     | | | +-com.typesafe.akka:akka-actor:2.0.4 [S]
[info]     | | | | +-com.typesafe:config:0.3.1 (evicted by: 1.0.0)
[info]     | | | | +-com.typesafe:config:1.0.0
[info]     | | | | 
[info]     | | | +-org.slf4j:slf4j-api:1.6.4 (evicted by: 1.7.5)
[info]     | | | +-org.slf4j:slf4j-api:1.7.1 (evicted by: 1.7.5)
[info]     | | | +-org.slf4j:slf4j-api:1.7.5
[info]     | | | 
[info]     | | +-org.slf4j:slf4j-api:1.7.1 (evicted by: 1.7.5)
[info]     | | +-org.slf4j:slf4j-api:1.7.5
[info]     | | 
[info]     | +-net.liftweb:lift-json_2.9.1:2.5-RC5 [S]
[info]     |   +-com.thoughtworks.paranamer:paranamer:2.4.1
[info]     |   +-org.scala-lang:scalap:2.9.1
[info]     |     +-org.scala-lang:scala-compiler:2.9.3 [S]
[info]     |     
[info]     +-org.apache.avro:avro:1.7.3
[info]     | +-com.thoughtworks.paranamer:paranamer:2.3 (evicted by: 2.4.1)
[info]     | +-com.thoughtworks.paranamer:paranamer:2.4.1
[info]     | +-org.codehaus.jackson:jackson-core-asl:1.8.8
[info]     | +-org.codehaus.jackson:jackson-mapper-asl:1.8.8
[info]     | | +-org.codehaus.jackson:jackson-core-asl:1.8.8
[info]     | | 
[info]     | +-org.slf4j:slf4j-api:1.6.4 (evicted by: 1.7.5)
[info]     | +-org.slf4j:slf4j-api:1.7.1 (evicted by: 1.7.5)
[info]     | +-org.slf4j:slf4j-api:1.7.5
[info]     | +-org.xerial.snappy:snappy-java:1.0.4.1
[info]     | 
[info]     +-org.apache.kafka:core_2.9.1:0.7.3 [S]
[info]     | +-com.github.sgroschupf:zkclient:0.1
[info]     | | +-org.apache.zookeeper:zookeeper:3.3.3
[info]     | |   +-jline:jline:0.9.94
[info]     | |     +-junit:junit:3.8.1
[info]     | |     
[info]     | +-net.sf.jopt-simple:jopt-simple:3.2
[info]     | +-org.xerial.snappy:snappy-java:1.0.4.1
[info]     | 
[info]     +-org.slf4j:log4j-over-slf4j:1.7.5
[info]       +-org.slf4j:slf4j-api:1.7.5

I still don't know how helpful this is. Please let me know if there's anything else I can add.

Thanks!

@eed3si9n
Owner

@psnively Thanks for the dependency-graph. I hit the jackpot on the first lib: avro

@eed3si9n
Owner

There's a file named META-INF/LICENSE and a dir named META-INF/license/. I wonder if sbt is being case insensitive.

$ unzip -l avro-tools-1.7.3.jar | grep -i "license"
    11358  12-03-12 10:25   META-INF/LICENSE
    11560  12-03-12 10:25   META-INF/maven/org.xerial.snappy/snappy-java/LICENSE
    11560  12-03-12 10:25   META-INF/LICENSE.txt
        0  12-03-12 10:25   META-INF/license/
     1592  12-03-12 10:25   META-INF/license/LICENSE.base64.txt
    10174  12-03-12 10:25   META-INF/license/LICENSE.commons-logging.txt
    10174  12-03-12 10:25   META-INF/license/LICENSE.felix.txt
    26441  12-03-12 10:25   META-INF/license/LICENSE.jboss-logging.txt
     1592  12-03-12 10:25   META-INF/license/LICENSE.jsr166y.txt
     1465  12-03-12 10:25   META-INF/license/LICENSE.jzlib.txt
    10174  12-03-12 10:25   META-INF/license/LICENSE.log4j.txt
     1732  12-03-12 10:25   META-INF/license/LICENSE.protobuf.txt
     1203  12-03-12 10:25   META-INF/license/LICENSE.slf4j.txt
     1598  12-03-12 10:25   META-INF/license/LICENSE.webbit.txt
@eed3si9n eed3si9n closed this in 39410a8
@eed3si9n
Owner

Fix is out as 0.9.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.