deephaven/deephaven-core

pythonLib must be absolute error from python embedded server

Closed this issue · 0 comments

@mofojed was getting an error trying to startup the python embedded server on Ubuntu 20.04. We ensured that libpython3.8 was installed. jpyutil on starting the jvm was trying to find libpython (even though java shouldn't technically need that information in this case), but was unable to properly search for it (potentially, there is a better way for jpy/python to introspect itself?) - and was defaulting to libpython3.8.so.1.0 instead of the full path to the actual file, resulting in the error:

java.lang.IllegalArgumentException: pythonLib must be absolute, is 'libpython3.8.so.1.0'                                                                                                      
        at io.deephaven.jpy.JpyConfig.ensureAbsolute(JpyConfig.java:99)                                                                                                                       
        at io.deephaven.jpy.JpyConfig.<init>(JpyConfig.java:123)                                                                                                                              
        at io.deephaven.jpy.JpyConfigSource.asJpyConfig(JpyConfigSource.java:129)                                                                                                             
        at io.deephaven.engine.util.jpy.JpyInit.init(JpyInit.java:36)                                                                                                                         
        at io.deephaven.engine.util.PythonEvaluatorJpy.withGlobals(PythonEvaluatorJpy.java:41)                                                                                                
        at io.deephaven.server.console.python.PythonGlobalScopeModule.providePythonEvaluatorJpy(PythonGlobalScopeModule.java:19)                                                              
        at io.deephaven.server.console.python.PythonGlobalScopeModule_ProvidePythonEvaluatorJpyFactory.providePythonEvaluatorJpy(PythonGlobalScopeModule_ProvidePythonEvaluatorJpyFactory.java
:27)                                                                                                                                                                                          
        at io.deephaven.server.console.python.PythonGlobalScopeModule_ProvidePythonEvaluatorJpyFactory.get(PythonGlobalScopeModule_ProvidePythonEvaluatorJpyFactory.java:19)                  
        at io.deephaven.server.console.python.PythonGlobalScopeModule_ProvidePythonEvaluatorJpyFactory.get(PythonGlobalScopeModule_ProvidePythonEvaluatorJpyFactory.java:8)                   
        at io.deephaven.server.console.python.PythonConsoleSessionModule_BindPythonSessionFactory.get(PythonConsoleSessionModule_BindPythonSessionFactory.java:40)                            
        at io.deephaven.server.console.python.PythonConsoleSessionModule_BindPythonSessionFactory.get(PythonConsoleSessionModule_BindPythonSessionFactory.java:12)                            
        at io.deephaven.server.console.python.PythonConsoleSessionModule_BindScriptSessionFactory.get(PythonConsoleSessionModule_BindScriptSessionFactory.java:31)                            
        at io.deephaven.server.console.python.PythonConsoleSessionModule_BindScriptSessionFactory.get(PythonConsoleSessionModule_BindScriptSessionFactory.java:10)                            
        at io.deephaven.server.runner.DeephavenApiServerModule.provideScriptSession(DeephavenApiServerModule.java:96)                                                                         
        at io.deephaven.server.runner.DeephavenApiServerModule_ProvideScriptSessionFactory.provideScriptSession(DeephavenApiServerModule_ProvideScriptSessionFactory.java:42)                 
        at io.deephaven.server.runner.DeephavenApiServerModule_ProvideScriptSessionFactory.get(DeephavenApiServerModule_ProvideScriptSessionFactory.java:31)                                  
        at io.deephaven.server.runner.DeephavenApiServerModule_ProvideScriptSessionFactory.get(DeephavenApiServerModule_ProvideScriptSessionFactory.java:10)                                  
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)                                                                                                                               
        at io.deephaven.server.runner.DeephavenApiServer.run(DeephavenApiServer.java:112)                                                                                                     
        at io.deephaven.python.server.EmbeddedServer.start(EmbeddedServer.java:78)