Leaning Technologies

LT

Leaning Technologies

The home of Cheerp, CheerpJ, and CheerpX. Chat about virtual machines, compilers, and WebAssembly!

Join

Problems with Cheerpj

Hello, I am trying to get my Java app running in CheerPJ - I was successful in creating a simple "Hello World" app with CheerPJ. However, my actual app (a jar file of about 4MB) doesn't work - it gets stuck at the "Graphics system is initializing" phase. I am looking for help (I am happy to share the actual .jar file if needed). Thank you Guido

Cache Results for Faster Startup?

Hello new user here. Performing initial research into potential commercial application usage. 1) Am I correct to assume that the Translation from Java to JScript is occurring on the Cheerpj server side when a webpage is loaded? 2) In a commercial environment in which a licensed local copy of CheerpJ is loaded, can the 'results' of the translation be cached, thereby serving up the JScript page much faster for subsequent users? Thank you, I am having a lot of fun and initial success so far!...

UnknownHostException happened when the Java application connect to server

UnknownHostException happened when the Java application connect to server. The host name is the same as I download the jar files, so the host should be resolvable.

HTTP server returned compressed partial data. That should not happen. CheerpJ cannot run.

Browser shows error "HTTP server returned compressed partial data. That should not happen. CheerpJ cannot run." when download jar files, the application cannot start. I can use the link to download the jar manually without problem....
Solution:
After I disabled compression in web server, the jar can be downloaded

Accesing the standard out and standard error stream from the Java process

How do I from javascript access the output streams from the started Java process?

Any plan on adding internet access without Tailscale?

Hi there ! Do you plan on adding internet access without the need to install Tailscale etc, that would be a really cool feature :D

r[((0 + c) | 0)] is not a function when instantiating object

Hello, thank you all for developing CheerpJ, it is an impressive tool! I am playing around with trying to run hail, a scientific computing stack based on the JVM, in the browser using CheerpJ as I would love to eventually develop in-browser runnable documentation. I am able to load my JAR successfully, run some static methods on classes of mine and even instantiate some simple classes/case classes (this is a Scala project), but I'm running into the following error when trying to instantiate one of my core classes: ``` a.message: r[((0 + c) | 0)] is not a function a.stacktrace: "TypeError: r[((0 + c) | 0)] is not a function\n at Object.u4 [as a0] (https://cjrtnc.leaningtech.com/3.0rc2/cj3.js:1:10866)\n at PG (https://cjrtnc.leaningtech.com/3.0rc2/cj3.js:1:67131)\n at MessagePort.Uo (https://cjrtnc.leaningtech.com/3.0rc2/cj3.js:1:20680)"...

I'm always looking for the URL of the latest build of cj3loader.js by searching articles

I'm always looking for the URL of the latest build of cj3loader.js by searching articles, but is there a page somewhere that lists the latest builds?

Different behavior between extension and cj3loader

We have a java applet that runs perfectly when using the CheerpJ browser extension, but fails to fully load when using cj3loader script on the webpage. It gets to Initializing Graphics and then goes blank, never actually showing the applet. We originally had some JNI errors in the console but after we upgraded to https://cjrtnc.leaningtech.com/3_20231106_268/cj3loader.js (from the last help post) those errors disappeared. What is the difference between the extension and the loader and how can we get the full applet to run automatically?...

Can I try CheerpX?

I know it's not fully ready yet, but I think it's fine for my use cases in its current state

running java decompiler in browser, weird error

(copy-pasting from #cheerpj3 since i noticed this channel existed) i'm trying to run the procyon java decompiler inside cheerpj (3.0rc1), and i keep getting a JNI acquire failed, tid: 2 i searched the docs and i just have no idea what the error means repo of decompiler i'm trying to run: https://github.com/mstrobel/procyon...

Accessibility of Java applications

Hi team, I noticed that apps running on CheerpJ are not accessible to people with disabilities. This is unfortunate since UIs built with Swing offer decent support for accessibility out of the box. As an open-source contributor to the AccessKit project, I'd like to discuss with you a way to solve this issue, which would help Leaning Tech reach governments and big companies that have accessibility of their software as a hard requirement. I sent a message with more details to your main email addre...

jnlp launch verification fails with 64 bit swt libraries

The launch has below error. Java.lang.unsatisfiesLinkError: cannot load 64-bit SWT libraries on 32-bit JVM...

how to debug why the jar main class is not loading

I am trying to convert old jnlp client to html format. I followed the documentation and used cheerpjRunMain. But still i am getting could not find or load main class. I am sure i have added the jar under app/.

Trying to get CheerpJ to actually launch a program

I'm trying to get CheerpJ to run UPRandomizer in a browser, but I can't figure out how to get it to start. It always gives the error "Error: Could not find or load main class com.dabomstew.pkrandom.gui.RandomizerGUI" Can anyone help me with this?...

Compiling .FMX with CheerpJ

How do you convert .FMX with CheerpJ compiler?

Any idea on how to use wildcards for jar files with many separate jar dependencies?

I've been working on some projects and one of them involves a lot of dependencies in the form of jar files. I would add each one to the deps flag but I ended up realizing I have wayyyyyy too many jar files to fully build a command. Is there a way to use wildcars like *.jar so cheerpj automatically selects all jar files within a directory as dependencies for a single jar file?

Can I try CheerpX for Flash?

From @sergo53:
Hi! I`d like to test the CheerpX for Flash... Where can I download the package? Now I have the Ruffle for the flash-content decision. There are some inconveniences in using it...
Hi @sergo53, you'll have to get in touch (https://leaningtech.com/contact-us) as there are licensing constraints that prevent us from making CheerpX for Flash generally available for download. Please see https://github.com/leaningtech/cheerpx-flash/blob/master/pages/Frequently-Asked-Questions.md#can-i-see-this-in-action for more information 🙂...

File System Emulation

I'm trying to get a file system emulation POC going. https://docs.leaningtech.com/cheerp/Filesystem-emulation The core of my new code for this is as simple as that doc page: ```[[cheerp::genericjs]] void preloadCallback()...

Segmentation fault in linking

@ap87no Like someone else in the help-archive, I'm getting a segmentation fault when I try to link the files I've compiled, which are mostly .c, and only one .cpp file which calls into all the .c code. clang-16: error: unable to execute command: Segmentation fault clang-16: error: optimizer command failed due to signal (use -v to see invocation) ...