porting icedtea6 to FreeBSD

Andrew Hughes ahughes at redhat.com
Thu Mar 29 15:49:25 PDT 2012


----- Original Message -----
> On Thu, Mar 29, 2012 at 05:36:14AM -0400, Andrew Hughes thus spake:
> >So what's the basis for that?  Wouldn't it be better to use that
> >source
> >code rather than OpenJDK6?
> 
> I agree. Now that I know what is it doing.
> >
> >> I am specifying this for --with-jdk-home
> 
> What jdk do you suggest here?
> 

I don't know what's available on FreeBSD.  We've tended to use gcj to get
off the starting blocks, but OpenJDK6 works too.

> >> >
> >> >You don't seem to be using the latest; that would be 1.11.1.  If
> >> >you
> >> >want
> >> >to get the end result into IcedTea, you may be better working
> >> >with
> >> >the
> >> >Mercurial version:
> 
> What makes you say I am not using the latest? I did update to 1.11.1
> for
> this latest build.
> https://redports.org/browser/jgh/java/icedtea6/Makefile

Ok I didn't see that.  Sorry.
As I say, you may still find hg useful for contributing back.

> >>
> >> I really would rather work with the released tarballs to support
> >> FreeBSD,
> >> unless something comes up where that can't be done. I'm really not
> >> convinced
> >> that I'm doing things right at this point to warrant a different
> >> path
> >> :)
> >>
> >
> >There just doesn't seem much point in working on an old release with
> >issues
> >that may have already been fixed.  Also, to accept any patches you
> >may have,
> >we'll need them against HEAD not an old release.
> 
> I'm not working on an old release, though. I am grabbing the same
> tarball
> from the same location as the build does for icedtea. I am confused
> though,
> as to what actual tarballs I should be grabbing.
> 
> At the moment, I am taking:
> 
> jaxp144_03.zip
> jdk6-jaf-b20.zip
> jdk6-jaxws2_1_6-2011_06_13.zip
> openjdk-6-src-b24-14_nov_2011.tar.gz
> 
> Do I need more? From the build log, it seems this is all that is
> required.

This looks right (from memory anyway).

> >
> >> I'm still trying to find out what icedtea does with openjdk :)
> >
> >Patches and builds it.
> 
> Okay. This makes more sense now.
> >
> >> >
> >> >The patch issue is rather odd.  Are you rerunning a build over an
> >> >existing
> >> >OpenJDK tree as Andrew said?  What I'd recommend for ease of
> >> >debugging is
> >> >to build in a separate directory:
> >>
> >> I believe I am doing that, with the above specified. Do I need to
> >> be
> >> running
> >> against a different jdk home? There are several to choose from for
> >> FreeBSD.
> >> I wonder if this is the issue. However, I switched to use jdk1.6
> >> and
> >> had the
> >> same patch related issue.
> >
> >The JDK isn't an issue with patching.  I just mentioned it because
> >it may
> >affect things when we actually get to building.
> >
> >>
> >> The text leading up to this was:
> >> --------------------------
> >> |# HG changeset patch
> >> |# User robm
> >> |# Date 1322691030 0
> >> |# Node ID ee0f12b18cb8d20c3fb61e96817bde6318a29221
> >> |# Parent  dd8956e41b892ed7102e1d5668781f2c68ea9ac5
> >> |7082299: AtomicReferenceArray should ensure that array is
> >> |Object[]
> >> |Summary: java.util.concurrent.AtomicReferenceArray needs to
> >> |ensure
> >> |that internal array is always Object[].
> >> |Reviewed-by: chegar, coffeys
> >> |
> >> |diff --git
> >> |a/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
> >> |b/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
> >> |---
> >> |openjdk/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
> >> |+++
> >> |openjdk/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
> >> --------------------------
> >> Patching file
> >> openjdk/jdk/src/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java
> >> using Plan A...
> >> Reversed (or previously applied) patch detected!  Assume -R? [y]
> >>
> >> >
> >> >$ mkdir icedtea6-build
> >> >$ cd icedtea6-build
> >> >$ ../icedtea6-1.11.1/configure <params>
> >>
> >> This may partly my issue. I'm basically guessing what the correct
> >> options
> >> are to use.
> >>
> >> Here is what I am using currently:
> >> (LOCALBASE=/usr/local)
> >>
> >> --with-ecj-jar=${LOCALBASE}/share/java/classes/ecj-3.7.2.jar \
> >> --with-rhino=${LOCALBASE}/share/java/rhino/rhino.jar \
> >> --with-jdk-home=/usr/local/openjdk6 \
> >> --with-jaxp-drop-zip=${DISTDIR}/jaxp144_03.zip \
> >> --with-jaf-drop-zip=${DISTDIR}/jdk6-jaf-b20.zip \
> >> --with-jaxws-drop-zip=${DISTDIR}/jdk6-jaxws2_1_6-2011_06_13.zip \
> >> --with-openjdk-src-zip=${DISTDIR}/openjdk-6-src-b24-14_nov_2011.tar.gz
> >
> >Yes I saw this.  All looks fine to me.
> >
> >Moving to 1.11 would allow the xerces/xalan dependencies to be
> >dropped
> >(this change will also be in 1.10.7)
> 
> Yes, I noticed this with the change to 1.11.1, and removed those from
> my
> Makefile.

Good.

> >>
> >> This has been resolved with later releases, and the patching is
> >> probably a
> >> result of misconfigured configured options.
> >
> >I doubt it from what I've seen of what you're doing.
> >
> >The issue seems to be that your OpenJDK sources are not in the
> >expected state.
> 
> It is the same checksum, though, and the same location that is
> fetched
> during the icedtea build. I just pre-fetch them, and assign it as a
> configure option.
> Here is a link to the files with the checksums that are used:
> https://redports.org/browser/jgh/java/icedtea6/distinfo
> 

Can you provide a log of what happens when you run make?  Something
is clearly going wrong, but I can't see what if the tarballs are ok.
Are you starting from a clean directory?

> Thanks! :)
> 
> -jgh
> 
> 
> --
> Jason Helfman         | FreeBSD Committer
> jgh at FreeBSD.org       | http://people.freebsd.org/~jgh
> 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07




More information about the distro-pkg-dev mailing list