caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Christiano F. Haesbaert" <haesbaert@haesbaert.org>
To: Gabriel Scherer <gabriel.scherer@gmail.com>
Cc: caml users <caml-list@inria.fr>
Subject: Re: [Caml-list] Can't build a target with C stubs using ocamlbuild
Date: Sun, 7 Jun 2015 22:23:46 +0200	[thread overview]
Message-ID: <CAPvuBUug2r1Ff3-9+=cCyt=fLkdEazLgUGamr-jDRLZYKkb73Q@mail.gmail.com> (raw)
In-Reply-To: <CAPFanBFCBfhEE4n19i5BH0UJj0Wz7oyXJrLWNMC5ZJ58Mx6HtQ@mail.gmail.com>

I've just test 4.02.0+trunk and can confirm it fixes the issue.

Thanks again for fixing it :D.

On 5 June 2015 at 20:36, Gabriel Scherer <gabriel.scherer@gmail.com> wrote:
> (Replying in-list as other people may be interested)
>
> On Fri, Jun 5, 2015 at 7:09 PM, Christiano F. Haesbaert
> <haesbaert@haesbaert.org> wrote:
>> What is the common workflow to test such diff ?
>>
>> Is there a way to pin the compiler in opam ?
>
> My personal workflow is to use my script
>   https://github.com/gasche/opam-compiler-conf
> which creates an opam switch from a compiler directory, using the
> compiler version and git branch name to choose the switch name.
>
> Steps are:
> - install the opam-compiler-conf script in your $PATH *outside* opam
> (otherwise you will need to install it in all switches, pain)
> - clone the compiler somewhere (and go to the branch you want to test)
> - apply the patch you want to test
> - opam compiler-conf configure (instead of "./configure" as suggested by README)
> - make world.opt
> - opam compiler-conf install (instead of "make install" as suggested by README)
>
> This will create a switch with the compiler you installed named, for
> example, 4.02.2+local-git-4.02 (more generally
> $OCAMLVER+local-git-$BRANCHNAME). You can install opam packages and
> test them as in any switch.
>
> Then, if you modify the compiler again and make world.opt again, you can use
> - make install
>   from the compiler directory to install the compiler without
> reinstalling the OPAM packages (if the binary interface didn't change
> and recompilation is not needed)
> or
> - opam compiler-conf reinstall
>   to also recompile all the OPAM packages of the script
>
> (Another common way to get a switch: pull-request made against
> github/ocaml/ocaml automatically create a corresponding switch.)
>
> On Fri, Jun 5, 2015 at 7:09 PM, Christiano F. Haesbaert
> <haesbaert@haesbaert.org> wrote:
>> Thanks, off list,
>>
>> What is the common workflow to test such diff ?
>>
>> Is there a way to pin the compiler in opam ?
>>
>> On 5 June 2015 at 18:47, Gabriel Scherer <gabriel.scherer@gmail.com> wrote:
>>> I reported and proposed a fix at
>>>   http://caml.inria.fr/mantis/view.php?id=6893
>>>
>>> On Fri, Jun 5, 2015 at 4:24 PM, Gabriel Scherer
>>> <gabriel.scherer@gmail.com> wrote:
>>>> This seems to be an ocamlbuild bug that should be reported on the bugtracker:
>>>>   http://caml.inria.fr/mantis/
>>>>
>>>> On Fri, Jun 5, 2015 at 3:55 PM, Christiano F. Haesbaert
>>>> <haesbaert@haesbaert.org> wrote:
>>>>> Just one more question, now with the real code, I was able to move
>>>>> everything to myocamlbuild, but I'm getting a warning:
>>>>> File "_tags", line 10, characters 12-28:
>>>>> Warning: the tag "linkdep(stubs.o)" is not used in any flag
>>>>> declaration, so it will have no effect; it may be a typo. Otherwise
>>>>> use `mark_tag_used` in your myocamlbuild.ml to disable this warning.
>>>>>
>>>>> ## build.sh ##
>>>>> ocamlbuild -use-ocamlfind all.otarget $@
>>>>>
>>>>> ## _tags line ##
>>>>> <*.native>: linkdep(stubs.o)
>>>>>
>>>>> ## myocamlbuild.ml ##
>>>>> open Ocamlbuild_plugin;;
>>>>> dispatch begin function
>>>>>   | After_rules ->
>>>>>     pflag ["ocaml";"compile";] "ppopt" (fun s -> S [A"-ppopt"; A s]);
>>>>>     pflag ["ocaml";"ocamldep";] "ppopt" (fun s -> S [A"-ppopt"; A s]);
>>>>>     pdep ["link"] "linkdep" (fun param -> [param])
>>>>>   | _ -> ()
>>>>> end;;
>>>>>
>>>>> It seems to be the same case as
>>>>> http://stackoverflow.com/questions/25585813/mark-tag-used-warning-with-ocaml-4-02-0
>>>>>
>>>>> Should I just use mark_tag_used ? It seems something else is wrong
>>>>> since the tag is actually used.
>>>>>
>>>>>
>>>>> On 5 June 2015 at 12:47, Christiano F. Haesbaert
>>>>> <haesbaert@haesbaert.org> wrote:
>>>>>> On 5 June 2015 at 12:38, Jeremy Yallop <yallop@gmail.com> wrote:
>>>>>>> On 5 June 2015 at 11:29, Christiano F. Haesbaert
>>>>>>> <haesbaert@haesbaert.org> wrote:
>>>>>>>> ### toto_c.c ###
>>>>>>>> ### toto_c.ml ###
>>>>>>>
>>>>>>> Both of these files will be compiled to object files called
>>>>>>> 'toto_c.o'.  Renaming one of them (e.g. toto_c.c to toto_c_stubs.c)
>>>>>>> should fix the problem.
>>>>>>
>>>>>> Hooray, great, that did the trick, thanks a lot :D.
>>>>>
>>>>> --
>>>>> 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

      reply	other threads:[~2015-06-07 20:23 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-05 10:29 Christiano F. Haesbaert
2015-06-05 10:38 ` Jeremy Yallop
2015-06-05 10:47   ` Christiano F. Haesbaert
2015-06-05 13:55     ` Christiano F. Haesbaert
2015-06-05 14:24       ` Gabriel Scherer
2015-06-05 16:47         ` Gabriel Scherer
     [not found]           ` <CAPvuBUuH0v9AUp16jy4mt-3wxBABhT2cteK2Dv81FPaABB7GeQ@mail.gmail.com>
2015-06-05 18:36             ` Gabriel Scherer
2015-06-07 20:23               ` Christiano F. Haesbaert [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPvuBUug2r1Ff3-9+=cCyt=fLkdEazLgUGamr-jDRLZYKkb73Q@mail.gmail.com' \
    --to=haesbaert@haesbaert.org \
    --cc=caml-list@inria.fr \
    --cc=gabriel.scherer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).