JRE Error when building Python Extension local update site

Hi All,
Thanks for providing the excellent Python Node Extension interface! I’ve been following the excellent documentation here and this forum post.
I am now having some errors when trying to build a local site. The error says:

[ERROR] Caused by: Type org.eclipse.tycho.build.TychoGraphBuilder not present
[ERROR] Caused by: org/eclipse/tycho/build/TychoGraphBuilder has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

I am a Python developer so I don’t really understand the Java ecosystem here. So any insight you can provide would be helpful!
I have looked at this forum topic that has a similar but I don’t understand the solution posted.
I am building with Mac OSX and running the KNIME AP 4.7
Thanks for your help!

Hi Matthew,

glad you like it!
does that happen when you try to bundle the extension via the build_python_extension.py script? Can you give us some surroundings? I do not see what happens before these errors and where exactly the script is failing.


1 Like

Hi Steffen,
Thanks for getting back to me so quickly!
Yes, this happens when I run the build_python_extension.py from the conda build environment. I wonder there is some system library issue going on because – as far as I am aware – I have to run the build command with sudo as the KNIME AP is installed in /Applications.
For context, I am building a compound SMILES standardization node that wraps the functionality of the ChEMBL Structure Pipeline as a proof of concept to see how the build and deployment process works.
The build downloads the corresponding conda libraries then fails with a Maven build error. So I am guessing that the Python set up is passing but there is some issue with my Java set up.

For more detail, there are a number of Java errors but they all appeard to be related to org.eclipse.tycho.build.TychoGraphBuilder.
For example,

[WARNING] Error injecting: org.eclipse.tycho.build.TychoGraphBuilder
java.lang.TypeNotPresentException: Type org.eclipse.tycho.build.TychoGraphBuilder not present


[WARNING] Error injecting: org.apache.maven.DefaultMaven
com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error in custom provider, java.lang.TypeNotPresentException: Type org.eclipse.tycho.build.TychoGraphBuilder not present
  at ClassRealm[coreExtension>org.eclipse.tycho:tycho-build:2.7.4, parent: ClassRealm[plexus.core, parent: null]] (via modules: org.eclipse.sisu.wire.WireModule -> org.eclipse.sisu.plexus.PlexusBindingModule)
  while locating org.apache.maven.graph.GraphBuilder annotated with @com.google.inject.name.Named(value=graphBuilder)
  while locating org.apache.maven.DefaultMaven

1 error

Does this help? I can print the full output if you want.

Hi Matthew,

I cannot follow your link to system restrictions: where the KNIME AP is located has nothing to do with where a) the Python files you want to bundle are located or b) the conda environment you use for bundling is located. Is the latter maybe in some ‘restricted area’?

Anyway, thanks for the other data. Could you please tell me which version of knime-extension-bundling you use?

conda activate <your_env>
conda list knime

Could you then please try with the latest nightly version of the package knime-extension-bundling again?

conda create -n knime-ext-bundling_new -c knime/label/nightly -c conda-forge knime-extension-bundling
conda activate knime-ext-bundling_new
build_python_extension.py --knime-version 5.1 <path/to/directoryof/myextension/> <path/to/directoryof/output>

If the issue persists, could you add --render-folder <path_to_location_for_a_render_folder> and maybe share a link to that?

Thanks and sorry for the issues here.

Best regards

1 Like

Thanks Steffen!

My system doubt was me wondering whether was was some java library linking that required sudo priviledges… because the Java ecosystem is a mystery to me. Either way, your suggestion to use the nightly build has worked perfectly!

For completeness:

The knime version is 4.7.0.

$ conda list knime
# packages in environment at /Users/matthewseddon/miniconda3/envs/knime-ext-bundling:
# Name                    Version                   Build  Channel
knime-extension-bundling  4.7.0                         4    knime

Updating to the nightly build enabled the local site build to run without errors and create the .jar files.

Thank you so much for your help!

Hi Matthew,

I’m glad it worked out with the latest package. Could you please do me a favor and verify that
it also works if built for KNIME Analytics Platform 4.7?

build_python_extension.py --knime-version 4.7 <path/to/directoryof/myextension/> <path/to/directoryof/output>

Thanks in advance!
(and yes we will remove the nightly flag with the 5.1 release and then the ‘normal’ command with the ‘normal’ channel knime will work just as good)

Best regards

Hi Steffen,
I have run the build specifying the 4.7 version and can confirm that the build runs without errors. I am having some issues installing the local site but the build finishes without errors.
Thanks again!


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