Knime AI extension installation problem - Linux

Hello,

I have seen there were some troubles for other users to install AI extension.
However I believe my case is slightly different. I have 2 computers, running Kubuntu 20.04 and 22.04. I am running KAP 5.2.0 on both instances. I managed to successfully install the extension on 22.04, but I have problems with 20.04.

The extension seems to be successfully installed, however I cannot find the nodes or the configuration in Knime settings for it. Knime automatically suggest installing the extension, when I am trying to open the workflow with the extension nodes, however in the end of the installation it says that extension already installed.

And here is a snippet of a log file:

2024-01-18 10:15:13,329 : DEBUG : ModalContext :  : FileWorkflowPersistor : OpenAI Agent : 3 : Unable to load node with ID suffix 106 into workflow, skipping it: Node "OpenAI Authenticator" not available from extension "KNIME AI Extension" (provided by "KNIME AG, Zurich, Switzerland"; plugin "org.knime.python.llm" is installed)
org.knime.core.node.workflow.WorkflowPersistor$NodeFactoryUnknownException: Node "OpenAI Authenticator" not available from extension "KNIME AI Extension" (provided by "KNIME AG, Zurich, Switzerland"; plugin "org.knime.python.llm" is installed)
	at org.knime.core.node.workflow.FileNativeNodeContainerPersistor.preLoadNodeContainer(FileNativeNodeContainerPersistor.java:184)
	at org.knime.core.node.workflow.FileWorkflowPersistor.loadNodeContainer(FileWorkflowPersistor.java:1039)
	at org.knime.core.node.workflow.WorkflowManager.postLoad(WorkflowManager.java:8919)
	at org.knime.core.node.workflow.WorkflowManager.loadContent(WorkflowManager.java:8821)
	at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8684)
	at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8605)
	at org.knime.core.node.workflow.WorkflowManager.load(WorkflowManager.java:8578)
	at org.knime.core.node.workflow.WorkflowManager.loadProject(WorkflowManager.java:8423)
	at org.knime.workbench.editor2.LoadWorkflowRunnable.run(LoadWorkflowRunnable.java:199)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Caused by: org.knime.core.node.InvalidSettingsException: Unknown factory class "org.knime.python3.nodes.extension.ExtensionNodeSetFactory$DynamicExtensionNodeFactory" -- not registered via extension point
	at org.knime.core.node.workflow.FileNativeNodeContainerPersistor.loadNodeFactory(FileNativeNodeContainerPersistor.java:339)
	at org.knime.core.node.workflow.FileNativeNodeContainerPersistor.preLoadNodeContainer(FileNativeNodeContainerPersistor.java:181)
	... 9 more

I tried to delete an re-install the package, I also tried to install it on a clean Knime installation. I also deleted the Python environments manually that are created during the installation process. So far it did not help.

1 Like

I checked the logs more accurately and this is what I managed to extract from error log.
llm.log (23.6 KB)

And I think I found the reason:

