[Mesa-dev] [PATCH 05/11] gallium/auxiliary: Build libgallium shared.

Tom Stellard tom at stellard.net
Sat Jan 12 07:04:16 PST 2013


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.

-Tom
> 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


More information about the mesa-dev mailing list