bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#31390: java-hamcrest-all fails to build


From: Gábor Boskovits
Subject: bug#31390: java-hamcrest-all fails to build
Date: Wed, 9 May 2018 19:51:51 +0200

2018-05-09 13:22 GMT+02:00 Ricardo Wurmus <address@hidden>:
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?


Yes, I have run into this already when doing the updates for java8. Debian seems to have a patch for this here:
https://anonscm.debian.org/viewvc/pkg-java/trunk/libhamcrest-java/debian/patches/002-random-build-failure.patch?view=log

This bug was tracked here: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=738789

This failure is not deterministic, this is how it managed to get through my filter :)

It seems that forcing not to use a parallel build is also a solution.

I haven't tried if we can use the patch as is. 

WDYT?


 
--
Ricardo





reply via email to

[Prev in Thread] Current Thread [Next in Thread]