undefined symbol

Daniel Sperka djsperka at ucdavis.edu
Tue Jan 31 09:46:35 PST 2006


Just discovered that in the source I have (latest CVS), you need to 
define USING_EGL when you run the make command:

cd /wherever/Mesa
make linux-dri USING_EGL=1

This brings in the source file that has the required symbols to 
r200_dri.so. There is a comment in configs/linux-dri about how USING_EGL 
was once defined by default but that's changed.

Now I can run eglgears. I get an error message about a missing file 
(.drirc), a white screen and a locked up machine. Now that's what I call 
progress!

Dan

Dane Rushton wrote:
> Hi,
> 
> r200_dri is the correct driver. The radeon one is for older cards.
> It determines which one to use from:
>     /sys/class/drm/card0/dri_library_name
> 
> I had similar problems getting the examples and info programs going with 
> various 'undefined symbol' errors.
> It appears the linker isn't pulling in dependant libraries properly. You 
> can force it by using LD_PRELOAD, such as:
>     LD_PRELOAD="/usr/lib/libEGLdri.so /usr/lib/libGL.so" 
> ./Mesa/progs/egl/eglgears
> 
> That will get eglgears, eglinfo, and demo3 working from the 
> Mesa/progs/egl directory. demo1 and demo2 still are trying to use the 
> old fb_dri. Should probably fix them and submit a patch.
> To get glitzinfo and glitz's rendertest going you will have to edit some 
> code as they haven't been updated to the new EGL api.
> Basically change 'eglShowSurfaceMESA' to eglShowScreenSurfaceMESA'. I 
> should probably submit a patch for that as well.
> 
> By the way, I had to run them as root. Jon Smirl's patch to enable 
> non-priviledged users in DRM from a while back won't work anymore due to 
> a change in the format of the DRM code, but it should be straightforward 
> to update it manually.
> 
> Hope that helps.
> 
> Cheers
> Dane
> 
> 
> Daniel Sperka wrote:
> 
>> I'm experiencing the same problem with kernel 2.6.15.1, latest CVS drm 
>> and Mesa.
>>
>> Where is egl making its determination of the driver to use? Why 
>> doesn't it choose radeon_dri.so instead of r200_dri.so?
>>
>> Where does egl get its configuration from?
>>
>>
>> Thanks.
>>
>> Dan
>>
>> Otto Solares wrote:
>>
>>> Hi!
>>>
>>> I compile linux-dri with EGL enabled, it compiles fine but
>>> when running the demos at progs/egl I get errors.
>>>
>>> These demos runs fine when using eglGetDisplay with
>>> EGL_DEFAULT_DISPLAY as it uses the demodriver, r200_dri
>>> have undefined symbols.
>>>
>>> Also compiling fb_dri when added to the DRI_DIRS is broken.
>>>
>>> I was using linux-solo like a year ago, I just recently realize
>>> about this extension which is _much_much_ better so keep the
>>> good work!
>>>
>>> EGL Info: eglChooseDriver() choosing r200_dri
>>> EGL Debug: dlopen(r200_dri.so)
>>> EGL Warning: Could not open r200_dri.so
>>> (/home/solca/devel/Mesa/lib/r200_dri.so: undefined symbol: 
>>> _glapi_Dispatch)
>>> eglinfo: eglInitialize failed
>>>
>>> -otto



More information about the dri-egl mailing list