Thanks, that worked like a charm. As a side note: The order of arguments is important. test.ml std_exit.cmx will work, while std_exit.cmx test.ml will not. On Fri, Feb 3, 2017 at 12:37 PM, Nicolás Ojeda Bär < nicolas.ojeda.bar@lexifi.com> wrote: > That should be std_exit.cmx, not std_exit.ml. > > Sorry about the typo. > > Cheers, > Nicolas > > > On Fri, Feb 3, 2017 at 11:52 AM, Nicolás Ojeda Bär < > nicolas.ojeda.bar@lexifi.com> wrote: > >> Hi Christoph, >> >> You are right, but that is because std_exit.cmx does not get linked by >> default when using -output-obj, so >> in fact you need to add it by hand: >> >> ocamlfind opt -package ANSITerminal -linkpkg -verbose -output-obj -o >> test.object.o test.ml std_exit.ml >> >> Cheers! >> Nicolas >> >> >> >> On Fri, Feb 3, 2017 at 11:15 AM, Christoph Höger < >> christoph.hoeger@celeraone.com> wrote: >> >>> That sounded totally reasonable, but is not the cause. When I think >>> about it, it cannot work that way, since the linker should have complained >>> about a missing symbol, right? >>> >>> On Fri, Feb 3, 2017 at 10:16 AM, Nicolás Ojeda Bär < >>> nicolas.ojeda.bar@lexifi.com> wrote: >>> >>>> Hi Christoph, >>>> >>>> I can't check now, but it sounds like you forgot to link $(ocamlc >>>> -where)/std_exit.o into your executable. >>>> >>>> Cheers! >>>> Nicolas >>>> >>>> >>>> On Fri, Feb 3, 2017 at 9:56 AM, Christoph Höger < >>>> christoph.hoeger@celeraone.com> wrote: >>>> >>>>> Dear all, >>>>> >>>>> I managed to manually link and run an object file generated by >>>>> ocamlopt. A small part seems to be missing, however: >>>>> >>>>> ➜ llvmlink ocamlfind opt -package ANSITerminal -linkpkg -verbose >>>>> -output-obj -o test.object.o test.ml >>>>> >>>>> ➜ llvmlink clang -I$(ocamlc -where) -lm wrapper.c test.object.o -o >>>>> wrapper ~/.opam/4.04.0/lib/ocaml/libunix.a -ldl >>>>> ~/.opam/4.04.0/lib/ocaml/libasmrun.a /home/choeger/.opam/4.04.0/lib >>>>> /ANSITerminal/libANSITerminal_stubs.a >>>>> >>>>> These commands produce an executable output, but the screen remains >>>>> empty. This changes, when I manually flush the stdout buffer in the code (I >>>>> obtain the desired results then). >>>>> >>>>> Find attached the test sources. When I uncomment the Printf.printf in >>>>> test.ml, everything seems to work fine. But when I compile the test >>>>> using ocamlopt solely, this is not necessary. It seems some buffers do not >>>>> get flushed here. Does anyone know, why? >>>>> >>>>> regards, >>>>> >>>>> Christoph >>>>> >>>>> >>>> >>> >> >