From: David Allsopp <dra-news@metastack.com>
To: "caml-list@inria.fr" <caml-list@inria.fr>
Subject: RE: [Caml-list] ocamlbuild on cygwin
Date: Thu, 23 Oct 2014 23:16:50 +0000 [thread overview]
Message-ID: <E51C5B015DBD1348A1D85763337FB6D9E965C469@Remus.metastack.local> (raw)
In-Reply-To: <CAO-kHdHB7iot8bhWCNGfWxNn=M8GPC2KRE5a5RePhjbadw9Oew@mail.gmail.com>
Gergely Szilvasy wrote:
> I'm trying to get as much of the ocaml/opam stack working on cygwin as possible
> (as if there wasn't enough pain and suffering in the world already).
That's some pain! Not that it affects the bug you describe, but do you have a specific reason to use the Cygwin build, and not the MinGW/MSVC ports?
> Opam compiles without any issues, and I can switch to (let's say) 4.02.1 cleanly.
>
> However, ocamlbuild fails for me in "opam install react" with the following error:
>
> "Failure: ocamlfind not found on path, but -no-ocamlfind not used."
>
> (Note that react is required by utop, for example, so it's a pretty basic requirement.)
>
> This is where the exception is thrown:
>
> https://github.com/ocaml/ocaml/blob/trunk/ocamlbuild/options.ml#L295
>
> It is the result of Command.search_in_path not finding ocamlfind:
>
> https://github.com/ocaml/ocaml/blob/trunk/ocamlbuild/command.ml#L130
>
> Which appears to be caused by file_or_exe_exists not appending ".exe" to the filename when Sys.os_type =
> "Cygwin" (which is what I see as os_type when compiling on cygwin):
>
> https://github.com/ocaml/ocaml/blob/trunk/ocamlbuild/command.ml#L128
This test is weak, and the behaviour is a bug (=> raise a report in Mantis). ocamlbuild should query the Config module from the compiler libs and do one of the following:
1. Add an extra value ext_exe : string which would be ".exe" for Windows builds (*including* Cygwin) and "" for everything else.
2. Instead of detecting Sys.os_type = "Cygwin", instead do Filename.check_suffix Config.default_executable_name ".exe" (I can't check on this machine, but I'm fairly sure that ocamlc -config will shows the normal camlprog.exe for default_executable_name?)
> In any case, I'm pretty sure this fairly simple bug is not a (very) recent
> regression, so I'm wondering if anybody cares about opam/ocaml on cygwin?
> I'd really like to use opam, because it looks to me this is the community's
> preferred way of distributing bits. My question is, really, what is the
> status of ocaml/opam on cygwin? Is there an alternative environment for
> Windows + opam that works better? (I know about wodi, but I'd prefer
> opam.) Is it worth spending time fixing these issues on cygwin?
Cygwin is a targeted platform, so bugs in it are important - but I think that the small number of Windows OCaml users use the MinGW or MSVC ports so they may take a while to be noticed!
Opam status on Windows is partially recorded in https://github.com/ocaml/opam/issues/246.
HTH,
David
next prev parent reply other threads:[~2014-10-23 23:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-23 20:14 Gergely Szilvasy
2014-10-23 23:16 ` David Allsopp [this message]
2014-10-24 14:54 ` Leonardo Laguna Ruiz
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=E51C5B015DBD1348A1D85763337FB6D9E965C469@Remus.metastack.local \
--to=dra-news@metastack.com \
--cc=caml-list@inria.fr \
/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