Summary: | dev-java/lucene[contrib]-3.6.2: build fails | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Vasiliy Yeremeyev <vayerx> |
Component: | Current packages | Assignee: | Java team <java> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | jstein, lssndrbarbieri, phobosk, rossi.f |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
emerge --info lucene-3.6.2-r2.ebuild.patch lucene_contrib_icu4j_v50.patch lucene-3.5.0-r2.ebuild.patch lucene-3.6.2-r2.ebuild lucene-3.5.0-r2.ebuild lucene-3.6.2-r2.ebuild lucene-3.6.2-ant-1.10.patch # emerge --info Build log |
Description
Vasiliy Yeremeyev
2016-04-05 11:46:59 UTC
Created attachment 429676 [details]
emerge --info
Created attachment 513542 [details, diff]
lucene-3.6.2-r2.ebuild.patch
I can confirm this bug with Java VM icedtea-bin-8
And I confirm that the dev-java/lucene[contrib]-3.5.0-r1 fails also though with a different error:
compile-test-framework:
[mkdir] Created dir: /dev/shm/portage/dev-java/lucene-3.5.0-r1/work/lucene-3.5.0/build/classes/test-framework
[javac] Compiling 33 source files to /dev/shm/portage/dev-java/lucene-3.5.0-r1/work/lucene-3.5.0/build/classes/test-framework
[javac] /dev/shm/portage/dev-java/lucene-3.5.0-r1/work/lucene-3.5.0/src/test-framework/java/org/apache/lucene/util/LuceneTestCase.java:50: error: package org.junit does not exist
[javac] import org.junit.After;
[javac] ^
Both failures are with Java VM icedtea-bin-8 which provides Java 1.8 just as your configuration that is oracle-jdk-bin-1.8....
I have no idea if these errors appear when Java < 1.8...
Anyway IMHO the current dev-java/lucene-3.5.0-r1 and dev-java/lucene-3.6.2-r1 are really broken especially the last one that has the src_prepare() phase duplicated....
Both versions if contrib flag is used require icu4j 4.8 and this is no longer available in portage, so the contrib icu will not compile...
Using doc flag also doesn't work properly....
Anyway... I did rewrote almost from scratch both ebuilds: dev-java/lucene-3.5.0-r1 and dev-java/lucene-3.6.2-r1 and made them r2...
I am uploading them here both as a patch and the full ebuild, so other could use it till this is fixed in portage...
Should I create a new bug for a version bump on both versions?
Created attachment 513544 [details, diff] lucene_contrib_icu4j_v50.patch This is the patch to make icu4j > 50 to work with lucene. This should go into files folder of the package in portage. The patch is taken from Fedora - https://koji.fedoraproject.org/koji/buildinfo?buildID=398552 See explanation here: http://source.icu-project.org/repos/icu/icu4j/tags/release-50-1/readme.html#changes Created attachment 513546 [details, diff]
lucene-3.5.0-r2.ebuild.patch
The patch to the lucene-3.5.0-r1.ebuild with the fixes mentioned above.
This version of lucene (slot 3.5) is needed for the dev-java/netbeans-ide-8.2-r1
Also requires the lucene_contrib_icu4j_v50.patch
Created attachment 513548 [details]
lucene-3.6.2-r2.ebuild
This is the full ebuild of the newly proposed for portage r2 - lucene-3.6.2-r2.ebuild
Created attachment 513550 [details]
lucene-3.5.0-r2.ebuild
This is the full ebuild of the newly proposed for portage r2 - lucene-3.5.0-r2.ebuild
All proposed ebuilds work fine with icedtea-bin-8, but should be tested with other Java VM too. All USE flags - sources, docs, contrib - work OK too... Tests are still disabled/restricted since all ICU modules tests in contrib fail. All other tests work OK.... Please test these with other VMs and different combinations of the USE flags... Gentoo Devs, Can you please advice if these ebuilds are OK and could go to official portage? :) I am trying your ebuild for lucene-3.6.2-r2 but there are two issues: 1) after copying the patch and ebuild in my personal overlay __mine__, one dep is still missing and it is not in portage: # emerge -pv lucene::__mine__ These are the packages that would be merged, in order: Calculating dependencies... done! emerge: there are no ebuilds to satisfy "dev-java/ant-nodeps:0". (dependency required by "dev-java/lucene-3.6.2-r2::__mine__" [ebuild]) (dependency required by "lucene::__mine__" [argument]) 2) I have looked around for ant-nodeps in build.xml, it seems is not used, so after having removed the dep from the ebuild, I get the following error: compile-core: [mkdir] Created dir: /var/tmp/portage/dev-java/lucene-3.6.2-r2/work/lucene-3.6.2/build/test-framework/classes/java [javac] Compiling 51 source files to /var/tmp/portage/dev-java/lucene-3.6.2-r2/work/lucene-3.6.2/build/test-framework/classes/java [javac] /var/tmp/portage/dev-java/lucene-3.6.2-r2/work/lucene-3.6.2/test-framework/src/java/org/apache/lucene/util/LuceneJUnitDividingSelector.java:26: error: LuceneJUnitDividingSelector is not abstract and does not override abstract method isSelected(Resource) in ResourceSelector [javac] public class LuceneJUnitDividingSelector extends BaseExtendSelector { [javac] ^ [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] 1 error I have found a further patch from Debian https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895797, I am attaching a modified ebuild and a modified patch for Gentoo Created attachment 682270 [details]
lucene-3.6.2-r2.ebuild
Created attachment 682273 [details, diff]
lucene-3.6.2-ant-1.10.patch
Created attachment 689379 [details]
# emerge --info
compile-core: [mkdir] Created dir: /var/tmp/portage/dev-java/lucene-3.6.2-r2/work/lucene-3.6.2/build/test-framework/classes/java [javac] Compiling 51 source files to /var/tmp/portage/dev-java/lucene-3.6.2-r2/work/lucene-3.6.2/build/test-framework/classes/java [javac] /var/tmp/portage/dev-java/lucene-3.6.2-r2/work/lucene-3.6.2/test-framework/src/java/org/apache/lucene/util/InternalAssumptionViolatedException.java:20: error: package org.hamcrest does not exist [javac] import org.hamcrest.Description; [javac] ^ [javac] /var/tmp/portage/dev-java/lucene-3.6.2-r2/work/lucene-3.6.2/test-framework/src/java/org/apache/lucene/util/InternalAssumptionViolatedException.java:30: error: cannot access SelfDescribing [javac] final class InternalAssumptionViolatedException extends AssumptionViolatedException { [javac] ^ [javac] class file for org.hamcrest.SelfDescribing not found ...... (omitted errors resulting from this one) I have encountered the problem as well. Sorry, failed to apply a patch. Fixed now for me. Created attachment 690603 [details]
Build log
I applied the ant-1.10 patch and icu4j_v50 patch and still doesn't build
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/sci.git/commit/?id=e78efb63107558c492825f9aaa0a35f61b29a2a9 commit e78efb63107558c492825f9aaa0a35f61b29a2a9 Author: Andrew Ammerlaan <andrewammerlaan@riseup.net> AuthorDate: 2021-03-21 12:35:36 +0000 Commit: Andrew Ammerlaan <andrewammerlaan@riseup.net> CommitDate: 2021-03-21 12:35:36 +0000 dev-java/lucene: add new lucene versions for scilab At the moment this only builds with USE="-modules" because we are missing a dependency. Will add the keywords if/when I get the dependency working Also added a fixed ebuild for version 3.6.2, the one in ::gentoo fails with USE="contrib" see linked bug Bug: https://bugs.gentoo.org/733258 Bug: https://bugs.gentoo.org/579086 Package-Manager: Portage-3.0.17, Repoman-3.0.2 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@riseup.net> dev-java/lucene/Manifest | 3 + dev-java/lucene/files/lucene-3.6.2-ant-1.10.patch | 24 +++ .../lucene/files/lucene_contrib_icu4j_v50.patch | 20 +++ dev-java/lucene/lucene-3.6.2-r2.ebuild | 162 +++++++++++++++++++ dev-java/lucene/lucene-5.2.1.ebuild | 165 +++++++++++++++++++ dev-java/lucene/lucene-8.4.0.ebuild | 180 +++++++++++++++++++++ dev-java/lucene/metadata.xml | 12 ++ 7 files changed, 566 insertions(+) Affected version has gone. Closing. |