From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id D729D7FC55 for ; Wed, 30 Sep 2015 17:00:13 +0200 (CEST) IronPort-PHdr: 9a23:ceEgURM6GEDcwF7k1aMl6mtUPXoX/o7sNwtQ0KIMzox0KPj8rarrMEGX3/hxlliBBdydsKIYzbSO+Pi/EUU7or+/81k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i760zceF13FOBZvIaytQ8iJ35jxibj5o8KbSj4LrQT+SIs6FA+xowTVu5teqqpZAYF19CH0pGBVcf9d32JiKAHbtR/94sCt4MwrqHwI6Lpyv/JHBK7zeqB9Sb1DEHxyOGkw4IjvtALfZQqJ/HoVFGsMxElmGQ/AuTPnWN/frzHnrec1jCuHO4v4UKopQjmK4KJiSRuugyACYW1quFrLg9B92foI6CmqoAZyltbZ Authentication-Results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=jun.furuse@gmail.com; spf=Pass smtp.mailfrom=jun.furuse@gmail.com; spf=None smtp.helo=postmaster@mail-wi0-f182.google.com Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of jun.furuse@gmail.com) identity=pra; client-ip=209.85.212.182; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jun.furuse@gmail.com"; x-sender="jun.furuse@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of jun.furuse@gmail.com designates 209.85.212.182 as permitted sender) identity=mailfrom; client-ip=209.85.212.182; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jun.furuse@gmail.com"; x-sender="jun.furuse@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-wi0-f182.google.com) identity=helo; client-ip=209.85.212.182; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="jun.furuse@gmail.com"; x-sender="postmaster@mail-wi0-f182.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0AOAwCO+AtWlLbUVdFeg0M1aQaDJadihm6HU4QvgXuHKwc5EwEBAQEBAQEBEAEBAQEHCwsJHzCCHYIgER0BGx4DEhAPAiYCJAERAQUBDgETGwwOh3YBAxINpxqCBYEwPjGLR4FsgnmKIAoZJw1WhEQBBQ6BFIVRhiCGWoFDBY13iAGFFod9ghWXbxIjgRciAYJRFgeBYTEziR4BAQE X-IPAS-Result: A0AOAwCO+AtWlLbUVdFeg0M1aQaDJadihm6HU4QvgXuHKwc5EwEBAQEBAQEBEAEBAQEHCwsJHzCCHYIgER0BGx4DEhAPAiYCJAERAQUBDgETGwwOh3YBAxINpxqCBYEwPjGLR4FsgnmKIAoZJw1WhEQBBQ6BFIVRhiCGWoFDBY13iAGFFod9ghWXbxIjgRciAYJRFgeBYTEziR4BAQE X-IronPort-AV: E=Sophos;i="5.17,612,1437429600"; d="scan'208";a="149135686" Received: from mail-wi0-f182.google.com ([209.85.212.182]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 30 Sep 2015 17:00:05 +0200 Received: by wicfx3 with SMTP id fx3so66184382wic.0 for ; Wed, 30 Sep 2015 08:00:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=9ozTucmyNE3ffNo0vldTvHD+L4uLzExBgX66VWbogEE=; b=sEFQY0CP31LTqYpDnt4siHLjHZnTma3JveiEYSrcxAKFo5aYL4AeRIgNYWMam7gyxP Aulbb4xBylo++srdRM4IKEB0/iu9W3vglFt9Ur8m194ig29EJ740WZES8Af5Vg2TQlrZ /I+pZeOvKzAHKnfIW3YV+Sy5FaMFSlT28Iwdg4PQ6T9x0eBtMZfczhquma+QFdQRBjN4 vYMATSQtW9ifmUvhjyQc4OKKZchybFfBx33HQU7J1oyQCfTbrvOGiLzVpH5XLuluf4NX OzfTYpVS9AhNiT6rLMyvf80SxtHLdLkBFWQsDNHGIwWOj05f1rDYBosWCRrnS612LQ+r aWLw== MIME-Version: 1.0 X-Received: by 10.180.107.130 with SMTP id hc2mr29674543wib.92.1443625204771; Wed, 30 Sep 2015 08:00:04 -0700 (PDT) Received: by 10.194.142.172 with HTTP; Wed, 30 Sep 2015 08:00:04 -0700 (PDT) Date: Wed, 30 Sep 2015 23:00:04 +0800 Message-ID: From: Jun Furuse To: caml-list Content-Type: text/plain; charset=UTF-8 Subject: [Caml-list] User Report: Cygwin32 OPAM for MinGW OCaml 64 Hi List, I have played a bit with Cygwin OPAM to install packages for MinGW 64bit OCaml system, and finally got succeeded to install core_kernel by `opam install core_kernel`. It required several fixes of OCaml+OPAM configurations and patching to packages but now I think I got enough know-how and share it with the community. To use Cygwin32 OPAM smoothly for MinGW64 OCaml you need: * /usr/bin/ar of Cygwin32 did not work for MinGW OCaml 64. I had to use a special ar command for MinGW64. * Many build scripts assume Unix commands. You need to add Cygwin's /bin directory to Windows PATH * global-config.config and system.comp must be fixed so that directory and paths can be understandable by MinGW OCaml, a Windows app Many packages can be installed without any modification to them. Therefore Cygwin OPAM is already very useful for MinGW OCaml package installation. However, some packages required fixes and here are some tips: * Use "mixed path" obtained by cygpath -m, so that the paths can be understandable both for Cygwin and for MinGW * Build systems like Oasis executes commands not using /bin/sh but cmd.exe in MinGW. _oasis or setup.ml contains lots of Unix shell phrases like mkdir $dir; build something which are wrongly executed by cmd.exe. You need to fix them so that they can be interpreted by sh, i.e. sh -c "mkdir $dir; build something" * In Unix, files in xxx.install are ignored by OPAM when they are already installed by OPAM's install section. However, in Cygwin, it sometimes fails. It is due to Cygwin's special handling of files with .exe extension. You need remove entries from xxx.install if they are installed by the install section. I hope this information helps you. More details or work log can be found here: https://bitbucket.org/camlspotter/opamingw Enjoy OPAMinGW! Jun Furuse