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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 40ECF7FACD for ; Fri, 19 Sep 2014 22:29:38 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.219.54; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.219.54 as permitted sender) identity=mailfrom; client-ip=209.85.219.54; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-oa0-f54.google.com) identity=helo; client-ip=209.85.219.54; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-oa0-f54.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AnECAOCRHFTRVds2m2dsb2JhbABgg2BXBIJ9tTcyjySBa4dNAXwIFgERAQEBAQEGCwsJFCqEBAEBAwESER0BGxILAQMBCwYDAgsDFx0CAiEBAREBBQEKEgYTCQkJB4gHAQMJCA2QS5AqbYswgXKDEIkfChknAwpmhi0BEQEFDo1GgikEB4J4gVMFhQ0FjUaDNIR3ghCBYY0rhFAYKYUSOy+CSgEBAQ X-IPAS-Result: AnECAOCRHFTRVds2m2dsb2JhbABgg2BXBIJ9tTcyjySBa4dNAXwIFgERAQEBAQEGCwsJFCqEBAEBAwESER0BGxILAQMBCwYDAgsDFx0CAiEBAREBBQEKEgYTCQkJB4gHAQMJCA2QS5AqbYswgXKDEIkfChknAwpmhi0BEQEFDo1GgikEB4J4gVMFhQ0FjUaDNIR3ghCBYY0rhFAYKYUSOy+CSgEBAQ X-IronPort-AV: E=Sophos;i="5.04,556,1406584800"; d="scan'208";a="96711580" Received: from mail-oa0-f54.google.com ([209.85.219.54]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 19 Sep 2014 22:29:10 +0200 Received: by mail-oa0-f54.google.com with SMTP id m19so2197519oag.41 for ; Fri, 19 Sep 2014 13:29:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=D9F8me7E/9fGC64STj47MG7TRKvq4ZLT37z764qN3+o=; b=p7AkhB8RnnSTyUXjAUNWPWotLyXklArTHvoUoMMZzq4xJmjtxLluHwfA6JD63/5wm9 wmJS22WGOdA7HcBvwHV4tosOak0TAuMXqBAU87MRW2aeF33gWhIJ8j7SnpPZqnIzX3mX TmqPbaKrFMlVYTIWAFciRrT5ezi7CDAa3rNIrBIKfxh5QsczN4OZsaZFtbdzbpz6/ybg u/SThqQRuJAR1ao3rGbHB+ASRMVQJOgKS0Q+YoNoUqS0UvS4YdrBvZ6JE5ZDb4Mp3AQ0 wmvqrzVCYefge42juNp8rX7mzw4esah32GhLW2L7y9T/lPRwgaep0W4K2F9D3vup/lTU 2ADw== X-Received: by 10.60.41.65 with SMTP id d1mr3898101oel.32.1411158549263; Fri, 19 Sep 2014 13:29:09 -0700 (PDT) MIME-Version: 1.0 Received: by 10.76.141.165 with HTTP; Fri, 19 Sep 2014 13:28:29 -0700 (PDT) In-Reply-To: References: From: Gabriel Scherer Date: Fri, 19 Sep 2014 22:28:29 +0200 Message-ID: To: Jerry James Cc: Caml List Content-Type: multipart/alternative; boundary=089e012954000cfdab050370f426 Subject: Re: [Caml-list] Ocamlbuild, -ocamlc, and -use-ocamlfind in ocaml 4.02.0 --089e012954000cfdab050370f426 Content-Type: text/plain; charset=UTF-8 The solution is simply to remove the -ocamlc and -ocamlopt stuff from the Makefile. I have no idea why there were there, they seem buggy (they should stop the build for users that don't have ocp-ocamlc.opt, which is all of them); the reason why they didn't hurt before is because of the PR#6300 bug, which is that the -ocamlc, -ocamlopt option where ignored when -use-ocamlfind was also used. On Fri, Sep 19, 2014 at 9:43 PM, Jerry James wrote: > Greetings, > > I maintain a few ocaml packages for the Fedora Linux distribution, > including tplib (https://gforge.inria.fr/projects/tplib). Fedora > Rawhide recently updated to ocaml 4.02.0. Now tplib does not build > successfully anymore. It uses this command: > > ocamlbuild -cflag -g -lflag -g -ocamlc ocp-ocamlc.opt -ocamlopt > ocp-ocamlopt.opt -classic-display -no-links -build-dir _build > -use-ocamlfind src/tplib.mllib src/numeric.cmi src/semiring.cmi > src/vector.cmi src/halfspace.cmi src/hypergraph.cmi src/tplib_core.cmi > src/tplib_abstract.cmi src/numeric_plugins/zarith_plugin.cmxs > src/bindings/tplib_double_callback.obj.o > src/bindings/tplib_rational_callback.obj.o src/compute_ext_rays.native > src/compute_ext_rays_polar.native src/compute_halfspaces.native > src/compute_tangent_hypergraph.native > src/compute_minimal_external_representations.native > src/compute_tropical_complex.native > > which prompts ocamlbuild to issue this command: > > ocamlfind ocp-ocamlopt.opt unix.cmxa -I /usr/lib64/ocaml/ocamlbuild > /usr/lib64/ocaml/ocamlbuild/ocamlbuildlib.cmxa -g -linkpkg > myocamlbuild.ml /usr/lib64/ocaml/ocamlbuild/ocamlbuild.cmx -o > myocamlbuild > > but ocamlfind doesn't know anything about an ocp-ocamlopt.opt command: > > Usage: ocamlfind query [-help | other options] ... > or: ocamlfind ocamlc [-help | other options] ... > or: ocamlfind ocamlcp [-help | other options] ... > or: ocamlfind ocamlmklib [-help | other options] ... > or: ocamlfind ocamlmktop [-help | other options] ... > or: ocamlfind ocamlopt [-help | other options] ... > or: ocamlfind ocamloptp [-help | other options] ... > or: ocamlfind ocamldep [-help | other options] ... > or: ocamlfind ocamlbrowser [-help | other options] > or: ocamlfind ocamldoc [-help | other options] ... > or: ocamlfind install [-help | other options] > ... > or: ocamlfind remove [-help | other options] > or: ocamlfind printconf [-help] [variable] > or: ocamlfind list > or: ocamlfind pkg/cmd arg ... > Select toolchain with: > ocamlfind -toolchain > Abbreviations: > e.g. ocamlfind opt instead of ocamlfind ocamlopt > Command exited with code 2. > > If I build with for Fedora 21 (ocaml 4.01.0) instead, that same > ocambuild invocation results in this command being issued: > > ocamlfind ocamlopt unix.cmxa -I /usr/lib64/ocaml/ocamlbuild > /usr/lib64/ocaml/ocamlbuild/ocamlbuildlib.cmxa -g -linkpkg > myocamlbuild.ml /usr/lib64/ocaml/ocamlbuild/ocamlbuild.cmx -o > myocamlbuild > > which works. I found PR#6300, which deals with this issue, but don't > understand what I need to do. I tried moving the -use-ocamlfind flag > to the first position on the command line, but that didn't help. How > does the ocamlbuild invocation need to be changed to avoid this > problem? > > Thank you and regards, > -- > Jerry James > http://www.jamezone.org/ > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > --089e012954000cfdab050370f426 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
The solution is simply to remove the -ocamlc and -ocamlopt= stuff from the Makefile. I have no idea why there were there, they seem bu= ggy (they should stop the build for users that don't have ocp-ocamlc.op= t, which is all of them); the reason why they didn't hurt before is bec= ause of the PR#6300 bug, which is that the -ocamlc, -ocamlopt option where = ignored when -use-ocamlfind was also used.

On Fri, Sep 19, 2014 at 9:43 PM, Jerry J= ames <loganjerry@gmail.com> wrote:
Greetings,

I maintain a few ocaml packages for the Fedora Linux distribution,
including tplib (https://gforge.inria.fr/projects/tplib).=C2=A0 Fedora
Rawhide recently updated to ocaml 4.02.0.=C2=A0 Now tplib does not build
successfully anymore.=C2=A0 It uses this command:

ocamlbuild -cflag -g -lflag -g -ocamlc ocp-ocamlc.opt -ocamlopt
ocp-ocamlopt.opt -classic-display -no-links -build-dir _build
-use-ocamlfind src/tplib.mllib src/numeric.cmi src/semiring.cmi
src/vector.cmi src/halfspace.cmi src/hypergraph.cmi src/tplib_core.cmi
src/tplib_abstract.cmi src/numeric_plugins/zarith_plugin.cmxs
src/bindings/tplib_double_callback.obj.o
src/bindings/tplib_rational_callback.obj.o src/compute_ext_rays.native
src/compute_ext_rays_polar.native src/compute_halfspaces.native
src/compute_tangent_hypergraph.native
src/compute_minimal_external_representations.native
src/compute_tropical_complex.native

which prompts ocamlbuild to issue this command:

ocamlfind ocp-ocamlopt.opt unix.cmxa -I /usr/lib64/ocaml/ocamlbuild
/usr/lib64/ocaml/ocamlbuild/ocamlbuildlib.cmxa -g -linkpkg
myocamlbuild.ml /u= sr/lib64/ocaml/ocamlbuild/ocamlbuild.cmx -o
myocamlbuild

but ocamlfind doesn't know anything about an ocp-ocamlopt.opt command:<= br>
Usage: ocamlfind query=C2=A0 =C2=A0 =C2=A0 =C2=A0 [-help | other options] &= lt;package_name> ...
=C2=A0 =C2=A0or: ocamlfind ocamlc=C2=A0 =C2=A0 =C2=A0 =C2=A0[-help | other = options] <file> ...
=C2=A0 =C2=A0or: ocamlfind ocamlcp=C2=A0 =C2=A0 =C2=A0 [-help | other optio= ns] <file> ...
=C2=A0 =C2=A0or: ocamlfind ocamlmklib=C2=A0 =C2=A0[-help | other options] &= lt;file> ...
=C2=A0 =C2=A0or: ocamlfind ocamlmktop=C2=A0 =C2=A0[-help | other options] &= lt;file> ...
=C2=A0 =C2=A0or: ocamlfind ocamlopt=C2=A0 =C2=A0 =C2=A0[-help | other optio= ns] <file> ...
=C2=A0 =C2=A0or: ocamlfind ocamloptp=C2=A0 =C2=A0 [-help | other options] &= lt;file> ...
=C2=A0 =C2=A0or: ocamlfind ocamldep=C2=A0 =C2=A0 =C2=A0[-help | other optio= ns] <file> ...
=C2=A0 =C2=A0or: ocamlfind ocamlbrowser [-help | other options]
=C2=A0 =C2=A0or: ocamlfind ocamldoc=C2=A0 =C2=A0 =C2=A0[-help | other optio= ns] <file> ...
=C2=A0 =C2=A0or: ocamlfind install=C2=A0 =C2=A0 =C2=A0 [-help | other optio= ns] <package_name> <file> ...
=C2=A0 =C2=A0or: ocamlfind remove=C2=A0 =C2=A0 =C2=A0 =C2=A0[-help | other = options] <package_name>
=C2=A0 =C2=A0or: ocamlfind printconf=C2=A0 =C2=A0 [-help] [variable]
=C2=A0 =C2=A0or: ocamlfind list
=C2=A0 =C2=A0or: ocamlfind pkg/cmd arg ...
Select toolchain with:
=C2=A0 ocamlfind -toolchain <t> <command>
Abbreviations:
=C2=A0 e.g. ocamlfind opt instead of ocamlfind ocamlopt
Command exited with code 2.

If I build with for Fedora 21 (ocaml 4.01.0) instead, that same
ocambuild invocation results in this command being issued:

ocamlfind ocamlopt unix.cmxa -I /usr/lib64/ocaml/ocamlbuild
/usr/lib64/ocaml/ocamlbuild/ocamlbuildlib.cmxa -g -linkpkg
myocamlbuild.ml /u= sr/lib64/ocaml/ocamlbuild/ocamlbuild.cmx -o
myocamlbuild

which works.=C2=A0 I found PR#6300, which deals with this issue, but don= 9;t
understand what I need to do.=C2=A0 I tried moving the -use-ocamlfind flag<= br> to the first position on the command line, but that didn't help.=C2=A0 = How
does the ocamlbuild invocation need to be changed to avoid this
problem?

Thank you and regards,
--
Jerry James
http://www.jamezone.= org/

--
Caml-list mailing list.=C2=A0 Subscription management and archives:
ht= tps://sympa.inria.fr/sympa/arc/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

--089e012954000cfdab050370f426--