2024-01-18 14:43:53,158 : ERROR : Worker-1: Node Repository Loader :  : PurePythonNodeSetFactory :  :  : Failed to parse Python node extension at path '/home/artem/work/software/knime_5.2.0/plugins/org.knime.python.llm_5.2.0.202312061509/src/main/python'.
An exception was raised by the Python Proxy. Return Message: Traceback (most recent call last):
  File "/home/artem/work/software/knime_5.2.0/bundling/envs/org_knime_python_llm/lib/python3.11/site-packages/py4j/clientserver.py", line 617, in _call_proxy
    return_value = getattr(self.pool[obj_id], method)(*params)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/artem/work/software/knime_5.2.0/plugins/org.knime.python3.nodes_5.2.0.v202311290857/src/main/python/_node_backend_launcher.py", line 903, in loadExtension
    raise RuntimeError(
RuntimeError: Failed to load extension org.knime.python.llm from knime_llm with error: Traceback (most recent call last):
  File "/home/artem/work/software/knime_5.2.0/plugins/org.knime.python3.nodes_5.2.0.v202311290857/src/main/python/_node_backend_launcher.py", line 898, in loadExtension
    importlib.import_module(extension_module)
OSError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/artem/work/software/knime_5.2.0/bundling/envs/org_knime_python_llm/lib/python3.11/site-packages/gpt4all/llmodel_DO_NOT_MODIFY/build/libllmodel.so)
java.io.IOException: An exception was raised by the Python Proxy. Return Message: Traceback (most recent call last):
  File "/home/artem/work/software/knime_5.2.0/bundling/envs/org_knime_python_llm/lib/python3.11/site-packages/py4j/clientserver.py", line 617, in _call_proxy
    return_value = getattr(self.pool[obj_id], method)(*params)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/artem/work/software/knime_5.2.0/plugins/org.knime.python3.nodes_5.2.0.v202311290857/src/main/python/_node_backend_launcher.py", line 903, in loadExtension
    raise RuntimeError(
RuntimeError: Failed to load extension org.knime.python.llm from knime_llm with error: Traceback (most recent call last):
  File "/home/artem/work/software/knime_5.2.0/plugins/org.knime.python3.nodes_5.2.0.v202311290857/src/main/python/_node_backend_launcher.py", line 898, in loadExtension
    importlib.import_module(extension_module)
OSError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/artem/work/software/knime_5.2.0/bundling/envs/org_knime_python_llm/lib/python3.11/site-packages/gpt4all/llmodel_DO_NOT_MODIFY/build/libllmodel.so)


	at org.knime.python3.FreshPythonGatewayFactory.create(FreshPythonGatewayFactory.java:86)
	at org.knime.python3.QueuedPythonGatewayFactory$PythonGatewayQueue.enqueueGateway(QueuedPythonGatewayFactory.java:301)
	at org.knime.python3.QueuedPythonGatewayFactory$PythonGatewayQueue.lambda$1(QueuedPythonGatewayFactory.java:267)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: py4j.Py4JException: An exception was raised by the Python Proxy. Return Message: Traceback (most recent call last):
  File "/home/artem/work/software/knime_5.2.0/bundling/envs/org_knime_python_llm/lib/python3.11/site-packages/py4j/clientserver.py", line 617, in _call_proxy
    return_value = getattr(self.pool[obj_id], method)(*params)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/artem/work/software/knime_5.2.0/plugins/org.knime.python3.nodes_5.2.0.v202311290857/src/main/python/_node_backend_launcher.py", line 903, in loadExtension
    raise RuntimeError(
RuntimeError: Failed to load extension org.knime.python.llm from knime_llm with error: Traceback (most recent call last):
  File "/home/artem/work/software/knime_5.2.0/plugins/org.knime.python3.nodes_5.2.0.v202311290857/src/main/python/_node_backend_launcher.py", line 898, in loadExtension
    importlib.import_module(extension_module)
OSError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/artem/work/software/knime_5.2.0/bundling/envs/org_knime_python_llm/lib/python3.11/site-packages/gpt4all/llmodel_DO_NOT_MODIFY/build/libllmodel.so)


	at py4j.Protocol.getReturnValue(Protocol.java:476)
	at py4j.reflection.PythonProxyHandler.invoke(PythonProxyHandler.java:108)
	at jdk.proxy6/jdk.proxy6.$Proxy13.loadExtension(Unknown Source)
	at org.knime.python3.nodes.PythonNodeGatewayFactory$KnimeNodeBackendCustomizer.customize(PythonNodeGatewayFactory.java:170)
	at org.knime.python3.nodes.PythonNodeGatewayFactory$KnimeNodeBackendCustomizer.customize(PythonNodeGatewayFactory.java:1)
	at org.knime.python3.FreshPythonGatewayFactory.create(FreshPythonGatewayFactory.java:82)
	... 5 more

The library glibc_2.32 is not available for Ubuntu 20.04. The latest version available in the repo is 2.31. Some searching about this gave me the answer that it is better to keep the default glibc version, since installing a custom version might lead to some OS issues due to multiple dependencies in this library.

I guess it means I cannot use AI extension in Ubuntu 20.04. However maybe dev team could take a look at this issue an create bit more user friendly error message in Knime log.

Hi Artem,
Thank you for bringing it up and figuring out what the problem is.
With 5.2.1 this will be fixed and you should then also be able to use the AI Extension, with the exception of the GPT4All nodes which are the culprit here.

Cheers
Adrian

3 Likes

Thanks Adrian,

My primary goal here is the ChatGPT integration, so I can go without GPT4All. Still as I mentioned previously everything works just fine on Ubuntu 22.04. I guess there are not many people running 20.04 anymore.

Best,
Artem.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.