[Mesa-dev] undefined C++ GLSL symbol error

Matt Turner mattst88 at gmail.com
Tue Jan 31 09:02:28 PST 2012


On Tue, Jan 31, 2012 at 11:36 AM, Brian Paul <brianp at vmware.com> wrote:
> On 01/31/2012 08:32 AM, Matt Turner wrote:
>>
>> On Tue, Jan 31, 2012 at 9:32 AM, Matt Turner<mattst88 at gmail.com>  wrote:
>>>
>>> On Tue, Jan 31, 2012 at 2:12 PM, Brian Paul<brianp at vmware.com>  wrote:
>>>>
>>>> I just ran into this problem this morning.
>>>>
>>>> make realclean
>>>> ./autogen.sh
>>>> ./configure --disable-dri --enable-xlib-glx --enable-osmesa
>>>> --enable-debug
>>>> make
>>>>
>>>> The build appears to go fine, but when I try to run any GL app I get:
>>>>
>>>> glxinfo: symbol lookup error: /home/brian/mesa/lib/libGL.so.1: undefined
>>>> symbol: _ZN23ir_hierarchical_visitor5visitEP11ir_variable
>>>>
>>>> I haven't bisected yet to see if one of the recent GLSL changes is
>>>> responsible...
>>>>
>>>> -Brian
>>>
>>>
>>> I can reproduce. I'll take a look.
>>>
>>> Thanks,
>>> Matt
>>
>>
>> Does this patch fix it for you?
>>
>> Matt
>
>
> $ make>log
> ar: creating libglapi.a
> ar: creating libmesa.a
> ar: libmesa.a: Error reading ../../src/glsl/.libs/: Is a directory
> ar: creating libmesagallium.a
> ar: libmesagallium.a: Error reading ../../src/glsl/.libs/: Is a directory
> ar: creating libegl_glx.a
> ar: creating libgallium.a
>
> The build completes, but when I try to run anything:
>
> glxinfo: symbol lookup error: /home/brian/mesa/lib/libGL.so.1: undefined
> symbol: _tnl_run_pipeline

I don't understand this -- I didn't touch src/mesa/drivers/x11, but
before automaking src/glsl it works and after it doesn't, so.

libGL.so before didn't have an undefined reference (ie, nm -C -D -g
gives 'U _tnl_run_pipeline') but after it does. In fact, before,
nothing seems to have a reference to _tnl_run_pipeline. If you build
libdricore.so, you can LD_PRELOAD it to work around this.

I'll keep looking.
Matt


More information about the mesa-dev mailing list