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

Brian Paul brianp at vmware.com
Thu Aug 9 09:19:06 PDT 2012


On 08/09/2012 10:00 AM, Matt Turner wrote:
> 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?

No luck.  I also tried a simpler configuration:

CFLAGS=-g ./autogen.sh --enable-xlib-glx --with-x 
--disable-driglx-direct --disable-dri --enable-debug --enable-shared-glapi

[...]
   CC     xm_buffer.lo
   CC     xm_dd.lo
   CC     xm_line.lo
   CC     xm_tri.lo
   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

-Brian


More information about the mesa-dev mailing list