I considered that type of surgery :)
I ended up doing this:

$ svn diff build-deprecated.xml common-build-deprecated.xml 
Index: common-build-deprecated.xml
===================================================================
--- common-build-deprecated.xml (revision 752475)
+++ common-build-deprecated.xml (working copy)
@@ -28,7 +28,7 @@
     <format property="dateversion" pattern="yyyy.MM.dd.HH.mm.ss" />
   </tstamp>
   <!-- Java Version we are compatible with -->
-  <property name="java.compat.version" value="6" />
+  <property name="java.compat.version" value="5" />
 
   <!-- Mahout Implementation Version -->
   <!--


Then I can do this:
$ ant -f build-deprecated.xml dist 

This still fails to build things like examples or something that uses EJBs (b/c 
I don't have thise jars locally), but it builds the core jar, which is what I 
need.  I used Java 6 to build this to get around @Override errors.


Thanks for everyone assistance!
 
Otis
--
Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch



----- Original Message ----
> From: Dawid Weiss <dawid.we...@cs.put.poznan.pl>
> To: mahout-dev@lucene.apache.org
> Sent: Wednesday, March 11, 2009 1:02:02 PM
> Subject: Re: Mahout for 1.5 JVM
> 
> 
> Once upon a time I used a simple (read: naive) workaround of copying all the 
> sources with token replace "@Override" -> "", then compiling against Java 1.5 
> (to avoid potential class library linking problems). This was integrated in 
> the 
> project's ANT build process, was quite ugly, but did the job.
> 
> Dawid
> 
> Otis Gospodnetic wrote:
> > Yes, I'd think javac from 1.6 could use 1.6 source and compile to 1.5, but 
> that's not what I'm seeing:
> > 
> > $ java -version
> > java version "1.5.0_17"
> > 
> > $ rm jdk
> > $ ln -s jdk1.6.0_07 jdk
> > $ java -version
> > java version "1.6.0_07"
> > 
> > 
> > $ ffxg 1.6 
> > ./pom.xml:          1.6
> > ./taste-web/pom.xml:          1.6
> > ./core/pom.xml:          1.6
> > ./examples/pom.xml:          1.6
> > 
> > $ ffxg 1.5 | egrep 'source|target'
> > ./pom.xml:          1.5
> > ./taste-web/pom.xml:          1.5
> > ./core/pom.xml:          1.5
> > ./examples/pom.xml:          1.5
> > 
> > $ mvn -Dmaven.compiler.target=1.5 clean compile
> > 
> > ...
> > [INFO] Compiling 240 source files to 
> /home/otis/workspace/asf-mahout/core/target/classes
> > [INFO] 
> ------------------------------------------------------------------------
> > [ERROR] BUILD FAILURE
> > [INFO] 
> ------------------------------------------------------------------------
> > [INFO] Compilation failure
> > Failure executing javac, but could not parse the error:
> > javac: source release 1.6 requires target release 1.6
> > 
> > 
> > It's very possible I'm not doing something correctly.  I've been lucky 
> > never 
> to have had to deal with this stuff before.
> > 
> > Otis
> > --
> > Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch
> > 
> > 
> > 
> > ----- Original Message ----
> >> From: Sean Owen 
> >> To: mahout-dev@lucene.apache.org
> >> Sent: Wednesday, March 11, 2009 12:05:52 PM
> >> Subject: Re: Mahout for 1.5 JVM
> >>
> >> Nah, source must certainly be 1.6 since the code requires 1.6. This means
> >> you need Java 6, not 1.5, to compile. It is only target that can and must 
> >> be
> >> 1.5.
> >>
> >> But you will not be able to compile all of Mahout because there is, at
> >> least, use of Deque. Taste should be OK but there is no separate target for
> >> it. Hence roll a quick build.xml or add this to Maven. I could easily send
> >> you such a thing.
> >>
> >> (PS there are definitely Taste/Mahout bindings but that does not pose a
> >> problem for you.)
> >>
> >> On Mar 11, 2009 3:57 PM, "Otis Gospodnetic" 
> >> wrote:
> >>
> >>
> >> Still no luck here, though I'm closer.  It looks like I'm hitting the same
> >> thing Jeff and Deneche hit 2 months ago.
> >>
> >> I installed JDK 1.5
> >> I double-checked javac - 1.5
> >> I then tried compiling:
> >> mvn -Dmaven.compiler.target=1.5 clean compile jar:jar
> >>
> >> Didn't work, source being 1.6 is still a problem - makes sense, 1.5 
> >> compiler
> >> knows nothing about 1.6.  Tried overriding like this:
> >>
> >> mvn -Dmaven.compiler.source=1.5 -Dmaven.compiler.target=1.5 clean compile
> >> jar:jar
> >>
> >> This still doesn't work.  I thought the above sys properties would override
> >> source and target values in pom.xml's, but apparently they don't.  I had to
> >> s/1.6/1.5/g in all pom.xml's.  Now I no longer get javac complaining about
> >> bad target or source, but I do hit the actual 1.6 vs. 1.5 issues. :)
> >>
> >> I think I'm hitting this problem:
> >> http://markmail.org/thread/n6vvgrtgczkigx7d
> >>
> >> Requiring 1.6 makes sense for most of Mahout because Hadoop requires it
> >> anyway.  But Taste doesn't run on Hadoop yet (I'm running it completely
> >> Hadoop-free), so it's a shame not to be able to compile at least Taste
> >> with/for 1.5.  Should we try fixing that for 0.1 either by
> >> removing/commenting out problematic @Override's or by... hm, there is no
> >> other way, ha?  And then making it possible to somehow build only Taste, or
> >> perhaps building Taste with maven is already doable somehow?
> >>
> >> Thanks, Otis -- Sematext -- http://sematext.com/ -- Lucene - Solr - Nutch
> >>
> >> ----- Original Message ---- > From: Sean Owen > To:
> >> mahout-dev@lucene.apache.org
> >>
> >>> Sent: Monday, March 9, 2009 5:15:09 PM > Subject: Re: Mahout for 1.5 JVM >
> >>> You need to compile ...
> >>> On Mon, Mar 9, 2009 at 9:04 PM, Grant Ingersoll wrote: > > Mahout requires
> >> 1.6 due to Hadoop requi...
> > 

Reply via email to