[Mesa-dev] Build failure since May 6

tom fogal tfogal at alumni.unh.edu
Fri May 14 08:14:07 PDT 2010


Brian Paul <brianp at vmware.com> writes:
> Kevin H. Hobbs wrote:
> > On 05/14/2010 08:51 AM, Dan Nicholson wrote:
> >> On Thu, May 13, 2010 at 7:40 AM, Kevin H. Hobbs <hobbsk at ohiou.edu> wrote:
> >>> I tried it and it tests as well with VTK as any recent build.
> >> Thanks. Well, you and Tom use a standalone osmesa. The only distro I
> >> looked at (fedora) uses a standalone osmesa. Maybe the build should
> >> just do that instead of trying to link to gl in some situations. It
> >> could certainly make the build a lot nicer. I'll try to put that into
> >> a formal patch since there's some other cleanup.
> > 
> > I am confused about the term "standalone osmesa" could you please tell
> > me if you mean :
> > 
> > 1. a build of Mesa where only libOSMesa.so is produced?
> > 
> > 2. a build of Mesa where libGL.so and libOSMesa.so are produced but the
> > dynamic linker will need no symbols from libGL.so in order to load
> > libOSMesa.so?
> > 
> > 3. a build of Mesa where libGL.so and libOSMesa.so are produced but the
> > dynamic linker will need symbols from libGL.so in order to load
> > libOSMesa.so.
[snip]
> Just some historical background: as originally designed, libOSMesa.so
> did not include the gl* entrypoints; you also had to link with
> libGL.so.  This allowed GLX and OSMesa to coexist and be used
> simultaneously within an app.
>
> I don't think many people still make use of that feature.  I think
> it's more common to build Mesa with name mangling to do OSMesa
> rendering with the mgl* functions and hardware rendering through the
> gl* functions (with any vendor's libGL).
>
> My preference now would be for option 2 (or 1) so that libOSMesa
> doesn't depend on libGL.so.

I think option 2 is what we get --with-driver=osmesa, mostly.. it just
doesn't build libGL.

To be honest, a standalone OSMesa isn't useful for us, because of how
VTK works.  To satisfy VTK, I currently build mangled Mesa AND mangled
OSMesa, and do a crazy cmake trick to make sure things work out (since
there are duplicate symbols, the -l order matters).

It would be *much* better for us if we could get a library which had
all of the OSMesa* functions, mangled glX symbols, and mangled gl
symbols.

That said, the use case of "just OSMesa" is probably still valid.. just
not something I personally care about in the short term.

-tom


More information about the mesa-dev mailing list