From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 1DA92BC57 for ; Tue, 6 Jul 2010 23:36:07 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Am0DACY+M0zRVda0mGdsb2JhbACDHZAtjDEIFQEBAQEBCAkMBxEirzU7ggyFZS6IUwEBAwWBJIMKcgSIOg X-IronPort-AV: E=Sophos;i="4.53,548,1272837600"; d="scan'208";a="53724899" Received: from mail-iw0-f180.google.com ([209.85.214.180]) by mail3-smtp-sop.national.inria.fr with ESMTP; 06 Jul 2010 23:36:06 +0200 Received: by iwn8 with SMTP id 8so8207598iwn.39 for ; Tue, 06 Jul 2010 14:36:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=g4109ZIX/ABvt4sUwcuB9Jb9jq0vDmwhHTrURloz3Bk=; b=xQb9THSSJy8IOccHa9TpVJycFKu4zYLX4RPP9iPJi+Tlzp+QxHkQXSJjEaot6X4mB0 zO5MsfmM6DnxDGJ3rHntyMXpCaoNJ5WfVoD8o/uBGhDc6TG4xCdb8pALoVJ8Zc3V5OqK 6HqLXbLduZcdZ6VRV3RRJZmFutFqViPa1Sck8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=IkUqEb1jvkghgFFZ+nPTZGG/IcYYTGgMwl/roszY6U3arJIkfrLiuIgbL1VMKoQ1xD WYddVAzeGoFEektr1DhQjbMVzd3UNlohkAKd6oSOBmfL43g6mY3+D4uMRlAz83KA3kiz QXM01140wqfi30YNj+8dZtGyYOyRPPTSR4mt4= MIME-Version: 1.0 Received: by 10.231.155.131 with SMTP id s3mr4726728ibw.2.1278452165627; Tue, 06 Jul 2010 14:36:05 -0700 (PDT) Received: by 10.231.115.12 with HTTP; Tue, 6 Jul 2010 14:36:05 -0700 (PDT) Date: Tue, 6 Jul 2010 17:36:05 -0400 Message-ID: Subject: OCaml 3.12.0+beta1 on Cygwin 1.7.5 From: Taylor Venable To: caml-list@yquem.inria.fr Content-Type: text/plain; charset=UTF-8 X-Spam: no; 0.00; ocaml:01 cygwin:01 ocaml:01 cygwin:01 makefile:01 -ldl:01 usr:01 lib:01 bug:01 bytecode:01 bytecode:01 ocamlrun:01 config:01 compile:01 append:02 Hi there, I'm thinking of writing some programs in OCaml to assist a custom build infrastructure (currently 95% Tcl, 5% external Lua programs) that we use at work. Since we build on Windows, Mac, and Linux I have to make sure that whatever I end up writing works in all three. I haven't written much OCaml in my life, and the little that I did was probably five years ago, but any tools I write will have to be usable for a while. So I tried compiling OCaml 3.12.0+beta1 in Cygwin 1.7.5 -- the information I found about it seemed to imply that it should work. I put flexdll in the PATH and I was able to use the configure script and "make world.opt" with only a single problem: there were lots of linker errors when it came to building tools/objinfo_helper.exe, symbols like _lbasename, _sch_istable, and _objalloc_free could not be found. [I'd paste the full error but I forgot to email it to my private address today and the machine is in corporate lockdown mode, so I can't access it right now, but I can obtain it tomorrow at work if anybody would like to see the full message.] The way to fix it, for me anyway, was to modify the definition of LIBBFD_LINK in config/Makefile (which started out as "-lbfd -ldl") to append to it "-lintl -lz /usr/lib/libiberty.a"; and after that everything worked. I don't know if that constitutes a problem with the configure script or just something about how my Cygwin is installed, but I wanted to mention it somewhere in case it was a bug. In addition to that, I have a question: is bytecode compatible across operating systems and/or CPU architectures? In other words, if I compile to bytecode on Linux/x86, can I run that using ocamlrun on Windows/x86 or Linux/amd64? Thanks, -- Taylor C. Venable http://metasyntax.net/