caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Jonathan Protzenko <jonathan.protzenko@gmail.com>
To: Bikal Gurung <bikal.gurung@lemaetech.co.uk>
Cc: caml-list@inria.fr, David Allsopp <dra-news@metastack.com>
Subject: Re: [Caml-list] Ocaml on windows
Date: Mon, 24 Jun 2013 12:11:05 +0200	[thread overview]
Message-ID: <51C81B39.8040400@gmail.com> (raw)
In-Reply-To: <CAB-rfD0vdWWtvVaBsJoXJeU63EXhuyAK-j6mifW8h9E4spB-Uw@mail.gmail.com>

On Mon 24 Jun 2013 12:01:06 PM CEST, Bikal Gurung wrote:
> Hi David,
>
> Thank you for your response. I have installed the official windows
> port of ocaml at http://protz.github.io/ocaml-installer/ . However, it
> mentions that MinGW/Msys is no longer supported. I rather use
> Mingw/Msys as well.
There are quite a few things that make working with msys painful, which 
is the reason why I switched the installer to cygwin. The installer 
still is a 32-bit native windows program, and still generates 32-bit 
native windows programs. It's just that cygwin is an easy way to get a 
toolchain and a unix-like development environment, which ocaml kind of 
needs in order to work right (without it, you only get bytecode 
compilation).
- The main problem is that OCaml is, by default, configured to search 
executables from the toolchain with the i686-pc-mingw-whatever prefix, 
that is, the one that the mingw-w64 compilers have, when installed 
through cygwin.
- The second biggest problem is with flexdll which, IIRC, hardcodes the 
use of the mingw-w64 compilers (32-bit compilers from the mingw-w64 
project). Msys, on the other hand, uses the mingw compilers (the 
original mingw project), and the location of the libraries / 
executables is slightly different, or maybe flexdll doesn't auto-detect 
the right locations for crt2.o and friends, meaning it's painful as you 
have to manually export FLEXLINKFLAGS. At some point, it became almost 
impossible to have that combination working. I think flexdll started to 
hardcode the i686-pc-mingw prefix at some point, and there's no 
ready-made, easy to install mingw-w64/msys bundle available, as far as 
I know.
- OCamlbuild relies on bash being available in the path to run its 
external commands ; an easy way to have this is to have a cygwin 
development environment. This is a know issue that no one has stepped 
up to fix on windows.
- Finally, the quoting conventions, IIRC, are subtly different between 
mingw/msys and cygwin, and OCaml is tailored to cygwin.

For all these reasons, cygwin sounds like a better choice for you 
working environment on windows. But I believe msys is still possible. 
If there's something that prevents you from having it work properly, I 
think we (the team) would be happy to know about it.

Cheers,

jonathan
>
> It seems ocamlbuild requires cygwin to work, has this been your
> experience too? If I build the latest ocaml from trunk - 4.02dev+fp
> will ocaml and other tools/utilities still work on pure MingWg/Msys
> environment?
>
> With regards to ocaml libraries, have you tried the Jane Street
> packages? Core, core_kernel ?
>
> Bikal Gurung
>
>
> On 24 June 2013 10:27, David Allsopp <dra-news@metastack.com
> <mailto:dra-news@metastack.com>> wrote:
>
>     Bikal Gurung wrote:
>     > I am looking to use ocaml to implement a project for my
>     employer. However,
>     > the environment is Windows OS. I am using cygwin and so far it
>     seems to
>     > work but curious on experiences others have on using ocaml on
>     windows -
>     > both as a development and deployment platform. Also has anyone
>     tried using
>     > opam on windows? Does it work?
>
>     I've used the MinGW Windows port of OCaml for nearly a decade.
>     Deployment of programs is the same as deploying anything else on
>     Windows - deploying using executables built with ocamlopt is of
>     course trivial as they have no dependencies beyond any libraries
>     you choose to use.
>
>     Partly because of how long I've used OCaml, I still build it from
>     sources - but there are now several options including the packaged
>     Windows installer, GODI/WODI, etc. Although Windows OCaml users
>     are a minority, there are quite a few developers actively
>     contributing (the recent 64-bit MinGW port was
>     community-initiated, I think).
>
>     Last time I looked, Windows support for opam appeared to be a todo
>     list item, but I haven't looked in a while (laziness... I already
>     have parallel build scripts of my own, so a package manager is
>     lower down my priority list)
>
>     HTH,
>
>
>     David
>
>

  reply	other threads:[~2013-06-24 10:11 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-24  9:07 Bikal Gurung
     [not found] ` <E51C5B015DBD1348A1D85763337FB6D9CC8677FE@Remus.metastack.local>
2013-06-24 10:01   ` Bikal Gurung
2013-06-24 10:11     ` Jonathan Protzenko [this message]
2013-06-24 12:10       ` Malcolm Matalka
2013-06-24 17:18       ` Adrien Nader
2013-06-25  8:40     ` David Allsopp
2013-06-26 18:17       ` Adrien Nader
2013-06-26 19:55         ` David Allsopp
2013-06-24 17:21 ` Adrien Nader
2013-06-24 20:16   ` AW: " Gerd Stolpmann
2013-06-26 18:29     ` Adrien Nader
2013-06-26 18:46       ` Wojciech Meyer
     [not found] <20130626113838.0643281793@sympa.inria.fr>
2013-06-26 12:02 ` r.3
2013-06-26 17:45   ` Bikal Gurung
2013-06-26 17:55     ` David Allsopp
2013-06-26 18:07       ` Bikal Gurung
2013-06-26 18:28         ` Wojciech Meyer
2013-06-26 18:12       ` Adrien Nader
2013-06-26 19:54     ` Alain Frisch

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=51C81B39.8040400@gmail.com \
    --to=jonathan.protzenko@gmail.com \
    --cc=bikal.gurung@lemaetech.co.uk \
    --cc=caml-list@inria.fr \
    --cc=dra-news@metastack.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).