From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=2.0 required=5.0 tests=AWL,DNS_FROM_RFC_POST, SPF_NEUTRAL autolearn=disabled version=3.1.3 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 1AFA1BC37 for ; Thu, 11 Jun 2009 16:10:53 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgMHANusMErRVdLKcWdsb2JhbACYAD8BDAgNBxKlVoEYkAsBAwIEhAYF X-IronPort-AV: E=Sophos;i="4.42,202,1243807200"; d="scan'208";a="41575170" Received: from mail-yx0-f202.google.com ([209.85.210.202]) by mail4-smtp-sop.national.inria.fr with ESMTP; 11 Jun 2009 16:10:52 +0200 Received: by yxe40 with SMTP id 40so455435yxe.1 for ; Thu, 11 Jun 2009 07:10:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=MLWUlXTAyCYcL+v/SjyTEG1y/O8qu2y64ZmRYnIswWY=; b=CbszJLve4ij6QrLPF6FL2Fw1CmQSRhFAuBB1TlGv2Wrb86YfVDzCXEk1UCLVcjp0Lr ikUxWjrpXVfxXURYLKlTiD4uM/FIluq5uSZ2Fwaai09ftkEa/3a93sVkD3TNAUJeymWc QBTHU9bspXvWz59X4ZxxxfjZ7KQ9dON1WSgIQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=LeoPugdzmJzRBmcdwIVrbBzWW09iDaLIjkyU+SDfb8XzCbpPVQA2x9NtJHgjaPc4xk wujMiezynsDy76NtqVKAP0ovUQXe7ICWygF++yEPCrLAhQXudzrvo+t62ipjDEUGh2oV MGlHogf6twRzR3y2r91xoChcUTM+jOHoFovHs= Received: by 10.100.163.15 with SMTP id l15mr2978550ane.22.1244729450725; Thu, 11 Jun 2009 07:10:50 -0700 (PDT) Received: from ?192.168.0.11? (adsl-69-154-216-28.dsl.stlsmo.swbell.net [69.154.216.28]) by mx.google.com with ESMTPS id 6sm87962ywn.37.2009.06.11.07.10.48 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 11 Jun 2009 07:10:49 -0700 (PDT) Message-ID: <4A311067.5010905@gmail.com> Date: Thu, 11 Jun 2009 09:10:47 -0500 From: Edgar Friendly User-Agent: Thunderbird 2.0.0.21 (X11/20090409) MIME-Version: 1.0 To: Tiphaine Turpin , caml-list@yquem.inria.fr Subject: Re: [Caml-list] Batteries and portability References: <4A30CD39.1010804@irisa.fr> In-Reply-To: <4A30CD39.1010804@irisa.fr> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; usr:01 camomile:01 -linkall:01 camomile:01 compiler:01 compiler:01 elided:01 edgar:98 wrote:01 exception:01 caml-list:01 dependency:01 portability:02 compiling:02 linking:02 Tiphaine Turpin wrote: > Dear list, > > When trying to execute a compiled program on another machine, I get the > following error: > > Fatal error: exception > Sys_error("/usr/share/camomile/database/general_category.mar: No such > file or directory") > > I don't think I'm using camomille and I'm not compiling with -linkall, > however linking takes a lot of time in my opinion (~15 seconds for about > 2000loc). Is it the expected behavior of batteries to always expect this > file (and maybe others) to be present ? > > > Tiphaine > Batteries uses camomile (one L) for its UTF8 ropes. It is the expected behavior for it to load those files on startup even if one doesn't use ropes. We'd love for this kind of thing to be optimized out by the compiler, but this might be one case where the compiler can't tell whether the side-effects of module initialization (reading from files) can be elided. If someone has a solution for this, we'd love to solve this problem in a not-too-hackish way, but I worry that a non-camomile build of batteries is the only way to eliminate this dependency. Of course it's possible to depend on files stored elsewhere, but camomile is quite set up to use external files for its unicode conversion tables. E