From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 95A22BC57 for ; Thu, 15 Apr 2010 21:16:50 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoIBAAsDx0vRVd2vkGdsb2JhbACPRoIFihoIFQEBAQEJCQwHEQMfrjCBcYYcLohNAQEDBYUJBA X-IronPort-AV: E=Sophos;i="4.52,214,1270418400"; d="scan'208";a="60773631" Received: from mail-qy0-f175.google.com ([209.85.221.175]) by mail4-smtp-sop.national.inria.fr with ESMTP; 15 Apr 2010 21:16:50 +0200 Received: by qyk5 with SMTP id 5so2117806qyk.3 for ; Thu, 15 Apr 2010 12:16:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=C56F/y3hkI/bsgYDYm0Vnix61OSSxc+2l96Bfw+76Y4=; b=I6ta7Q/uMCPhNmX1luwOstQG9N55UgJXK4YbWkRN/NnmqLsAZkc4h7OJbGM9P9yoNe 5ozldTG5PMAE1YybfmgxJ35n6/Q1Va+6pXh+o1vXn99NUiuO3EbGCsshYlZnAir8Wrwt miA7Epv8pXRwNqtrmsAerJm6FjrGzoh+uVSok= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=EFpOZBhOrvlM7T8HbU4rFRLfoGp+8IG+v5O2TFfRSUfnZfnODbaD5+VhxS2ghNilc0 BYxGSXp6D1u2lk676PHevoCXNneWv9m6YEVRX/yAwDa+/0cvTuHEETJZfp3lVY9CIE4x 9XU9pf3+/Tsn82ckJRNivRkRRJpanOoS6e6r8= MIME-Version: 1.0 Received: by 10.229.89.149 with HTTP; Thu, 15 Apr 2010 12:16:46 -0700 (PDT) In-Reply-To: References: Date: Thu, 15 Apr 2010 15:16:46 -0400 Received: by 10.229.190.133 with SMTP id di5mr576531qcb.23.1271359006612; Thu, 15 Apr 2010 12:16:46 -0700 (PDT) Message-ID: Subject: Re: [Caml-list] Statically linked win32 libcamlrun.lib? From: Lally Singh To: Dmitry Bely Cc: caml-list@yquem.inria.fr Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; statically:01 libcamlrun:01 lib:01 statically:01 libcamlrun:01 lib:01 nodefaultlib:01 runtime:01 makefile:01 makefile:01 ocamlrun:01 ocamlc:01 -nostdlib:01 stdlib:01 -warn-error:01 On Thu, Apr 15, 2010 at 2:59 AM, Dmitry Bely wrote: > On Thu, Apr 15, 2010 at 3:39 AM, Lally Singh wrot= e: > >> =A0Is it possible to statically link libcamlrun.lib, so it'll work with >> libcmtd.lib instead of msvcrt.dll? =A0I've tried: >> >> FLEXLINK=3Dflexlink -merge-manifest -link /nodefaultlib:msvcrt.lib -link >> libcmtd.lib > > Please don't use "brute force" methods. If you need statically linked > MSVC runtime, just replace /MD with /MT (or /MTd) in config/Makefile. Thanks, I've tried this instead, and I can't get through make -f Makefile.nt bootstrap without: ../../boot/ocamlrun ../../ocamlc -nostdlib -I ../../stdlib -w s -c -warn-error A -g -I ../win32unix bigarray.mli File "bigarray.mli", line 384, characters 4-19: Error: Unbound type constructor Unix.file_descr make[2]: *** [bigarray.cmi] Error 2 I guess using the flexlink hack just moved whatever underlying problem I'm having to a later stage. > >> in config/Makefile, and it all builds.=A0However, I still get: >> >> libcamlrun.lib(sys.obj) : error LNK2019: unresolved external symbol >> __imp__system referenced in function _caml_sys_system_command >> libcamlrun.lib(floats.obj) : error LNK2019: unresolved external symbol >> __imp__frexp referenced in function _caml_frexp_float >> libcamlrun.lib(floats.obj) : error LNK2019: unresolved external symbol >> __imp__modf referenced in function _caml_modf_float >> libcamlrun.lib(startup.obj) : error LNK2019: unresolved external >> symbol __imp__sscanf referenced in function _scanmult >> libcamlrun.lib(startup.obj) : error LNK2019: unresolved external >> symbol __imp___beginthread referenced in function _caml_main >> >> Any thoughts? > > Ocaml expects C runtime functions exported from a DLL (they have > __implib prefix). No surprise - MSVC runtime is not a link time choice > and requires correct compile time flags. > >> Sadly I have to do it this way -- we're linking a -output-obj'd .obj >> into our DLL (which must be statically linked to the runtime) and then >> linking libcamlrun.lib to that -- or at least hoping to. >> >> Thanks in advance for any help! > > - Dmitry Bely > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs >