elki-project / elki

ELKI Data Mining Toolkit
https://elki-project.github.io/
GNU Affero General Public License v3.0
781 stars 321 forks source link

How can I access class "description" if GNOME error is thrown all the time? #73

Closed dkajtoch closed 4 years ago

dkajtoch commented 4 years ago

I am trying to list parameters which I can pass to e.g. DBSCAN but there is no way to do that since GNOME error is blocking everything:

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at de.lmu.ifi.dbs.elki.application.ELKILauncher.main(ELKILauncher.java:72)
Caused by: java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
    at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:807)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:886)
    at de.lmu.ifi.dbs.elki.gui.GUIUtil.setLookAndFeel(GUIUtil.java:73)
    at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.main(MiniGUI.java:497)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at de.lmu.ifi.dbs.elki.application.ELKILauncher.main(ELKILauncher.java:72)

I have my ELKI package located in src and I am running:

java -jar src/elki/elki-0.7.0.jar -description de.lmu.ifi.dbs.elki.algorithm.clustering.hierarchical.DBSCAN

I also tried

java -cp "src/elki/*:src/dependency/*" -description de.lmu.ifi.dbs.elki.algorithm.clustering.DBSCAN

but description does not exists.

kno10 commented 4 years ago

You can install ATK, so that Java AWT does not produce this error. Note that the error is in java.awt.Toolkit.getDefaultToolkit. Catching this differently will just cause a different error later, I guess.

But you intend to use the command line interface, add KDDCLIApplication (or short "cli") as first argument. I will check if the documentation needs updating.

Please use a current ELKI, not the 2015 version. In fact, I recommend to use the github version.

Closing, because this is a usage not so much a code error (although the error could be more helpful, obviously, and documentation may need improvement).

dkajtoch commented 4 years ago

thanks I will try it!

kno10 commented 4 years ago

The newest git version should catch the AWT/Gnome error above (minigui will likely still not work, but the next error may be more understandable, such as no X11 display available). Also, it will default to the CLI when used headless. Last but not least, I have refreshed the examplecalls documentation.