Running bytecode executable with ocamlrun crashes: "Fatal error: unknown C primitive `ml_gtk_stack_add_named'"
Closed this issue · 1 comments
hugrs commented
When I run any program that uses lablgtk with ocamlrun I get this error:
> ocamlrun ../_build/default/lablgtk/examples/tooltip.bc
Fatal error: unknown C primitive `ml_gtk_stack_add_named'
fish : Tâche , 'ocamlrun ../_build/default/labl…' terminée par le signal SIGABRT (Abandon)
>
Now I'm a bit embarrassed because I believe this was introduced in my pull request, which was commit 1aa3582.
Here is how I reproduce it on my computer:
I'm using one of the examples for demonstration.
hugo ~/Bur/mgp/lablgtk ((034d4fbb…))> git checkout 1aa358238b0f43efdd287f5d1d9bef81a4ae8b53
HEAD est maintenant sur 1aa35823 Add bindings for GtkStack and GtkStackSwitcher (#122)
hugo ~/Bur/mgp/lablgtk ((1aa35823…))> dune clean && dune build @all
....
hugo ~/Bur/mgp/lablgtk ((1aa35823…))> ocamlrun ../_build/default/lablgtk/examples/tooltip.bc
Fatal error: unknown C primitive `ml_gtk_stack_add_named'
fish : Tâche , 'ocamlrun ../_build/default/labl…' terminée par le signal SIGABRT (Abandon)
hugo ~/Bur/mgp/lablgtk ((1aa35823…)) [SIGABRT]>
For comparison, the problem doesn't occur if I switch to the commit right before that (034d4fb)
~/Bur/mgp/lablgtk (lablgtk3)> git checkout 034d4fbb1f09431048dd4231bf2ba9c69db59e6a
HEAD est maintenant sur 034d4fbb Fix #116 : problem with GPack.layout adjustments
hugo ~/Bur/mgp/lablgtk ((034d4fbb…))> dune clean && dune build @all
hugo ~/Bur/mgp/lablgtk ((034d4fbb…))> ocamlrun ../_build/default/lablgtk/examples/tooltip.bc
// Runs properly
I'd be happy to help solving it but sadly I don't understand why this happens.
If this helps I'm running Linux Mint 20.04.
ejgallego commented
This is due to not having setup OCaml ld's patch correctly, you can use dune exec
for that:
dune exec -- examples/tooltip.bc
works.