To: luther at dpt-info.u-strasbg.fr Cc: la at iki.fi, 129530 at bugs.debian.org, lablgtk at kaba.or.jp Subject: Re: Bug#129530: lablgl: Linkage problems with libGLU In-Reply-To: <20020121112009.C13075 at dpt-info.u-strasbg.fr> References: <20020116172253.A8087 at dpt-info.u-strasbg.fr> <20020121002024.GA446@la.iki.fi> <20020121112009.C13075@dpt-info.u-strasbg.fr> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20020125125245W.garrigue at kurims.kyoto-u.ac.jp> Date: Fri, 25 Jan 2002 12:52:45 +0900 From: Jacques Garrigue Lines: 48 From: Sven > I get this report about lablgl not working with the glide version of mesa, > which only has : > > $ nm -D /usr/lib/libGLU.so | grep gluTess > 0001083c T gluTessCallback > 00010a8c T gluTessVertex > > while the mesa which comes with xfree 4 has : > > $ nm -D /usr/lib/libGLU.so | grep gluTess > 000183a0 T __gluTessErrorString > 000335e8 T gluTessBeginContour > 00033590 T gluTessBeginPolygon > 00033070 T gluTessCallback > 00033634 T gluTessEndContour > 00033668 T gluTessEndPolygon > 00033054 T gluTessNormal > 00032e58 T gluTessProperty > 00033410 T gluTessVertex > > This results in the following error : > > $ lablgl > Fatal error: cannot load shared library dlllablgl > Reason: /usr/lib/ocaml/lablgl/dlllablgl.so: undefined symbol: gluTessNormal > > Is it because i link lablgl with the Xfree version of mesa, or is the > gluTessNorm call used in lablgl. In this later case, is there anyway to solve > this adequately, like enabling the gluTessNorm call only when using the > version of mesa who has it, or most probably, building two versions > of lablgl, one for normal usage, and the other for use with > mesag-glide ? If you look in ml_glu.c, you will see that the distinction between version 1.1 and 1.2 of the GLU API is done at compile time. So you should have different packages for Xfree (GLU 1.2) and glide (GLU 1.1). Remark that they are compatible from the ocaml side: calls to undefined functions just cause runtime errors. This is to keep bytecode compatibility between different architectures. Lablgtkgl might freely depend on any of the two versions. Is debian package system expressive enough for that ? Cheers, Jacques