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.0 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 53EA1BC69 for ; Mon, 30 Jul 2007 12:01:44 +0200 (CEST) Received: from hu-out-0506.google.com (hu-out-0506.google.com [72.14.214.233]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l6UA1hJv012577 for ; Mon, 30 Jul 2007 12:01:44 +0200 Received: by hu-out-0506.google.com with SMTP id 16so951195hue for ; Mon, 30 Jul 2007 03:01:43 -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=ajXYR7m5xF7mfwq0exVgyCgmw/oIZePaOU6vLREwD4oIk4P9GyHYqv9qoDII5yUNPpqQ1HRIHQZYLSEDrPgI9WEufmFokcyujjTtUULDjFssaie73sNSTn1xL/SiXM5N0FThMXLj5AG9qCHMPwYKwkvJEDxmo2i+G+uzfyMOKGQ= 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=dm78WmrmnguN72s2LdzTSJ0QX0RpJWD/2QcAh6GClF070EklQrt86+Vq3Vz1Un4jddZ3X3rW8YGiAdVkgZnE2hDPQ9zBeRAHGgr8+2wecVMO65OQClbfeWwp7t0f93LlUxnEaB12VgoH3P0+KVUBs7Bw2F0ZjWC2GwRBspcRzBY= Received: by 10.86.86.12 with SMTP id j12mr3781879fgb.1185789703462; Mon, 30 Jul 2007 03:01:43 -0700 (PDT) Received: from localhost ( [86.211.2.178]) by mx.google.com with ESMTPS id y6sm13410321mug.2007.07.30.03.01.41 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 30 Jul 2007 03:01:42 -0700 (PDT) Received: by localhost (sSMTP sendmail emulation); Mon, 30 Jul 2007 12:01:38 +0200 Date: Mon, 30 Jul 2007 12:01:38 +0200 To: Kaspar Rohrer Cc: caml-list@inria.fr Subject: Re: [Caml-list] Native multithreaded LablGTK2? Message-ID: <20070730100138.GA28423@jiyu.gnu> Mail-Followup-To: Julien Moutinho , Kaspar Rohrer , caml-list@inria.fr References: <950BC328-B571-4736-A779-8E3EE9CF6F3E@student.ethz.ch> <20070730054047.GA11678@jiyu.gnu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.16 (2007-06-11) From: Julien Moutinho X-j-chkmail-Score: MSGID : 46ADB707.001 on concorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at concorde with ID 46ADB707.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; lablgtk:01 0200,:01 lablgtk:01 ocamlfind:01 -predicates:01 cmxa:01 gtkthread:01 cmx:01 lablgl:01 ocamlfind:01 -predicates:01 lablgl:01 cmxa:01 gtkinit:01 cmx:01 On Mon, Jul 30, 2007 at 10:22:17AM +0200, Kaspar Rohrer wrote: > On 30.07.2007, at 07:40, Julien Moutinho wrote: > >> Check the META.lablgtk2 file: >> $ ocamlfind query lablgtk2 -format "%A" -predicates native,mt >> lablgtk.cmxa gtkThread.cmx >> >> If you get this, lablgtk2 is not likely to be guilty. > Ok, I rechecked this: I think the lablgtk2 META file is the culprit: > I'm using OpenGL. So if I add the lablGL predicate, I effectively get this: > > $ ocamlfind query lablgtk2 -format "%A" -predicates native,mt,lablGL > lablgtk.cmxa lablgtkgl.cmxa lablglade.cmxa lablgnomecanvas.cmxa > lablgnomeui.cmxa lablpanel.cmxa gtkInit.cmx gtkThread.cmx gtkThread.cmx > > Which explains the error. But how would I fix this? Perhaps, you can modify lablgtk2/META, doing this: - archive(byte,mt) += "gtkThread.cmo" - archive(native,mt) += "gtkThread.cmx" + archive(byte,mt,-lablGL) += "gtkThread.cmo" + archive(native,mt,-lablGL) += "gtkThread.cmx" or that: - archive(byte,lablGL,mt) += "gtkThread.cmo" - archive(native,lablGL,mt) += "gtkThread.cmx" at your choice. By the way, here are the METAS in Debian Sid: $ cat `ocamlc -where`/lablgtk2/META version="2.6.0" requires(mt) = "threads" requires(mt,mt_vm) = "threads.vm" requires(mt,mt_posix) = "threads.posix" directory="+lablgtk2" archive(byte) = "lablgtk.cma" archive(native) = "lablgtk.cmxa" archive(byte,mt) += "gtkThread.cmo" archive(native,mt) += "gtkThread.cmx" package "init" ( requires = "lablgtk2" archive(byte) = "gtkInit.cmo" archive(native) = "gtkInit.cmx" ) package "glade" ( requires = "lablgtk2" archive(byte) = "lablglade.cma" archive(native) = "lablglade.cmxa" ) package "gtkspell" ( requires = "lablgtk2" archive(byte) = "lablgtkspell.cma" archive(native) = "lablgtkspell.cmxa" ) $ cat `ocamlc -where`/lablGL/META version="1.00" directory="+lablgl" archive(byte) = "lablgl.cma" archive(native) = "lablgl.cmxa" package "togl" ( requires = "labltk lablgl" archive(byte) = "togl.cma" archive(native) = "togl.cmxa" ) package "glut" ( requires = "lablgl" archive(byte) = "lablglut.cma" archive(native) = "lablglut.cmxa" ) At first sight, they seem less comprehensive, but more accurate...