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 sympa.inria.fr (Postfix) with ESMTPS id 3980D7EEFA for ; Wed, 24 Jun 2015 16:12:02 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of alain@frisch.fr) identity=pra; client-ip=85.233.204.164; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="alain@frisch.fr"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of alain@frisch.fr) identity=mailfrom; client-ip=85.233.204.164; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="alain@frisch.fr"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mx20.yaziba.net) identity=helo; client-ip=85.233.204.164; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="alain@frisch.fr"; x-sender="postmaster@mx20.yaziba.net"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0ChAQBLuopVnKTM6VVbg2W/VIV8AoFGTAEBAQEBARIBAQEBAQgLCQkhLoQjAQEEOEARCxgJFg8JAwIBAgE3DgYBDAgBAYgvCc01AQEBAQEFAQEBAQEBGASLSoUNhCsBBIVai06CXYRYhnmINZABAoIxAhuBVIM1AQEB X-IPAS-Result: A0ChAQBLuopVnKTM6VVbg2W/VIV8AoFGTAEBAQEBARIBAQEBAQgLCQkhLoQjAQEEOEARCxgJFg8JAwIBAgE3DgYBDAgBAYgvCc01AQEBAQEFAQEBAQEBGASLSoUNhCsBBIVai06CXYRYhnmINZABAoIxAhuBVIM1AQEB X-IronPort-AV: E=Sophos;i="5.13,672,1427752800"; d="scan'208";a="137661484" Received: from mx20.yaziba.net ([85.233.204.164]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ADH-AES256-SHA; 24 Jun 2015 16:11:50 +0200 Received: from mta10.int.yaziba.net (unknown [10.4.20.30]) by mx20.yaziba.net (mx10.yaziba.net) with ESMTP id 27C751A7445; Wed, 24 Jun 2015 16:11:50 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mta10.int.yaziba.net (Postfix) with ESMTP id 141C61389C2; Wed, 24 Jun 2015 16:11:50 +0200 (CEST) X-Virus-Scanned: amavisd-new at mta10.int.yaziba.net Received: from mta10.int.yaziba.net ([127.0.0.1]) by localhost (mta10.int.yaziba.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aoFFOCDgmI7e; Wed, 24 Jun 2015 16:11:49 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mta10.int.yaziba.net (Postfix) with ESMTP id DA2B7139645; Wed, 24 Jun 2015 16:11:49 +0200 (CEST) X-Virus-Scanned: amavisd-new at mta10.int.yaziba.net Received: from mta10.int.yaziba.net ([127.0.0.1]) by localhost (mta10.int.yaziba.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id apFgBbGnB7GX; Wed, 24 Jun 2015 16:11:49 +0200 (CEST) Received: from [10.0.48.44] (unknown [185.23.92.144]) by mta10.int.yaziba.net (Postfix) with ESMTPSA id B7F1F1389C2; Wed, 24 Jun 2015 16:11:49 +0200 (CEST) Message-ID: <558ABAA6.6070401@frisch.fr> Date: Wed, 24 Jun 2015 16:11:50 +0200 From: Alain Frisch User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Shayne Fletcher , "caml-list@inria.fr users" References: In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-DRWEB-SCAN: ok X-VRSPAM-SCORE: -100 X-VRSPAM-STATE: legit X-VRSPAM-CAUSE: gggruggvucftvghtrhhoucdtuddrfeekvddruddvgddvkeeiucdltddurdefkedurddttddmucetufdoteggodetrfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdgjtegkkfeuteenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepkfffhfgfggfvufhfjggtgfesthejrgdttdefheenucfhrhhomheptehlrghinhcuhfhrihhstghhuceorghlrghinhesfhhrihhstghhrdhfrheqnecuffhomhgrihhnpehgihhthhhusgdrtghomh X-VRSPAM-EXTCAUSE: mhhouggvpehsmhhtphhouhht X-Validation-by: alain.frisch@lexifi.com Subject: Re: [Caml-list] Build failure under Visual Studio 2015 Hi Shayne, This could come from .obj files shipped with flexdll. You could try to produce new versions of flexdll_msvc.obj, flexdll_initer_msvc.obj (and the *msvc64.obj versions) by recompiling sources with MSVC 14. Sources can be found: https://github.com/alainfrisch/flexdll See also the Makefile for build instructions on these .obj files. Let us know how this goes! Alain On 06/24/2015 03:39 PM, Shayne Fletcher wrote: > I decided to experiment with the Microsoft Visual Studio 2015 release > candidate. This bundle contains msvc-14.0 for which `_MSC_VER` has the > value 1900. > > Some warnings are silenced with this patch to byterun/floats.c > > #if defined (_MSC_VER) > # include > # if(MSC_VER < 1900) > # define isnan _isnan > # define isfinite _finite > # endif/*(MSC_VER <= 1400)*/ > #endif /*defined(_MSC_VER)*/ > > There is a problem though that comes about here in the production of > 'ocamlrun.exe': > > link -lib -nologo -machine:AMD64 /out:libcamlrun.lib interp.obj misc.obj > stacks.obj fix_code.obj startup_aux.obj startup.obj freelist.obj > major_gc.obj minor_gc.obj memory.obj alloc.obj roots.obj globroots.obj > fail.obj signals.obj signals_byt.obj printexc.obj backtrace.obj > compare.obj ints.obj floats.obj str.obj array.obj io.obj extern.obj > intern.obj hash.obj sys.obj meta.obj parsing.obj gc_ctrl.obj > terminfo.obj md5.obj obj.obj lexing.obj callback.obj debugger.obj > weak.obj compact.obj finalise.obj custom.obj dynlink.obj win32.obj main.obj > cl -nologo -D_CRT_SECURE_NO_DEPRECATE > -DOCAML_STDLIB_DIR='"C:/ocaml-msvc14/lib"' -I"C:\Program Files > (x86)\flexdll" -O2 -Gy- -MD -c -o prims.obj prims.c > cl : Command line warning D9035 : option 'o' has been deprecated and > will be removed in a future release > prims.c > flexlink -x64 -merge-manifest -stack 33554432 -exe -o ocamlrun.exe > prims.obj ws2_32.lib \ > libcamlrun.lib > ** Cannot resolve symbols for descriptor object: > __iob_func > sprintf > Makefile.nt:23: recipe for target 'ocamlrun.exe' failed > > The second of those missing symbols 'sprintf' can be resolved with this > addition to config/Makefile, line 99 > > EXTRALIBS=legacy_stdio_wide_specifiers.lib legacy_stdio_definitions.lib > > so that the flexlink step reads > > flexlink -x64 -merge-manifest -stack 33554432 -v -exe -o ocamlrun.exe > prims.obj ws2_32.lib legacy_stdio_wide_specifiers.lib > legacy_stdio_definitions.lib libcamlrun.lib > > but the issue with '__iob_func' remains. > > I've always associated this sort of problem in the past with mismatch > between /MD and /MT. Research also indicates that this error can > manifest when linking under msvc-14 against objects built with an older > version of the compiler. In any case, after scratching around on it for > an hour or two, I haven't yet found a way to overcome the link failure. > > I don't know for sure whether we are looking at a problem with the > release candidate or, a problem with the build system with this new > compiler. I do have a lead or two left to follow - if I have any success > at overcoming this problem, I'll post here. > > -- > Shayne Fletcher