Quantcast
Channel: OCaml - Topics tagged dune
Viewing all articles
Browse latest Browse all 521

Linker errors when using the `threads` library and building an object file (.o)

$
0
0

What is a the right way to configure Dune to build an object file that includes the Batteries library? I have tried the following:

let test () = ()

let _ =
  Callback.register "test" test

with the following dune file:

(executable
 (name test)
 (modes object)
 (libraries batteries))

… but I get the following error:

$ dune build test.exe.o
    ocamlopt test.exe.o (exit 2)
(cd _build/default && /home/user/.opam/4.03.0/bin/ocamlopt.opt -w @a-4-29-40-41-42-44-45-48-58-59-60-40 -strict-sequence -strict-formats -short-paths -keep-locs -g -o test.exe.o -output-complete-obj -I /home/user/.opam/4.03.0/lib/batteries -I /home/user/.opam/4.03.0/lib/bytes -I /home/user/.opam/4.03.0/lib/num -I /home/user/.opam/4.03.0/lib/ocaml/threads /home/user/.opam/4.03.0/lib/ocaml/unix.cmxa /home/user/.opam/4.03.0/lib/ocaml/nums.cmxa /home/user/.opam/4.03.0/lib/ocaml/bigarray.cmxa /home/user/.opam/4.03.0/lib/ocaml/str.cmxa /home/user/.opam/4.03.0/lib/ocaml/threads/threads.cmxa /home/user/.opam/4.03.0/lib/batteries/batteries.cmxa /home/user/.opam/4.03.0/lib/batteries/batteriesThread.cmxa .test.eobjs/test.cmx)
ld: fatal error: cannot mix -r with dynamic object //lib/x86_64-linux-gnu/libpthread.so.0
File "caml_startup", line 1:
Error: Error during linking

What am I doing wrong?

10 posts - 7 participants

Read full topic


Viewing all articles
Browse latest Browse all 521

Trending Articles