AnsweredAssumed Answered

Unable to load library 'iodbc': Native library (linux-x86-64/libiodbc.so) not found in resource path

Question asked by lukas.lalinsky on Apr 28, 2016
Latest reply on Apr 28, 2016 by lukas.lalinsky

I'm trying to install the Drill ODBC driver on Linux, but I seem to be unable to use the Drill Explorer. I'm doing this on Ubuntu, so I converted the RPM to DEB and the Drill Explorer is able start, but when I try to do something, it fails with the following error. It seems to be missing libiodbc.so. Any ideas how to install the library?

 

Java Classpath: /opt/mapr/drillodbc/DrillExplorer/app/DrillExplorer.jar:libs/hadoop-common-0.23.9.jar:libs/jna.jar:libs/json-20141113.jar:resources/Version.txt:resources/images/cftable.ico:resources/images/cftable2.png:resources/images/csv.png:resources/images/database.ico:resources/images/database.png:resources/images/file.ico:resources/images/folder.ico:resources/images/json.png:resources/images/parquet.png:resources/images/table.ico:resources/images/tsv.png:resources/images/view.ico

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

  at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1762)

  at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1645)

  at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)

  at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)

  at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)

  at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)

  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)

  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

  at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)

  at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)

  at javafx.event.Event.fireEvent(Event.java:198)

  at javafx.scene.Node.fireEvent(Node.java:8216)

  at javafx.scene.control.Button.fire(Button.java:185)

  at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)

  at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)

  at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)

  at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)

  at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)

  at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)

  at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)

  at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)

  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)

  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

  at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)

  at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)

  at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)

  at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)

  at javafx.event.Event.fireEvent(Event.java:198)

  at javafx.scene.Scene$MouseHandler.process(Scene.java:3724)

  at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3452)

  at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1728)

  at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2461)

  at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:348)

  at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:273)

  at java.security.AccessController.doPrivileged(Native Method)

  at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:382)

  at com.sun.glass.ui.View.handleMouseEvent(View.java:553)

  at com.sun.glass.ui.View.notifyMouse(View.java:925)

  at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)

  at com.sun.glass.ui.gtk.GtkApplication.lambda$null$45(GtkApplication.java:126)

  at com.sun.glass.ui.gtk.GtkApplication$$Lambda$43/2805718.run(Unknown Source)

  at java.lang.Thread.run(Thread.java:745)

Caused by: 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:483)

  at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)

  at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:483)

  at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)

  at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1759)

  ... 51 more

Caused by: java.lang.UnsatisfiedLinkError: Unable to load library 'iodbc': Native library (linux-x86-64/libiodbc.so) not found in resource path ([file:/opt/mapr/drillodbc/DrillExplorer/app/DrillExplorer.jar, file:/opt/mapr/drillodbc/DrillExplorer/app/libs/hadoop-common-0.23.9.jar, file:/opt/mapr/drillodbc/DrillExplorer/app/libs/jna.jar, file:/opt/mapr/drillodbc/DrillExplorer/app/libs/json-20141113.jar, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/Version.txt, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/cftable.ico, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/cftable2.png, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/csv.png, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/database.ico, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/database.png, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/file.ico, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/folder.ico, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/json.png, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/parquet.png, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/table.ico, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/tsv.png, file:/opt/mapr/drillodbc/DrillExplorer/app/resources/images/view.ico])

  at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:271)

  at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)

  at com.sun.jna.Library$Handler.<init>(Library.java:147)

  at com.sun.jna.Native.loadLibrary(Native.java:414)

  at com.sun.jna.Native.loadLibrary(Native.java:393)

  at com.simba.odbc.ODBCConnection$DrillODBC.<clinit>(Unknown Source)

  at com.simba.odbc.ODBCUtils.getDataSources(Unknown Source)

  at com.simba.drill.DRConnection.getDataSources(Unknown Source)

  at com.simba.schemaexplorer.ConnectionPaneController.populateDSNList(Unknown Source)

  at com.simba.schemaexplorer.SchemaExplorerController.connect(Unknown Source)

  ... 61 more

Outcomes