[SOLVED]Compiling RapidMiner on Windows 7

ccrabb
ccrabb New Altair Community Member
edited November 5 in Community Q&A
RapiMiner used to build for me under XP, but under a new Windows 7 installation it fails.  I cannot see how the version of Windows has anything to do with the errors.  The compile errors seem to revolve around classes that use Swing and are all ambiguous instantiations of classes.  There are several of these:



The constructor AbstractWizard(Frame, String, Object[]) is ambiguous TemplateWizardDialog.java /RapidMiner_Vega/src/com/rapidminer/gui/dialog line 62 Java Problem

The constructor ButtonDialog(Frame, String, boolean, Object[]) is ambiguous AttributeEditorDialog.java /RapidMiner_Vega/src/com/rapidminer/gui/attributeeditor line 88 Java Problem

The constructor ExcelImportWizard(String, ConfigurationListener, File, boolean, RepositoryLocation, Object[]) is ambiguous ExcelImportWizard.java /RapidMiner_Vega/src/com/rapidminer/gui/tools/dialogs/wizards/dataimport/excel line 316 Java Problem


I have tried the compile with jdk's from 5 to 7, all with the same result.  Yes, the environment is set correctly.  Note that the compile fails when loading a clean RapidMiner from Subversion.  If you follow the directions for building RapidMiner, the build fails.  Clearly, I could re-write the signatures of these classes, but I assume that RapidMiner builds, so I just want to establish the environment in which it builds.

Answers

  • Nils_Woehler
    Nils_Woehler New Altair Community Member
    Hi,

    this error occurs due a bug in the JDK that has been fixed with JDK7.
    Before the bugfix it was possible to use method signatures like AbstractWizard(Frame, String, Object...) and AbstractWizard(Frame, String, boolean, Object...)  without providing any Object arguments.
    But after the bugfix the boolean argument is autoboxed into a Boolean so the compiler cannot distinguish between the above method signatures anymore.
    To fix it you have to call the constructors like this

    AbstractWizard wiz = new AbstractWizard(someFrame, "someString", new Object[]{});
    AbstractWizard wiz2 = new AbstractWizard(someFrame, "someString", false, new Object[]{});
    to make the call signature unique again. This explains the problem with calling the constructors but I'm wondering why are having this trouble because we have fixed all ambiguous invoked constructors some time ago. What svn did you use to checkout RapidMiner?

    Best,
    Nils
  • ccrabb
    ccrabb New Altair Community Member
    Thanks for the respone, Nils!  I used the directions in "Rapid-i Eclipse" here:

    http://rapid-i.com/content/view/25/72/lang,en/ ;

    The SourceForge link is rapidminer.svn.sourceforge.net/svnroot/rapidminer
  • ccrabb
    ccrabb New Altair Community Member
    Solved.  Used the correct branch from SVN.