Hi Guix, “java-hamcrest-all” fails to build with a curious error message. It first builds hamcrest-core-1.3.jar and then complains about being unable to access “org/hamcrest/Description.class” from that jar.
--8<---------------cut here---------------start------------->8--- starting phase `build' Buildfile: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build.xml generator: [mkdir] Created dir: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-generator-nodeps-1.3.jar.manifest [mkdir] Created dir: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-generator-nodeps-1.3.jar.contents [javac] Compiling 11 source files to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-generator-nodeps-1.3.jar.contents [javac] [javac] WARNING [javac] [javac] The -source switch defaults to 1.8 in JDK 1.8. [javac] If you specify -target 1.5 you now must also specify -source 1.5. [javac] Ant will implicitly add -source 1.5 for you. Please change your build file. [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options. [javac] 4 warnings [copy] Copying 1 file to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-generator-nodeps-1.3.jar.contents [jar] Building jar: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-generator-nodeps-1.3.jar [copy] Copying 11 files to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-generator-nodeps-1.3-sources.jar.contents [jar] Building jar: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-generator-nodeps-1.3-sources.jar [jarjar] Building jar: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-generator-1.3.jar [copy] Copying 1 file to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build core: [mkdir] Created dir: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-core-1.3.jar.manifest [mkdir] Created dir: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-core-1.3.jar.contents [javac] Compiling 37 source files to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-core-1.3.jar.contents [javac] [javac] WARNING [javac] [javac] The -source switch defaults to 1.8 in JDK 1.8. [javac] If you specify -target 1.5 you now must also specify -source 1.5. [javac] Ant will implicitly add -source 1.5 for you. Please change your build file. [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options. [javac] 4 warnings [copy] Copying 1 file to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-core-1.3.jar.contents [jar] Building jar: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-core-1.3.jar [copy] Copying 39 files to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-core-1.3-sources.jar.contents [jar] Building jar: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-core-1.3-sources.jar [mkdir] Created dir: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-core/generated-code [java] Generating org.hamcrest.CoreMatchers [java] [T] allOf(Iterable<Matcher<? super T>> matchers) [java] [T] allOf(Matcher<? super T> first, Matcher<? super T> second) [java] [T] allOf(Matcher<? super T> first, Matcher<? super T> second, Matcher<? super T> third) [java] [T] allOf(Matcher<? super T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth) [java] [T] allOf(Matcher<? super T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth, Matcher<? super T> fifth) [java] [T] allOf(Matcher<? super T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth, Matcher<? super T> fifth, Matcher<? super T> sixth) [java] [T] allOf(Matcher<? super T>... matchers) [java] [T] anyOf(Iterable<Matcher<? super T>> matchers) [java] [T] anyOf(Matcher<T> first, Matcher<? super T> second) [java] [T] anyOf(Matcher<T> first, Matcher<? super T> second, Matcher<? super T> third) [java] [T] anyOf(Matcher<T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth) [java] [T] anyOf(Matcher<T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth, Matcher<? super T> fifth) [java] [T] anyOf(Matcher<T> first, Matcher<? super T> second, Matcher<? super T> third, Matcher<? super T> fourth, Matcher<? super T> fifth, Matcher<? super T> sixth) [java] [T] anyOf(Matcher<? super T>... matchers) [java] [LHS] both(Matcher<? super LHS> matcher) [java] [LHS] either(Matcher<? super LHS> matcher) [java] [T] describedAs(String description, Matcher<T> matcher, Object... values) [java] [Iterable<U>] everyItem(Matcher<U> itemMatcher) [java] [T] is(Class<T> type) [java] [T] is(T value) [java] [T] is(Matcher<T> matcher) [java] [T] isA(Class<T> type) [java] [Object] anything() [java] [Object] anything(String description) [java] [Iterable<? super T>] hasItem(T item) [java] [Iterable<? super T>] hasItem(Matcher<? super T> itemMatcher) [java] [Iterable<T>] hasItems(T... items) [java] [Iterable<T>] hasItems(Matcher<? super T>... itemMatchers) [java] [T] equalTo(T operand) [java] [T] any(Class<T> type) [java] [T] instanceOf(Class<?> type) [java] [T] not(T value) [java] [T] not(Matcher<T> matcher) [java] [Object] notNullValue() [java] [T] notNullValue(Class<T> type) [java] [Object] nullValue() [java] [T] nullValue(Class<T> type) [java] [T] sameInstance(T target) [java] [T] theInstance(T target) [java] [String] containsString(String substring) [java] [String] startsWith(String prefix) [java] [String] endsWith(String suffix) [javac] Compiling 1 source file to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-core-1.3.jar.contents [javac] [javac] WARNING [javac] [javac] The -source switch defaults to 1.8 in JDK 1.8. [javac] If you specify -target 1.5 you now must also specify -source 1.5. [javac] Ant will implicitly add -source 1.5 for you. Please change your build file. [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options. [javac] 4 warnings [jar] Building jar: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-core-1.3.jar [copy] Copying 1 file to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-core-1.3-sources.jar.contents [jar] Building jar: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-core-1.3-sources.jar library: [mkdir] Created dir: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-library/generated-code [mkdir] Created dir: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-library-1.3.jar.manifest [mkdir] Created dir: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-library-1.3.jar.contents [javac] Compiling 28 source files to /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/temp/hamcrest-library-1.3.jar.contents [javac] [javac] WARNING [javac] [javac] The -source switch defaults to 1.8 in JDK 1.8. [javac] If you specify -target 1.5 you now must also specify -source 1.5. [javac] Ant will implicitly add -source 1.5 for you. Please change your build file. [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5 [javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release [javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release [javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options. [javac] /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/hamcrest-library/src/main/java/org/hamcrest/beans/HasProperty.java:5: error: cannot access Description [javac] import org.hamcrest.Description; [javac] ^ [javac] bad class file: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-core-1.3.jar(org/hamcrest/Description.class) [javac] unable to access file: corrupted zip file [javac] Please remove or make sure it appears in the correct subdirectory of the classpath. BUILD FAILED /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build.xml:59: The following error occurred while executing this line: /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build.xml:287: Compile failed; see the compiler error output for details. --8<---------------cut here---------------end--------------->8--- I have kept the build output and inspected the jar. I can access the file without problems. I don’t see corruption in the jar/zip file. --8<---------------cut here---------------start------------->8--- $ file /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-core-1.3.jar /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-core-1.3.jar: Java archive data (JAR) $ unzip /tmp/guix-build-java-hamcrest-all-1.3.drv-0/JavaHamcrest-hamcrest-java-1.3/build/hamcrest-core-1.3.jar $ file org/hamcrest/Description.class org/hamcrest/Description.class: compiled Java class data, version 49.0 (Java 1.5) --8<---------------cut here---------------end--------------->8--- Any ideas? -- Ricardo