[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

XFree86, Mesa, Debian, and libGLU revisited



[Sorry for the CC, Brian, I just wanted to make sure that people who know
better than I can stop me before I do anything stupid]

On Sun, Sep 17, 2000 at 03:01:53PM +0200, Harald Dunkel wrote:
> I'm running XFree 4.0.1 for several days on my PC at home now. 
> There seemed to be no serious problems. 
> 
> But on building some OpenGL applications (the OpenGL hacks of 
> xscreensaver) I recognized that the GLU library is gone. Before
> the update libGLU.so could be found in the old mesag3 package. 
> A similar problem exists for the xlibgl-dev package: The GLU 
> header files are gone. 
> 
> Shouldn't be GLU included in xlibgl1/xlibgl-dev to provide true
> compatibility to Mesa? 

Yes, but here's the problem:

The XFree86 source tree, which contains Mesa (libGL and libOSMesa, the
off-screen rendering library), does *not* contain libGLU.  I don't honestly
know why this choice was originally made (I get the impression it has
something do with libGLU being written in C++ -- no other part of the
XFree86 source distribution is).

However, a consensus has formed of late among the XFree86 developers, in
conjunction with Brian Paul (the mastermind of the Mesa project), that
libGLU should be shipped, built and installed with the rest of Mesa as part
of the XFree86 distribution.  I've corresponded with Brian on this point,
and he suggests that the 3 libraries, libGL, libGLU, and libOSMesa, be
shipped in one package.  I see no compelling reason to do otherwise.

So:

+ xlibosmesa* and xlibgl* will merge into xlibmesa* in (probably) the next
  XFree86 phase2 .deb release
+ libGLU will become part of xlibmesa* as soon as upstream XFree86 makes it
  available; I don't have a timeframe on this
+ Mesa will continue to be maintained separately from XFree86 itself,
  though I gather the only real difference will be that XFree86 will decide
  based on its own needs when it takes snapshots from the Mesa CVS tree; I
  don't gather that there is a real fork underway
+ Debian's Mesa packages will thus continue to be separately maintained,
  for people who don't need the DRI drivers (I don't think there is any
  functional difference between the official Mesa and XFree86 version of
  Mesa if DRI is not available -- or not used -- with your video hardware)
+ The off-screen rendering library, libOSMesa, is not yet available in the
  Debian Mesa packages (last I checked); this should be remedied when an
  official upstream version of Mesa is released with it (which I don't
  think has happened yet) and when the Debian package maintainer then
  releases it

Here's the practical, important part:

+ In the meantime, users are going to have play games behind the back of
  the packaging system to satisfy any program that requires libGLU:

  - retrieve the appropriate mesag3 .deb package for your architecture
  - put it in a subdirectory of /tmp (not /tmp itself)
  - dpkg-deb -x mesag3-glide2_3.2.1-1_i386.deb .
    (or whatever the .deb is named)
  - become root, and return to this directory if necessary
  - cd usr/lib
  - as root, cp *libGLU* /usr/lib

People who need to compile against the libGLU headers can figure out the
analogous steps for mesag3-dev.

Sorry about this kludgey situation -- it's life on the bleeding edge.  It
will be rectified once the XFree86 sources are building libGLU.

-- 
G. Branden Robinson            |    Optimists believe we live in the best of
Debian GNU/Linux               |    all possible worlds.  Pessimists are
branden@deadbeast.net          |    afraid the optimists are right.
http://deadbeast.net/~branden/ |

Attachment: pgpPDMB0ovrhD.pgp
Description: PGP signature


Reply to: