[Mesa-dev] breakage from "Make shared-glapi the default"

Matt Turner mattst88 at gmail.com
Thu Aug 9 09:00:09 PDT 2012


On Thu, Aug 9, 2012 at 8:09 AM, Brian Paul <brianp at vmware.com> wrote:
> As of commit 9f7b3d171306ed2ae588e1a4145c5a364cf986ff,  when I try to
> configure and build with:
>
> $ CFLAGS=-g ./autogen.sh --enable-xlib-glx --with-x --disable-driglx-direct
> --disable-dri --enable-debug --enable-gles1 --enable-gles2 --enable-openvg
> --enable-gallium-egl --enable-xa --enable-xorg
>
> $ make
> [...]
>
> gmake[5]: Entering directory
> `/home/brian/projects/Mesa-llvm/mesa/src/mesa/drivers/x11'
>   CCLD   libGL.la
> /usr/bin/ld: cannot find -l-Wl,-soname
> /usr/bin/ld: cannot find libGL.so.1: No such file or directory
> collect2: ld returned 1 exit status
> gmake[5]: *** [libGL.la] Error 1

This looks like the real error.

> In src/mesa/drivers/x11/Makefile.am, commenting out these lines:
>
> if HAVE_SHARED_GLAPI
> lib at GL_LIB@_la_LDFLAGS += -L$(top_builddir)/$(LIB_DIR) -l$(GLAPI_LIB)
> endif
>
> fixes the compilation issue but at runtime there's an undefined symbol:
>
> $ ./gears
> ./gears: symbol lookup error:
> /home/brian/projects/Mesa-llvm/mesa/lib/libGL.so.1: undefined symbol:
> _glapi_Dispatch

This looks like it's caused by commenting out the aforementioned lines.

I can't see how changing the default to shared-glapi would cause this,
since you're building GLES which turns on shared-glapi:

# build shared-glapi if enabled for OpenGL or if OpenGL ES is enabled
case "x$enable_shared_glapi$enable_gles1$enable_gles2" in
x*yes*)
    CORE_DIRS="$CORE_DIRS mapi/shared-glapi"
    ;;
esac

Actually, it's weird that we add the shared-glapi directory but don't
set SHARED_GLAPI. I think that might be the problem. To confirm this,
does adding --enable-shared-glapi to your configure line fix this?


More information about the mesa-dev mailing list