graalvm 2023-03-23

I'm looking to include https://github.com/jline/jline3 in a Graal-based Clojure project, but I'm running into an issue related to JNA: JNA: Problems loading core IDs: java.lang.Object. I'm new to Graal and don't quite know where to begin troubleshooting. Any suggestions? Is Graal incompatible with JNA? There doesn't seem to be much in the way of documentation on the subject.

Graal is compatible with JNA. Here is a demo project: https://github.com/borkdude/jna-native-image-sci

ah yes, my example was a fork from that example which adds SCI evaluation

thanks for your help!

@him what are you making (if I may ask)?

got it working!

I'm making an asciicast recorder

part of a larger project

the official cast recorder is GPL, I need a non-GPL version

something like asciinema ?

exactly, asciicast is their recording format

will likely open source it if I get it workin'

This is a bit meta, but here is a recording (in asciinema) of me demoing hypo record , which itself has recording capabilities: https://asciinema.org/a/TF1ygU1PU4oxG2msx7jpfmqnt

now all I have to do is convert that byte stream to the asciicast format

but you didn't actually record that recording with hypo right?

the ls with colors was just to test if asciinema could record colors, or did I misunderstand?

yeah that recording was with asciicinema

but then inside that recording I ran hypo's record command

the printed bytes are from hypo

but shortly, I'll be converting the hypo bytes into the asciicast format

at which point it will be compatible with / playable in asciicinema

I only saw "Oh I gotta disable that logging" and "vim works"

> the ls with colors was just to test if asciinema could record colors, or did I misunderstand? That was actually to prove (to myself) that I'm properly shuffling all bytes back and forth through hypo's PTY

in the recording, once 'hypo record' is run, hypo fires up a shell in a PTY and then proxies hypo's stdin / stdout to the shell process via the PTY

oh I thought hypo record didn't work because of the logging messages, but now I get it. really cool :)

yeah the logging is just debug logging from pty4j (I think)

gotta figure out how to swallow it next

Just adding my 2 cents (late): I have a small graalvm-compiled tool I use that includes jline 2.x as a dependency - https://github.com/dekelpilli/cr2.0-encounter-calculator. I don’t know how transferrable it will be to jline3, but feel free to use it as a reference point if you’re still attempting this