To: sacerdot at CS.UniBO.IT Cc: lablgtk at kaba.or.jp Subject: Re: Problem with lablgl, lablgtk and dynamic linking In-Reply-To: <20020416125243.E12398 at cs.unibo.it> References: <20020416125243.E12398 at cs.unibo.it> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20020424123144E.garrigue at kurims.kyoto-u.ac.jp> Date: Wed, 24 Apr 2002 12:31:44 +0900 From: Jacques Garrigue Lines: 28 From: Claudio Sacerdoti Coen > When dlllablgtkgl.so is dynamically linked, I get this exception raised: > Fatal error: exception Gtk.Warning("gdome_xml_n_mkref: invalid node type") > The exception comes from a messed-up pointer in the code of gdome2. > (It is not a binding, but a C library). The behaviour is not the same > on every machine. For example, on another one I need to dynamically link > both dlllablgtkgl.so and dlllablglade.so. This looks like you are describing two different problems. I'm a bit confused by your description. A more exhaustive explanation, with some code, might help. > This behaviour only appears in the interpreted version and not in the > compiled one. Do you happen to know of some open bug somewhere in lablgtk > or in the dynamic linking machinery of ocaml or should I think that there > are problems inside some of the C libraries? The main difference between bytecode and native code being a different handling of functions with more than 5 parameters (hence the ML_6_bc macros in wrappers.h), you should check again that you have two correct implementations for all such functions in your Caml external declarations. There are other non-API differences, which can be exposed by some illegal use, but this is much harder to find. Jacques