"RapidMiner R extension - Some WARNINGs... (SOLVED)"

leiterenato
leiterenato New Altair Community Member
edited November 5 in Community Q&A
Hi Guys,

Finally my RapidMiner is working with R extension in MacOSX Lion! (I'll post how I did that later)
Besides that I still get some WARNING messages:

WARNING #1

[Fatal Error] :1:1: Content is not allowed in prolog.
Sep 22, 2011 1:01:20 AM com.rapidminer.operator.r.ROperatorFactory readROperatorFragments
WARNING: Could not read R fragments from 'file:/Users/leiterenato/Desktop/rapidminer/lib/', error: Content is not allowed in prolog.
org.xml.sax.SAXParseException: Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
at com.rapidminer.io.process.XMLTools.parse(XMLTools.java:175)
at com.rapidminer.operator.r.ROperatorFactory.readROperatorFragments(ROperatorFactory.java:166)
at com.rapidminer.operator.r.ROperatorFactory.<init>(ROperatorFactory.java:129)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:294)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:232)
at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:206)
at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:471)
at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:725)
at com.rapidminer.tools.OperatorService.init(OperatorService.java:167)
at com.rapidminer.RapidMiner.init(RapidMiner.java:465)
at com.rapidminer.gui.RapidMinerGUI.run(RapidMinerGUI.java:221)
at com.rapidminer.gui.RapidMinerGUI.launch(RapidMinerGUI.java:505)
at com.rapidminer.gui.RapidMinerGUI.main(RapidMinerGUI.java:488)


WARNING #2

[Fatal Error] :1:1: Content is not allowed in prolog.
Sep 22, 2011 1:01:20 AM com.rapidminer.operator.r.ROperatorFactory <init>
WARNING: Could not read documentation of user defined R operators from .
java.io.IOException: Malformed XML operator help bundle: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at com.rapidminer.tools.documentation.XMLOperatorDocBundle.<init>(XMLOperatorDocBundle.java:119)
at com.rapidminer.operator.r.ROperatorFactory.<init>(ROperatorFactory.java:150)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:294)
at com.rapidminer.tools.OperatorService.parseOperators(OperatorService.java:232)
at com.rapidminer.tools.OperatorService.registerOperators(OperatorService.java:206)
at com.rapidminer.tools.plugin.Plugin.registerOperators(Plugin.java:471)
at com.rapidminer.tools.plugin.Plugin.registerAllPluginOperators(Plugin.java:725)
at com.rapidminer.tools.OperatorService.init(OperatorService.java:167)
at com.rapidminer.RapidMiner.init(RapidMiner.java:465)
at com.rapidminer.gui.RapidMinerGUI.run(RapidMinerGUI.java:221)
at com.rapidminer.gui.RapidMinerGUI.launch(RapidMinerGUI.java:505)
at com.rapidminer.gui.RapidMinerGUI.main(RapidMinerGUI.java:488)
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
at com.rapidminer.tools.documentation.XMLOperatorDocBundle.<init>(XMLOperatorDocBundle.java:117)
... 17 more
.....

WARNING #3

ARGUMENT 'LANGUAGE=en' __ignored__

Any idea what these WARNINGs are about?
Should I be worried about that?

I know that #2 is because RapidMiner can't get R documentation. How do I fix that?

Thanks in advance.
Renato Leite

Answers

  • mdc
    mdc New Altair Community Member
    Hi Renato,

    Can you post your solution?
    I bought my first Mac (Lion) and I've been struggling to make the R extension work.

    thanks,
    Matthew
  • leiterenato
    leiterenato New Altair Community Member
    Hi Matt,

    I've just posted the solution in the following post:

    http://rapid-i.com/rapidforum/index.php/topic,4113.0.html

    Please let me know if you got the same WARNINGs when executing from terminal and if you have any suggestion to solve that.

    Thanks,
    Renato Leite
  • mdc
    mdc New Altair Community Member
    Thanks Renato.

    I finally got it working after I installed the Tcl/tk package from your link. I initially installed tcl/tk2 from within R.

    I get the same warning ("...Content is not allowed in prolog...")  and I have no idea how to fix it. My processes are working ok, so I don't know if I would bother fixing it.

    Matthew
  • ad_astra
    ad_astra New Altair Community Member
    These warnings actually caused an ERROR when I was installing the R extension for rapidminer.

    It created a cryptic error like" Content is not allowed in prolog".  By googling around, I found this cryptic error can be caused by the XML reader barfing on a non-existent file, which is being looked for in those 2 warnings above.  The user fragment documentation, whatever that is?

    I was able to FIX this error by going into Rapidminer-->Tools-->Preferences-->R  

    the first  field should be your library, /Library/Frameworks/R.framework/Versions/2.15/Resources/library/rJava/jri/libjri.jnilib

    and I just copied in anything to the next two fields, so the XML parser wouldn't throw an uncaught exception.  So I just copied the exact same path from above (the one for the dll) into those two fields.  Of course it throws warnings because it isn't expecting the dll but it continues on with just a warning and the R extension works correctly!!!

    I spent FOREVER messing with my PATHs thinking I was doing something wrong, and maybe if my PATHs are set correctly then rapidminer knows where to find what its looking for.  

    There were three things that weren't explained well in the installation documentation for MacOSX users.  
    1) when it asks for the dll, give it the dll listed above, I think if you pick other ones it also messes up, such as REngine or RLib
    2) I didn't know where to change the DLL once it is set, since it automatically rediscovers the one you set previously even if it is wrong.  
    3) Whats up with the user fragment documentation warnings and in my case ERRORS


    Best regards,
    Robert
  • pmiddlet
    pmiddlet New Altair Community Member
    Ad-Astra,

    I responded to this in another thread.  I agree with your assessment that the xml parser is looking for something and java is throwing a fatal error when it returns nil after being forced to look for this. The 'fragments' as they call them I believe are user code and documentation for that code. However I think the bug is the fact that they are being forced to load, when in fact they should be optional and not critical to loading RM. This, among the other facets of RM and the R extension, are at best frustrating. I don't see a whole lot of replies to this - hence, my opinion is that they either haven't looked at it, can't solve it, or are waiting until we're frustrated enough to buy a support license. In the final case the problem will still exist for Mac users, but someone will be responsible for fixing it while-U-wait and pay on the license :) That doesn't add alot of value in my book (and could even appear a bit underhanded) despite the other good tenants of the software.