caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Markus E L <ls-ocaml-2006@m-e-leypold.de>
To: caml-list@inria.fr
Subject: Re: [Caml-list] 3.10.0 on Windows XP
Date: Wed, 19 Sep 2007 18:33:54 +0200	[thread overview]
Message-ID: <mu7immpqbx.fsf@hod.lan.m-e-leypold.de> (raw)
In-Reply-To: <0172C3AE3A0E964797AF43E206C1048F0ED47F@FRCOR-EXMB06.europe.am.socgen> (RABIH ELCHAAR's message of "Wed, 19 Sep 2007 18:01:43 +0200")


 wrote:

> Ocaml 3.10 native windows uses the VS2005 toolchain.
> You should make it available.

> The ocamlrul.exe should depend on MSVCRT80.dll wich comes with the
> .net 2.0 framework.

And should, according to MS, be distributed with the application and
be installed in an application local directory. 

The same applies to MSVCRT70.dll, which, I note in passing, the
current lablgtk has been compiled against, but doesn't include:
lablgtk won't run on a virgin windows install, and technically there
is no legal way to get the DLL w/o getting the development
environment, except from the application developer. MS doesn't offer
it for download.

Furthermore, mixing older MSVCRT* with MSVCRT70.dll and above is not
recommended and will wreak havoc. Since the available Ocaml 3.09 for
Windows has been compiled with MingW, it links NOT again MSVCRT70, but
against MSVCRT.DLL (which is redistributable and comes with the
system), it's just be tenous chance that the binary lablgtk runs with
the MingW windows distribution (and I think some of the instabilities
observed are due to this mixing of DLLs).

I'd even suspect using the current binary distribution of Lablgtk with
a compiler that links against MSVCRT80 via visual studio will sooner
or later incur problems. 

I hope, I didn't mix up all the library names (quoting from memory),
but the essence of all this is, to build all DLLs consistently against
the same MSVCRT version. So there should actually be 3 distributions
(mind you, of anything with a DLL in it):

  - MingW (links agains MSVCRT.DLL)

  - VS 2003 (or something): Links against MSVCRT70 and also
    distributes this library (if permissible, AFAIR the express
    edition doesn't allow this, so you're essentially f***ed with the
    Express Edition, or better: Your users are: No point and click
    install, except you already have the DLL installed in a windows
    system directory, which, mind you, is against the rules).

  - VS 2005: Links against MSVCRT80.

Technically this characterizes the target platform, not how the
compiler itself has been build. I can imagine a compiler linked
against MSVCRT80 which in itself uses cygwin or MingW as backend and
thus produces MSVCRT.DLL linked executables, though I don't think
anyone has ever tried that.

I've been wanting to post that for some time, never made it to the
lablgtk mailinglist, though I will take it up there in the next weeks.

Regards -- Markus


  reply	other threads:[~2007-09-19 16:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-19 16:01 RABIH.ELCHAAR
2007-09-19 16:33 ` Markus E L [this message]
2007-09-19 16:37 ` Richard Bornat
2007-09-19 19:40   ` Markus E L

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=mu7immpqbx.fsf@hod.lan.m-e-leypold.de \
    --to=ls-ocaml-2006@m-e-leypold.de \
    --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;
as well as URLs for NNTP newsgroup(s).