[Mesa-dev] [PATCH 05/11] gallium/auxiliary: Build libgallium shared.
tom at stellard.net
Sat Jan 12 07:09:52 PST 2013
On Sat, Jan 12, 2013 at 10:04:16AM -0500, Tom Stellard wrote:
> On Sat, Jan 12, 2013 at 11:34:04AM +0100, Johannes Obermayr wrote:
> > Am Samstag, 12. Januar 2013, 13:34:34 schrieb Chia-I Wu:
> > > On Sat, Jan 12, 2013 at 10:23 AM, Johannes Obermayr
> > > <johannesobermayr at gmx.de> wrote:
> > > > diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
> > > > index a4eee47..21b3c6b 100644
> > > > --- a/src/gallium/auxiliary/Makefile.am
> > > > +++ b/src/gallium/auxiliary/Makefile.am
> > > > @@ -3,13 +3,17 @@ AUTOMAKE_OPTIONS = subdir-objects
> > > > include Makefile.sources
> > > > include $(top_srcdir)/src/gallium/Automake.inc
> > > >
> > > > -noinst_LTLIBRARIES = libgallium.la
> > > > +lib_LTLIBRARIES = libgallium at VERSION@.la
> > > I probably missed the discussion. I suppose libgallium is meant to be
> > > internal. What motivates the change?
> > >
> > 1. It is easiest fix for a runtime fix if you build r600 and radeonsi together.
> I'm assuming the runtime errors you are referring are when static LLVM
> objects are initialized twice and lead to an assertion failure
> somewhere in the LLVM code.
> I don't think these runtime errors are caused by building r600 and
> radeonsi together, because I get the same LLVM assertion failures
> running clover as I do with EGL.
> From what I can tell, these runtime errors happen when a state tracker,
> like clover or EGL links to certain LLVM libraries and then loads a
> pipe_*.so library that has also been linked with these LLVM libraries.
> I'm not sure why we weren't getting these errors before the automake
> merege. Maybe we were just lucky, or maybe the linker is doing something
> differently with regards to symbol visibility. It might be helpful to
> analyze libOpenCL.so or egl_gallium.so with objdump before and after
> the automake merge to see what has changed. This may helps us figure
> out what the correct solution is.
By the way, you should be able to reproduce these runtime errors by
building r600g with the llvm compiler and enabling egl support in mesa:
And running one of the egl demos, like eglgears, from the mesa-demos
> > 2. All internal libraries will be shared in future and installed to $(libdir)/mesa-$(VERSION) to make packages on distributions much much much smaller .
> > You can follow the way to it here:
> > https://github.com/jobermayr/mesa/commits/master
> > (e. g. a "full" build will be ~ 15 - 20 MiB libraries + ~ 100 - 140 MiB debuginfo +? MiB documentation)
> > 3. Maybe some more (main) developers should be also available and follow discussions on #dri-devel.
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
More information about the mesa-dev