From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by sympa.inria.fr (Postfix) with ESMTPS id 311CB7EDE3 for ; Mon, 15 Oct 2012 14:22:00 +0200 (CEST) Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of rixed@happyleptic.org) identity=pra; client-ip=213.251.171.101; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="rixed@happyleptic.org"; x-sender="rixed@happyleptic.org"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of rixed@happyleptic.org) identity=mailfrom; client-ip=213.251.171.101; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="rixed@happyleptic.org"; x-sender="rixed@happyleptic.org"; x-conformance=sidf_compatible Received-SPF: None (mail1-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@eneide.happyleptic.org) identity=helo; client-ip=213.251.171.101; receiver=mail1-smtp-roc.national.inria.fr; envelope-from="rixed@happyleptic.org"; x-sender="postmaster@eneide.happyleptic.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Am4JAG/+e1DV+6tl/2dsb2JhbABFi2a0EoEIgmGBNCiIPJw/oHWLXoVYYAOVa4EWjxuCbw X-IronPort-AV: E=Sophos;i="4.80,587,1344204000"; d="scan'208";a="177265469" Received: from eneide.happyleptic.org ([213.251.171.101]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/AES256-SHA; 15 Oct 2012 14:21:59 +0200 Received: from extranet.securactive.net ([82.240.34.113] helo=ccellier.rd.securactive.lan) by eneide.happyleptic.org with esmtp (Exim 4.72) (envelope-from ) id 1TNjyL-0002Ds-3Z for caml-list@inria.fr; Mon, 15 Oct 2012 14:40:41 +0200 Received: from rixed by ccellier.rd.securactive.lan with local (Exim 4.80) (envelope-from ) id 1TNjg9-00057E-05 for caml-list@inria.fr; Mon, 15 Oct 2012 14:21:53 +0200 Date: Mon, 15 Oct 2012 14:21:52 +0200 From: rixed@happyleptic.org To: caml-list@inria.fr Message-ID: <20121015122152.GA17466@securactive.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Mutt/1.5.21 (2010-09-15) Subject: [Caml-list] Compiler can't find a stub anymore I'm using parmap for a project, and using ocamlfind for compiling. All was fine until I started mixing C with OCaml for my program. Ocamlc does not want to find libparmap_stubs.so any more. Here is my build process, step by step, verbosely: > # Dependancies... > $ make .depend > OCAMLPATH=3D./.. ocamlfind ocamldep -syntax camlp4o -package "batteries b= atteries.pa_string.syntax bricabrac pfds bitstring bitstring.syntax zip par= map" -I .. *.ml *.mli > .depend > gcc -M -I /home/rixed/ocalme/lib/ocaml -I . -D_GNU_SOURCE ll_serial.c >> = .depend >=20 > # Build my C library > $ make libmlrrd.a > colorgcc -O0 -g3 -ggdb3 -W -Wall -std=3Dc99 -W -Wall -I /home/rixed/ocalm= e/lib/ocaml -I . -D_GNU_SOURCE -c -o ll_serial.o ll_serial.c > ar rcs libmlrrd.a ll_serial.o >=20 > # Build my OCaml library > $ make mlrrd.cma > OCAMLPATH=3D./.. ocamlfind ocamlc -verbose -thread -rectypes -syntax caml= p4o -package "batteries batteries.pa_string.syntax bricabrac pfds bitstring= bitstring.syntax zip parmap" -w Ael -g -annot -c traffic.ml > Effective set of preprocessor predicates: preprocessor,syntax,camlp4o > Effective set of compiler predicates: pkg_unix,pkg_threads.posix,pkg_thre= ads,pkg_num.core,pkg_num,pkg_bigarray,pkg_str,pkg_batteries,pkg_camlp4,pkg_= estring,pkg_batteries.pa_string.syntax,pkg_bricabrac,pkg_pfds,pkg_bitstring= ,pkg_bitstring.syntax,pkg_zip,pkg_parmap,syntax,autolink,mt,mt_posix,byte > + ocamlc.opt -verbose -rectypes -w Ael -g -annot -c -thread -I /home/rixe= d/ocalme/lib/ocaml/site-lib/num -I /home/rixed/ocalme/lib/ocaml/camlp4 -I /= home/rixed/ocalme/lib/ocaml/site-lib/estring -I /home/rixed/ocalme/lib/ocam= l/site-lib/batteries -I ./../bricabrac -I ./../pfds -I /home/rixed/ocalme/l= ib/ocaml/site-lib/bitstring -I /home/rixed/ocalme/lib/ocaml/site-lib/zip -I= /home/rixed/ocalme/lib/ocaml/site-lib/parmap -pp "camlp4 '-I' '/home/rixed= /ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/estri= ng' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/batteries' '-I' '/home/rixe= d/ocalme/lib/ocaml/site-lib/bitstring' '-parser' 'o' '-parser' 'op' '-print= er' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix.cma' 'bitstring.cma' 'bitst= ring_persistent.cma' 'pa_bitstring.cmo' " traffic.ml > + camlp4 '-I' '/home/rixed/ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/oca= lme/lib/ocaml/site-lib/estring' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib= /batteries' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-parser= ' 'o' '-parser' 'op' '-printer' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix= .cma' 'bitstring.cma' 'bitstring_persistent.cma' 'pa_bitstring.cmo' 'traff= ic.ml' > /tmp/camlpp0b67b9 > colorgcc -O0 -g3 -ggdb3 -W -Wall -std=3Dc99 -W -Wall -I /home/rixed/ocalm= e/lib/ocaml -I . -D_GNU_SOURCE -c -o ll_serial.o ll_serial.c > ar rcs libmlrrd.a ll_serial.o >=20 > ... >=20 > OCAMLPATH=3D./.. ocamlfind ocamlc -verbose -thread -rectypes -a -o mlrr= d.cma -syntax camlp4o -package "batteries batteries.pa_string.syntax bricab= rac pfds bitstring bitstring.syntax zip parmap" -custom -linkpkg -w Ael -g= -annot serial.cmo txtInput.cmo binInput.cmo output.cmo datatype.cmo tuple2= .cmo tuple3.cmo tuple4.cmo tuple5.cmo tuple6.cmo tuple7.cmo tuple8.cmo tupl= e9.cmo tuple10.cmo tuple11.cmo tuple12.cmo tuple16.cmo distribution.cmo agg= regator.cmo dbfile.cmo table.cmo plot.cmo traffic.cmo libmlrrd.a > Effective set of preprocessor predicates: preprocessor,syntax,camlp4o > Effective set of compiler predicates: pkg_unix,pkg_threads.posix,pkg_thre= ads,pkg_num.core,pkg_num,pkg_bigarray,pkg_str,pkg_batteries,pkg_camlp4,pkg_= estring,pkg_batteries.pa_string.syntax,pkg_bricabrac,pkg_pfds,pkg_bitstring= ,pkg_bitstring.syntax,pkg_zip,pkg_parmap,syntax,autolink,mt,mt_posix,byte > + ocamlc.opt -verbose -rectypes -a -o mlrrd.cma -custom -w Ael -g -annot = -thread -I /home/rixed/ocalme/lib/ocaml/site-lib/num -I /home/rixed/ocalme/= lib/ocaml/camlp4 -I /home/rixed/ocalme/lib/ocaml/site-lib/estring -I /home/= rixed/ocalme/lib/ocaml/site-lib/batteries -I ./../bricabrac -I ./../pfds -I= /home/rixed/ocalme/lib/ocaml/site-lib/bitstring -I /home/rixed/ocalme/lib/= ocaml/site-lib/zip -I /home/rixed/ocalme/lib/ocaml/site-lib/parmap -pp "cam= lp4 '-I' '/home/rixed/ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/ocalme/lib= /ocaml/site-lib/estring' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/batter= ies' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-parser' 'o' '= -parser' 'op' '-printer' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix.cma' '= bitstring.cma' 'bitstring_persistent.cma' 'pa_bitstring.cmo' " /home/rixed/= ocalme/lib/ocaml/unix.cma /home/rixed/ocalme/lib/ocaml/threads/threads.cma = /home/rixed/ocalme/lib/ocaml/nums.cma /home/rixed/ocalme/lib/ocaml/bigarray= .cma /home/rixed/ocalme/lib/ocaml/str.cma /home/rixed/ocalme/lib/ocaml/site= -lib/batteries/batteries.cma /home/rixed/ocalme/lib/ocaml/site-lib/batterie= s/batteriesThread.cma ./../bricabrac/bricabrac.cma ./../pfds/pfds.cma /home= /rixed/ocalme/lib/ocaml/site-lib/bitstring/bitstring.cma /home/rixed/ocalme= /lib/ocaml/site-lib/zip/zip.cma /home/rixed/ocalme/lib/ocaml/site-lib/parma= p/parmap.cma serial.cmo txtInput.cmo binInput.cmo output.cmo datatype.cmo t= uple2.cmo tuple3.cmo tuple4.cmo tuple5.cmo tuple6.cmo tuple7.cmo tuple8.cmo= tuple9.cmo tuple10.cmo tuple11.cmo tuple12.cmo tuple16.cmo distribution.cm= o aggregator.cmo dbfile.cmo table.cmo plot.cmo traffic.cmo libmlrrd.a >=20 > # Compile to bytecode > $ make dns.cmo > OCAMLPATH=3D./.. ocamlfind ocamlc -verbose -thread -rectypes -syntax caml= p4o -package "batteries batteries.pa_string.syntax bricabrac pfds bitstring= bitstring.syntax zip parmap" -w Ael -g -annot -c dns.ml > Effective set of preprocessor predicates: preprocessor,syntax,camlp4o > Effective set of compiler predicates: pkg_unix,pkg_threads.posix,pkg_thre= ads,pkg_num.core,pkg_num,pkg_bigarray,pkg_str,pkg_batteries,pkg_camlp4,pkg_= estring,pkg_batteries.pa_string.syntax,pkg_bricabrac,pkg_pfds,pkg_bitstring= ,pkg_bitstring.syntax,pkg_zip,pkg_parmap,syntax,autolink,mt,mt_posix,byte > + ocamlc.opt -verbose -rectypes -w Ael -g -annot -c -thread -I /home/rixe= d/ocalme/lib/ocaml/site-lib/num -I /home/rixed/ocalme/lib/ocaml/camlp4 -I /= home/rixed/ocalme/lib/ocaml/site-lib/estring -I /home/rixed/ocalme/lib/ocam= l/site-lib/batteries -I ./../bricabrac -I ./../pfds -I /home/rixed/ocalme/l= ib/ocaml/site-lib/bitstring -I /home/rixed/ocalme/lib/ocaml/site-lib/zip -I= /home/rixed/ocalme/lib/ocaml/site-lib/parmap -pp "camlp4 '-I' '/home/rixed= /ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/estri= ng' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/batteries' '-I' '/home/rixe= d/ocalme/lib/ocaml/site-lib/bitstring' '-parser' 'o' '-parser' 'op' '-print= er' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix.cma' 'bitstring.cma' 'bitst= ring_persistent.cma' 'pa_bitstring.cmo' " dns.ml > + camlp4 '-I' '/home/rixed/ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/oca= lme/lib/ocaml/site-lib/estring' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib= /batteries' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-parser= ' 'o' '-parser' 'op' '-printer' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix= .cma' 'bitstring.cma' 'bitstring_persistent.cma' 'pa_bitstring.cmo' 'dns.m= l' > /tmp/camlpp6ff42e >=20 > # Link and fail > $ make dns.byte > OCAMLPATH=3D./.. ocamlfind ocamlc -verbose -thread -rectypes -o dns.byt= e -syntax camlp4o -package "batteries batteries.pa_string.syntax bricabrac = pfds bitstring bitstring.syntax zip parmap" mlrrd.cma -linkpkg -w Ael -g= -annot libmlrrd.a dns.cmo > Effective set of preprocessor predicates: preprocessor,syntax,camlp4o > Effective set of compiler predicates: pkg_unix,pkg_threads.posix,pkg_thre= ads,pkg_num.core,pkg_num,pkg_bigarray,pkg_str,pkg_batteries,pkg_camlp4,pkg_= estring,pkg_batteries.pa_string.syntax,pkg_bricabrac,pkg_pfds,pkg_bitstring= ,pkg_bitstring.syntax,pkg_zip,pkg_parmap,syntax,autolink,mt,mt_posix,byte > + ocamlc.opt -verbose -rectypes -o dns.byte -w Ael -g -annot -thread -I /= home/rixed/ocalme/lib/ocaml/site-lib/num -I /home/rixed/ocalme/lib/ocaml/ca= mlp4 -I /home/rixed/ocalme/lib/ocaml/site-lib/estring -I /home/rixed/ocalme= /lib/ocaml/site-lib/batteries -I ./../bricabrac -I ./../pfds -I /home/rixed= /ocalme/lib/ocaml/site-lib/bitstring -I /home/rixed/ocalme/lib/ocaml/site-l= ib/zip -I /home/rixed/ocalme/lib/ocaml/site-lib/parmap -pp "camlp4 '-I' '/h= ome/rixed/ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/ocalme/lib/ocaml/site-= lib/estring' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/batteries' '-I' '/= home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-parser' 'o' '-parser' 'op= ' '-printer' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix.cma' 'bitstring.cm= a' 'bitstring_persistent.cma' 'pa_bitstring.cmo' " /home/rixed/ocalme/lib/o= caml/unix.cma /home/rixed/ocalme/lib/ocaml/threads/threads.cma /home/rixed/= ocalme/lib/ocaml/nums.cma /home/rixed/ocalme/lib/ocaml/bigarray.cma /home/r= ixed/ocalme/lib/ocaml/str.cma /home/rixed/ocalme/lib/ocaml/site-lib/batteri= es/batteries.cma /home/rixed/ocalme/lib/ocaml/site-lib/batteries/batteriesT= hread.cma ./../bricabrac/bricabrac.cma ./../pfds/pfds.cma /home/rixed/ocalm= e/lib/ocaml/site-lib/bitstring/bitstring.cma /home/rixed/ocalme/lib/ocaml/s= ite-lib/zip/zip.cma /home/rixed/ocalme/lib/ocaml/site-lib/parmap/parmap.cma= mlrrd.cma libmlrrd.a dns.cmo > + gcc -o 'dns.byte' '-L/home/rixed/ocalme/lib/ocaml/site-lib/num' '-L/h= ome/rixed/ocalme/lib/ocaml/camlp4' '-L/home/rixed/ocalme/lib/ocaml/site-lib= /estring' '-L/home/rixed/ocalme/lib/ocaml/site-lib/batteries' '-L./../brica= brac' '-L./../pfds' '-L/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-L= /home/rixed/ocalme/lib/ocaml/site-lib/zip' '-L/home/rixed/ocalme/lib/ocaml/= site-lib/parmap' '-L/home/rixed/ocalme/lib/ocaml/threads' '-L/home/rixed/oc= alme/lib/ocaml' -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib= -Wl,-rpath,/usr/local/lib '/tmp/camlprimfb3272.c' '-lcamlzip' '-lz' '-lbit= string' '-lthreads' '-lunix' '-lpthread' '-lunix' '-lcamlstr' '-lbigarray' = '-lnums' '-lthreads' '-lunix' '-lpthread' '-lunix' 'libmlrrd.a' '-lcamlzip'= '-lz' '-lbitstring' '-lthreads' '-lunix' '-lpthread' '-lunix' '-lcamlstr' = '-lbigarray' '-lnums' '-lthreads' '-lunix' '-lpthread' '-lunix' 'libmlrrd.a= ' '-lcamlrun' -I'/home/rixed/ocalme/lib/ocaml' -lm -ldl -lpthread > /tmp/ccyr5I06.o:(.data+0xdd0): undefined reference to `ml_marshal_to_biga= rray' > /tmp/ccyr5I06.o:(.data+0xdd8): undefined reference to `ml_unmarshal_from_= bigarray' > /tmp/ccyr5I06.o:(.data+0xde0): undefined reference to `ml_marshal_to_biga= rray_buffer' > /tmp/ccyr5I06.o:(.data+0xde8): undefined reference to `ml_blit_floatarray= _to_bigarray' > /tmp/ccyr5I06.o:(.data+0xdf0): undefined reference to `ml_blit_bigarray_t= o_floatarray' > /tmp/ccyr5I06.o:(.data+0xdf8): undefined reference to `ml_blit_bigarray_t= o_string' > /tmp/ccyr5I06.o:(.data+0xe00): undefined reference to `ml_blit_string_to_= bigarray' > /tmp/ccyr5I06.o:(.data+0xe08): undefined reference to `setcore' > collect2: error: ld returned 1 exit status > File "_none_", line 1, characters 0-1: > Error: Error while building custom runtime system > ocamlc.opt returned with exit code 2 These missing symbols are defined in libparmap_stubs.so. If I add -cclib -l= parmap_stubs by hand, it works: > $ OCAMLPATH=3D./.. ocamlfind ocamlc -verbose -thread -rectypes -o dns.b= yte -syntax camlp4o -package "batteries batteries.pa_string.syntax bricabra= c pfds bitstring bitstring.syntax zip parmap" mlrrd.cma -linkpkg -w Ael = -g -annot libmlrrd.a dns.cmo -cclib -lparmap_stubs > Effective set of preprocessor predicates: preprocessor,syntax,camlp4o > Effective set of compiler predicates: pkg_unix,pkg_threads.posix,pkg_thre= ads,pkg_num.core,pkg_num,pkg_bigarray,pkg_str,pkg_batteries,pkg_camlp4,pkg_= estring,pkg_batteries.pa_string.syntax,pkg_bricabrac,pkg_pfds,pkg_bitstring= ,pkg_bitstring.syntax,pkg_zip,pkg_parmap,syntax,autolink,mt,mt_posix,byte > + ocamlc.opt -verbose -rectypes -o dns.byte -w Ael -g -annot -thread -I /= home/rixed/ocalme/lib/ocaml/site-lib/num -I /home/rixed/ocalme/lib/ocaml/ca= mlp4 -I /home/rixed/ocalme/lib/ocaml/site-lib/estring -I /home/rixed/ocalme= /lib/ocaml/site-lib/batteries -I ./../bricabrac -I ./../pfds -I /home/rixed= /ocalme/lib/ocaml/site-lib/bitstring -I /home/rixed/ocalme/lib/ocaml/site-l= ib/zip -I /home/rixed/ocalme/lib/ocaml/site-lib/parmap -pp "camlp4 '-I' '/h= ome/rixed/ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/ocalme/lib/ocaml/site-= lib/estring' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/batteries' '-I' '/= home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-parser' 'o' '-parser' 'op= ' '-printer' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix.cma' 'bitstring.cm= a' 'bitstring_persistent.cma' 'pa_bitstring.cmo' " /home/rixed/ocalme/lib/o= caml/unix.cma /home/rixed/ocalme/lib/ocaml/threads/threads.cma /home/rixed/= ocalme/lib/ocaml/nums.cma /home/rixed/ocalme/lib/ocaml/bigarray.cma /home/r= ixed/ocalme/lib/ocaml/str.cma /home/rixed/ocalme/lib/ocaml/site-lib/batteri= es/batteries.cma /home/rixed/ocalme/lib/ocaml/site-lib/batteries/batteriesT= hread.cma ./../bricabrac/bricabrac.cma ./../pfds/pfds.cma /home/rixed/ocalm= e/lib/ocaml/site-lib/bitstring/bitstring.cma /home/rixed/ocalme/lib/ocaml/s= ite-lib/zip/zip.cma /home/rixed/ocalme/lib/ocaml/site-lib/parmap/parmap.cma= mlrrd.cma libmlrrd.a dns.cmo -cclib -lparmap_stubs > + gcc -o 'dns.byte' '-L/home/rixed/ocalme/lib/ocaml/site-lib/num' '-L/h= ome/rixed/ocalme/lib/ocaml/camlp4' '-L/home/rixed/ocalme/lib/ocaml/site-lib= /estring' '-L/home/rixed/ocalme/lib/ocaml/site-lib/batteries' '-L./../brica= brac' '-L./../pfds' '-L/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-L= /home/rixed/ocalme/lib/ocaml/site-lib/zip' '-L/home/rixed/ocalme/lib/ocaml/= site-lib/parmap' '-L/home/rixed/ocalme/lib/ocaml/threads' '-L/home/rixed/oc= alme/lib/ocaml' -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib= -Wl,-rpath,/usr/local/lib '/tmp/camlprime23f47.c' '-lcamlzip' '-lz' '-lbit= string' '-lthreads' '-lunix' '-lpthread' '-lunix' '-lcamlstr' '-lbigarray' = '-lnums' '-lthreads' '-lunix' '-lpthread' '-lunix' 'libmlrrd.a' '-lcamlzip'= '-lz' '-lbitstring' '-lthreads' '-lunix' '-lpthread' '-lunix' '-lcamlstr' = '-lbigarray' '-lnums' '-lthreads' '-lunix' '-lpthread' '-lunix' 'libmlrrd.a= ' '-lparmap_stubs' '-lcamlrun' -I'/home/rixed/ocalme/lib/ocaml' -lm -ldl = -lpthread For comparison, here is the last steps of the native compilation, which wor= ks: > $ make dns.cmx > OCAMLPATH=3D./.. ocamlfind ocamlopt -verbose -thread -rectypes -syntax ca= mlp4o -package "batteries batteries.pa_string.syntax bricabrac pfds bitstri= ng bitstring.syntax zip parmap" -w Ael -g -annot -inline 50 -S -c dns.ml > Effective set of preprocessor predicates: preprocessor,syntax,camlp4o > Effective set of compiler predicates: pkg_unix,pkg_threads.posix,pkg_thre= ads,pkg_num.core,pkg_num,pkg_bigarray,pkg_str,pkg_batteries,pkg_camlp4,pkg_= estring,pkg_batteries.pa_string.syntax,pkg_bricabrac,pkg_pfds,pkg_bitstring= ,pkg_bitstring.syntax,pkg_zip,pkg_parmap,syntax,autolink,mt,mt_posix,native > + ocamlopt.opt -verbose -rectypes -w Ael -g -annot -inline 50 -S -c -thre= ad -I /home/rixed/ocalme/lib/ocaml/site-lib/num -I /home/rixed/ocalme/lib/o= caml/camlp4 -I /home/rixed/ocalme/lib/ocaml/site-lib/estring -I /home/rixed= /ocalme/lib/ocaml/site-lib/batteries -I ./../bricabrac -I ./../pfds -I /hom= e/rixed/ocalme/lib/ocaml/site-lib/bitstring -I /home/rixed/ocalme/lib/ocaml= /site-lib/zip -I /home/rixed/ocalme/lib/ocaml/site-lib/parmap -pp "camlp4 '= -I' '/home/rixed/ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/ocalme/lib/ocam= l/site-lib/estring' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/batteries' = '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-parser' 'o' '-pars= er' 'op' '-printer' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix.cma' 'bitst= ring.cma' 'bitstring_persistent.cma' 'pa_bitstring.cmo' " dns.ml > + camlp4 '-I' '/home/rixed/ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/oca= lme/lib/ocaml/site-lib/estring' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib= /batteries' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-parser= ' 'o' '-parser' 'op' '-printer' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix= .cma' 'bitstring.cma' 'bitstring_persistent.cma' 'pa_bitstring.cmo' 'dns.m= l' > /tmp/camlpp39905b > + as -o 'dns.o' 'dns.s' >=20 > $ make dns.opt > OCAMLPATH=3D./.. ocamlfind ocamlopt -verbose -thread -rectypes -o dns.opt= -syntax camlp4o -package "batteries batteries.pa_string.syntax bricabrac p= fds bitstring bitstring.syntax zip parmap" mlrrd.cmxa -linkpkg -w Ael -g = -annot -inline 50 -S libmlrrd.a dns.cmx > Effective set of preprocessor predicates: preprocessor,syntax,camlp4o > Effective set of compiler predicates: pkg_unix,pkg_threads.posix,pkg_thre= ads,pkg_num.core,pkg_num,pkg_bigarray,pkg_str,pkg_batteries,pkg_camlp4,pkg_= estring,pkg_batteries.pa_string.syntax,pkg_bricabrac,pkg_pfds,pkg_bitstring= ,pkg_bitstring.syntax,pkg_zip,pkg_parmap,syntax,autolink,mt,mt_posix,native > + ocamlopt.opt -verbose -rectypes -o dns.opt -w Ael -g -annot -inline 50 = -S -thread -I /home/rixed/ocalme/lib/ocaml/site-lib/num -I /home/rixed/ocal= me/lib/ocaml/camlp4 -I /home/rixed/ocalme/lib/ocaml/site-lib/estring -I /ho= me/rixed/ocalme/lib/ocaml/site-lib/batteries -I ./../bricabrac -I ./../pfds= -I /home/rixed/ocalme/lib/ocaml/site-lib/bitstring -I /home/rixed/ocalme/l= ib/ocaml/site-lib/zip -I /home/rixed/ocalme/lib/ocaml/site-lib/parmap -pp "= camlp4 '-I' '/home/rixed/ocalme/lib/ocaml/camlp4' '-I' '/home/rixed/ocalme/= lib/ocaml/site-lib/estring' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/bat= teries' '-I' '/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-parser' 'o= ' '-parser' 'op' '-printer' 'p' 'pa_estring.cmo' 'pa_strings.cma' 'unix.cma= ' 'bitstring.cma' 'bitstring_persistent.cma' 'pa_bitstring.cmo' " /home/rix= ed/ocalme/lib/ocaml/unix.cmxa /home/rixed/ocalme/lib/ocaml/threads/threads.= cmxa /home/rixed/ocalme/lib/ocaml/nums.cmxa /home/rixed/ocalme/lib/ocaml/bi= garray.cmxa /home/rixed/ocalme/lib/ocaml/str.cmxa /home/rixed/ocalme/lib/oc= aml/site-lib/batteries/batteries.cmxa /home/rixed/ocalme/lib/ocaml/site-lib= /batteries/batteriesThread.cmxa ./../bricabrac/bricabrac.cmxa ./../pfds/pfd= s.cmxa /home/rixed/ocalme/lib/ocaml/site-lib/bitstring/bitstring.cmxa /home= /rixed/ocalme/lib/ocaml/site-lib/zip/zip.cmxa /home/rixed/ocalme/lib/ocaml/= site-lib/parmap/parmap.cmxa mlrrd.cmxa libmlrrd.a dns.cmx > + as -o '/tmp/camlstartupd8a412.o' '/tmp/camlstartup52b4ee.s' > + gcc -o 'dns.opt' '-L/home/rixed/ocalme/lib/ocaml/site-lib/num' '-L/ho= me/rixed/ocalme/lib/ocaml/camlp4' '-L/home/rixed/ocalme/lib/ocaml/site-lib/= estring' '-L/home/rixed/ocalme/lib/ocaml/site-lib/batteries' '-L./../bricab= rac' '-L./../pfds' '-L/home/rixed/ocalme/lib/ocaml/site-lib/bitstring' '-L/= home/rixed/ocalme/lib/ocaml/site-lib/zip' '-L/home/rixed/ocalme/lib/ocaml/s= ite-lib/parmap' '-L/home/rixed/ocalme/lib/ocaml/threads' '-L/home/rixed/oca= lme/lib/ocaml' -L/usr/local/lib -Wl,-rpath,/usr/local/lib '/tmp/camlstartup= d8a412.o' '/home/rixed/ocalme/lib/ocaml/std_exit.o' 'dns.o' 'mlrrd.a' '/hom= e/rixed/ocalme/lib/ocaml/site-lib/parmap/parmap.a' '/home/rixed/ocalme/lib/= ocaml/site-lib/zip/zip.a' '/home/rixed/ocalme/lib/ocaml/site-lib/bitstring/= bitstring.a' './../pfds/pfds.a' './../bricabrac/bricabrac.a' '/home/rixed/o= calme/lib/ocaml/site-lib/batteries/batteriesThread.a' '/home/rixed/ocalme/l= ib/ocaml/site-lib/batteries/batteries.a' '/home/rixed/ocalme/lib/ocaml/str.= a' '/home/rixed/ocalme/lib/ocaml/bigarray.a' '/home/rixed/ocalme/lib/ocaml/= nums.a' '/home/rixed/ocalme/lib/ocaml/threads/threads.a' '/home/rixed/ocalm= e/lib/ocaml/unix.a' '/home/rixed/ocalme/lib/ocaml/stdlib.a' 'libmlrrd.a' '-= lparmap_stubs' '-lcamlzip' '-lz' '-lbitstring' '-lcamlstr' '-lbigarray' '-l= nums' '-lthreadsnat' '-lpthread' '-lunix' 'libmlrrd.a' '/home/rixed/ocalme/= lib/ocaml/libasmrun.a' -lm -ldl Any idea of what's missing from the ocamlfind invocation above so that parm= ap stubs is successively linked ? Or maybe what's missing from the META file ? Or what I broke by adding my o= wn C code ?