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=1.5 required=5.0 tests=AWL,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 concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 963D8BC74 for ; Wed, 1 Aug 2007 09:44:41 +0200 (CEST) Received: from mu-out-0910.google.com (mu-out-0910.google.com [209.85.134.186]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l717iffQ025637 for ; Wed, 1 Aug 2007 09:44:41 +0200 Received: by mu-out-0910.google.com with SMTP id w9so127135mue for ; Wed, 01 Aug 2007 00:44:41 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:received:date:to:cc:subject:message-id:mail-followup-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent:from; b=CTCW/7npcVEoe89wNzgQyxduOO0t3F6galXsMJ9TbxPvDVHV3XJP+LlZz7Sz4xKXY7sxL7Phiyl+7+3z22hy93wAl934Bt7XbrBiXsJQY5DZoQBF0MMeMnswLrx7DSrkvZX+g219kurVE/B1dLXusdYNI3HpRAutTnRP7//0Ly8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:date:to:cc:subject:message-id:mail-followup-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent:from; b=CTCH0YOimsBXXWSH+VJqSL5MrFZCxQOEoxfwSuTb1I2l4wxBWQY6Wo9TUpK/b5D50w7s794hC7yV6t9u+AvNNYYJw30sPHY9AekHZFNsFNTsdYZToURqf7VktqAT/P4XLREop703TU6k4jOwaBt9S5nfsqaUfhZo0o5lpQpsJZk= Received: by 10.86.100.7 with SMTP id x7mr367107fgb.1185954280802; Wed, 01 Aug 2007 00:44:40 -0700 (PDT) Received: from localhost ( [82.122.255.121]) by mx.google.com with ESMTPS id w5sm1334506mue.2007.08.01.00.44.35 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 01 Aug 2007 00:44:36 -0700 (PDT) Received: by localhost (sSMTP sendmail emulation); Wed, 01 Aug 2007 09:44:22 +0200 Date: Wed, 1 Aug 2007 09:44:22 +0200 To: Jos Backus Cc: caml-list@inria.fr Subject: Re: [Caml-list] undefined symbol `caml_tuplify2' in dynamic rocaml extension Message-ID: <20070801074422.GA5362@jiyu.gnu> Mail-Followup-To: Julien Moutinho , Jos Backus , caml-list@inria.fr References: <20070801040102.GA88101@lizzy.catnook.local> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070801040102.GA88101@lizzy.catnook.local> User-Agent: Mutt/1.5.16 (2007-06-11) From: Julien Moutinho X-j-chkmail-Score: MSGID : 46B039E9.001 on concorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at concorde with ID 46B039E9.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 patched:01 ocamlopt:01 -output-obj:01 wrote:01 caml-list:01 undefined:01 undefined:01 callback:02 caml:02 caml:02 output:02 library:03 library:03 On Tue, Jul 31, 2007 at 09:01:02PM -0700, Jos Backus wrote: > Hi. I'm trying to use rocaml to wrap an Ocaml library so it can be accessed > from a dynamic Ruby extension (using Callback.register). Everything works, > except when I try to access the Ocaml type from Ruby the following Ruby > LoadError is emitted: > > undefined symbol: caml_tuplify2 > > So my question is: what do I need to do in order to satisfy this symbol? It > doesn't appear in any library. ocaml version is 3.09.2. AFAICS, when needed, caml_tuplifyN end up within the /tmp/camlstartup*.s file mechanically generated at link time. You can keep this file with -dstartup. Unfortunately, due to its quasi-random name, it is not easy to retrieve it mechanically. Personally I have patched ocamlopt in order to have a -startup option keeping camlstartup_.o in the current directory. Anyway, maybe there is a better way for your own concern. Have a glance at -output-obj perhaps. HTH.