I’ve building my own nodes using the python extension. I’ve been working to make them work on Windows and Linux (not tried with macOS). I’ve done two versions of the nodes, one for 4.7 and other for 5.1 (at least when trying to use the 5.1 version in KNIME 4.7, it fails and viceversa).
When installing locally the nodes in Windows 11, all run smoothly, for 4.7 and 5.1. When doing the same in Linux, for 5.1 nodes work, but for 4.7, I have the following error:
An error occurred while installing the items
session context was:(profile=KNIMEProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Install, operand=null → [R]com.pharmacelera.lib_prep.channel.bin.linux.x86_64 0.1.0.202308041348, action=org.knime.product.p2.actions.ShellExec).
ShellExec command exited non-zero exit value:
I’ve used the same build_python_extension.bat (changing environment so it call the 4.7 or 5.1 versions). In principle, I’m working on X86_64 machines. This is happening for a virtual machine I have and also for a fresh linux installation.
Any clue? Funny thing is that I want to compare my nodes with fingerprints of RDKit, but apparently right now, it will be not available till 5.1.1. Doing now with CDK in the meanwhile.
Back from holidays, I’ve been checking different options. Finally, I’ve found the solution. I was creating the node for 4.7 using a conda environment the pointed to a knime-extension-bundling=4.7. Doing that, I got the error above.
Tested the node and it worked on linux. Here my question then is that you need always to compile your node against the KNIME version you want to execute it, I guess. It’s not that new versions of KNIME, like 5.1 can run previous versions, like 4.7. Is that right?
yes, we will update that docs section soon: The different version parameters are currently necessary for the different KAP versions (4.7, 5.1,…) and a new each extension needs to be built for each KAP version.