icedtea-6.1.9.4 fails to build due to a missing patch (dev-java/icedtea/files/6.1.9.4-sparc.patch). Reproducible: Always Steps to Reproduce: 1. emerge -1 =icedtea-6.1.9.4 2. 3. Actual Results: build fails Expected Results: build should go fine
Created attachment 260417 [details] emerge -1 icedtea output
*** Bug 352316 has been marked as a duplicate of this bug. ***
Caster: There is a patch named '6.1.9.3-sparc.patch'. Is it still needed? Please rename in ebuild or drop it if unneeded.
*** Bug 352327 has been marked as a duplicate of this bug. ***
That patch is vital, please either copy it over or rename it in such a way that all future ebuilds will be able to apply the patch. Thanks (as the contributor of this patch!)
Copying it over doesn't fix the problem and gives the following output: >>> Preparing source in /var/tmp/portage/dev-java/icedtea-6.1.9.4/work/icedtea6-1.9.4 ... * Applying 6.1.9.3-sparc.patch ... * Failed Patch: 6.1.9.3-sparc.patch ! * ( /usr/portage/dev-java/icedtea/files/6.1.9.3-sparc.patch ) * * Include in your bugreport the contents of: * * /var/tmp/portage/dev-java/icedtea-6.1.9.4/temp/6.1.9.3-sparc.patch.out * ERROR: dev-java/icedtea-6.1.9.4 failed: * Failed Patch: 6.1.9.3-sparc.patch! * * Call stack: * ebuild.sh, line 56: Called src_prepare * environment, line 5148: Called epatch '/usr/portage/dev-java/icedtea/files/6.1.9.3-sparc.patch' * environment, line 2125: Called die * The specific snippet of code: * die "Failed Patch: ${patchname}!"; IMHO the patch has to be modified to be applicable to 6.1.9.4. I don't own a sparc and I know nothing about that arch maybe the author of the patch could contribute? (In reply to comment #5) > That patch is vital, please either copy it over or rename it in such a way that > all future ebuilds will be able to apply the patch. > > Thanks > (as the contributor of this patch!)
Here is my solution. It works here because my arch is x86. src_prepare() { if ( use sparc ) ; then epatch "${FILESDIR}/${PV}-sparc.patch" fi eautoreconf }
(In reply to comment #6) > * /var/tmp/portage/dev-java/icedtea-6.1.9.4/temp/6.1.9.3-sparc.patch.out Can you supply the contents of this one please?
(In reply to comment #7) > Here is my solution. It works here because my arch is x86. > > src_prepare() { > if ( use sparc ) ; then > epatch "${FILESDIR}/${PV}-sparc.patch" > fi > eautoreconf > } Unnecessary as soon as I find out why the patch failed to apply.
OK, I found out why the patch doesn't work, someone has forgotten to update the list of patches properly. It is missing some files. This is the output generated when the patching fails. Please fix asap. ***** 6.1.9.4-sparc.patch ***** =============================== PATCH COMMAND: patch -p0 -g0 -E --no-backup-if-mismatch < '/usr/portage/dev-java/icedtea/files/6.1.9.4-sparc.patch' =============================== can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -Nru icedtea6-1.9.3.old/Makefile.am icedtea6-1.9.3/Makefile.am |--- icedtea6-1.9.3.old/Makefile.am 2010-12-01 19:09:51.959606503 +0000 |+++ icedtea6-1.9.3/Makefile.am 2010-12-07 12:51:29.306308677 +0000 -------------------------- No file to patch. Skipping patch. 1 out of 1 hunk ignored patching file icedtea6-1.9.3/patches/g344659-sparc_fscanf_fix.patch =============================== PATCH COMMAND: patch -p1 -g0 -E --no-backup-if-mismatch < '/usr/portage/dev-java/icedtea/files/6.1.9.4-sparc.patch' =============================== patching file Makefile.am Hunk #1 FAILED at 317. 1 out of 1 hunk FAILED -- saving rejects to file Makefile.am.rej patching file patches/g344659-sparc_fscanf_fix.patch =============================== PATCH COMMAND: patch -p2 -g0 -E --no-backup-if-mismatch < '/usr/portage/dev-java/icedtea/files/6.1.9.4-sparc.patch' =============================== missing header for unified diff at line 4 of patch can't find file to patch at input line 4 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |diff -Nru icedtea6-1.9.3.old/Makefile.am icedtea6-1.9.3/Makefile.am |--- icedtea6-1.9.3.old/Makefile.am 2010-12-01 19:09:51.959606503 +0000 |+++ icedtea6-1.9.3/Makefile.am 2010-12-07 12:51:29.306308677 +0000 -------------------------- No file to patch. Skipping patch.
Created attachment 260430 [details] updated sparc patch I don't know if this works; I'm building currently.
(In reply to comment #5) > That patch is vital, please either copy it over or rename it in such a way that > all future ebuilds will be able to apply the patch. > > Thanks > (as the contributor of this patch!) Have you sent the patch upstream? It looks like it will segfault on sparc without that patch.
It's queued for going upstream, Patching this was the quickest way to get it to build on SPARC, it can take a long time to get the patch into the OpenJDK tree.
(In reply to comment #11) > Created an attachment (id=260430) [details] > updated sparc patch Built successfully on amd64. Someone with sparc should test the package more thoroughly.
Just out of curiosity: Why do we have to carry a patch for sparc if the ebuild has no sparc keywords?
(In reply to comment #15) > Just out of curiosity: Why do we have to carry a patch for sparc if the ebuild > has no sparc keywords? Because it is being tested on SPARC. It'll go unstable later in the year.
I can now confirm the new patch fixes the problem completely, many thanks!
I'm baffled as to why this bug occurred at all when the 1.9.4 version of the patch was added to java-overlay with the original update. Did it not get copied to the main tree? Please make sure the 1.9.5 version (see Bug 353418) is copied over. As to this going upstream, I have yet to see any evidence that this patch is actually needed. I've built on SPARC without it and presumably Oracle do too. The two statements should be identical.
Which GCC compiler are you using, Andrew? I will be testing 6.1.9.5 in due course to make sure it works for me.
I can confirm icedtea 6.1.9.5 builds and runs just fine on SPARC, thanks. Removed icedtea and bootstrapped via gcj-jdk.