title: ELKI does not find class gnu/trove/impl/hash/TObjectHash
body: <p>I have a dataset consisting of around 10000 samples with two features.  I would like to use ELKI to run the LSDBC algorithm and cluster my dataset.  However, I have not been able to get ELKI to work.  After running elki-0.7.0.jar and inputing my desired settings into the gui, regardless of what settings I pick, I get a long stream of error messages in the console input at the bottom of the gui (I have yet to be able to enter all of my desired settings).  This to me indicates that I am missing some dependency, missed some installation step, or somehow not using the software correctly.</p>
  
  <p>Unfortunately, there doesn't seem to be a lot of documentation on ELKI, but it is also has one of the only implementations of LSDBC that I have been able to find.  What I'm looking for are step by step, ELI5, instructions to install and run this algorithm on my dataset (which is in an arff file created by WEKA) and output the results as a csv file; namely an output file indicating the cluster assignment of each sample.  I would additionally like to be able to perform a grid search for the optimal k and alpha values (that is, run the algorithm for several values of k and alpha and save each of the results; afterwards I will determine the optimal values).  I am using Mac OS X Yosemite.</p>
  
  <p>I feel as though this should be a relatively straight forward task, but I have not been able to make any progress.  I have copied the error stream that I have been getting below</p>
  
  <pre><code>gnu/trove/impl/hash/TObjectHash
  java.lang.NoClassDefFoundError: gnu/trove/impl/hash/TObjectHash
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser.&lt;init&gt;(NumberVectorLabelParser.java:127)
      at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser$Parameterizer.makeInstance(NumberVectorLabelParser.java:419)
      at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser$Parameterizer.makeInstance(NumberVectorLabelParser.java:355)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:120)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
      at de.lmu.ifi.dbs.elki.datasource.AbstractDatabaseConnection$Parameterizer.configParser(AbstractDatabaseConnection.java:184)
      at de.lmu.ifi.dbs.elki.datasource.InputStreamDatabaseConnection$Parameterizer.makeOptions(InputStreamDatabaseConnection.java:136)
      at de.lmu.ifi.dbs.elki.datasource.FileBasedDatabaseConnection$Parameterizer.makeOptions(FileBasedDatabaseConnection.java:123)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
      at de.lmu.ifi.dbs.elki.database.StaticArrayDatabase$Parameterizer.makeOptions(StaticArrayDatabase.java:210)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
      at de.lmu.ifi.dbs.elki.workflow.InputStep$Parameterizer.makeOptions(InputStep.java:94)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
      at de.lmu.ifi.dbs.elki.KDDTask$Parameterizer.makeOptions(KDDTask.java:156)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
      at de.lmu.ifi.dbs.elki.application.KDDCLIApplication$Parameterizer.makeOptions(KDDCLIApplication.java:79)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
      at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.doSetParameters(MiniGUI.java:372)
      at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.updateParameterTable(MiniGUI.java:359)
      at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI$5.tableChanged(MiniGUI.java:277)
      at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
      at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:275)
      at de.lmu.ifi.dbs.elki.gui.util.ParametersModel.setValueAt(ParametersModel.java:130)
      at javax.swing.JTable.setValueAt(JTable.java:2741)
      at javax.swing.JTable.editingStopped(JTable.java:4723)
      at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141)
      at javax.swing.AbstractCellEditor.stopCellEditing(AbstractCellEditor.java:85)
      at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1010)
      at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mousePressed(BasicTableUI.java:798)
      at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
      at java.awt.Component.processMouseEvent(Component.java:6532)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at [...]
  Caused by: java.lang.ClassNotFoundException: gnu.trove.impl.hash.TObjectHash
      at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser.&lt;init&gt;(NumberVectorLabelParser.java:127)
      at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser$Parameterizer.makeInstance(NumberVectorLabelParser.java:419)
      at de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser$Parameterizer.makeInstance(NumberVectorLabelParser.java:355)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:120)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
      at de.lmu.ifi.dbs.elki.datasource.AbstractDatabaseConnection$Parameterizer.configParser(AbstractDatabaseConnection.java:184)
      at de.lmu.ifi.dbs.elki.datasource.InputStreamDatabaseConnection$Parameterizer.makeOptions(InputStreamDatabaseConnection.java:136)
      at de.lmu.ifi.dbs.elki.datasource.FileBasedDatabaseConnection$Parameterizer.makeOptions(FileBasedDatabaseConnection.java:123)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
      at de.lmu.ifi.dbs.elki.database.StaticArrayDatabase$Parameterizer.makeOptions(StaticArrayDatabase.java:210)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ClassParameter.instantiateClass(ClassParameter.java:234)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.ObjectParameter.instantiateClass(ObjectParameter.java:152)
      at de.lmu.ifi.dbs.elki.workflow.InputStep$Parameterizer.makeOptions(InputStep.java:94)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
      at de.lmu.ifi.dbs.elki.KDDTask$Parameterizer.makeOptions(KDDTask.java:156)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
      at de.lmu.ifi.dbs.elki.application.KDDCLIApplication$Parameterizer.makeOptions(KDDCLIApplication.java:79)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer.make(AbstractParameterizer.java:116)
      at de.lmu.ifi.dbs.elki.utilities.ClassGenericsUtil.tryInstantiate(ClassGenericsUtil.java:252)
      at de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.TrackParameters.tryInstantiate(TrackParameters.java:213)
      at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.doSetParameters(MiniGUI.java:372)
      at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI.updateParameterTable(MiniGUI.java:359)
      at de.lmu.ifi.dbs.elki.gui.minigui.MiniGUI$5.tableChanged(MiniGUI.java:277)
      at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296)
      at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:275)
      at de.lmu.ifi.dbs.elki.gui.util.ParametersModel.setValueAt(ParametersModel.java:130)
      at javax.swing.JTable.setValueAt(JTable.java:2741)
      at javax.swing.JTable.editingStopped(JTable.java:4723)
      at javax.swing.AbstractCellEditor.fireEditingStopped(AbstractCellEditor.java:141)
      at javax.swing.AbstractCellEditor.stopCellEditing(AbstractCellEditor.java:85)
      at javax.swing.plaf.basic.BasicTableUI$Handler.mousePressed(BasicTableUI.java:1010)
      at javax.swing.plaf.basic.BasicTableUI$MouseInputHandler.mousePressed(BasicTableUI.java:798)
      at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280)
      at java.awt.Component.processMouseEvent(Component.java:6532)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6300)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4891)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2750)
      at java.awt.Component.dispatchEvent(Component.java:4713)
      at [...]
  </code></pre>