Bug 29130

Summary: Unable to link swrast_dri.so
Product: Mesa Reporter: Lionel Landwerlin <llandwerlin>
Component: OtherAssignee: mesa-dev
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Avoid mapping static GL functions in dri drivers

Description Lionel Landwerlin 2010-07-17 08:30:08 UTC
Created attachment 37149 [details] [review]
Avoid mapping static GL functions in dri drivers

Using the following configuration :

--disable-glu --disable-glw --disable-glut --disable-opengl --enable-gles2 --enable-egl --with-driver=dri --enable-xcb --enable-glx-tls --with-dri-drivers=swrast --with-state-trackers=es,egl --with-e\
gl-platforms=x11 --disable-gallium-svga --disable-gallium-i915 --disable-gallium-i965 --disable-gallium-radeon --disable-gallium-nouveau --enable-gallium-swrast --enable-gallium-llvm --enable-debug

the current git master is unable to link swrast_dri.so because of missing _mesa_map_static_functions symbol. The problem is in src/mesa/drivers/dri/common/utils.c which tries to map the static GL functions. If I undertand correctly, this is already done by the API frontend, so there is no need to do it at this place.

gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mapi -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/opt/pace-xorg/include/libdrm    -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing -g  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DDEBUG -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DFEATURE_GL=0 -DFEATURE_ES2=1 -D__NOT_HAVE_DRM_H ../../../../../src/mesa/drivers/dri/common/dri_test.c -o ../../../../../src/mesa/drivers/dri/common/dri_test.o
/bin/sh ../../../../../bin/mklib -o swrast_dri.so.tmp -noprefix -linker 'gcc' -ldflags '-L/opt/pace-xorg/lib64 ' \
		../../common/driverfuncs.o ../common/utils.o ../common/drisw_util.o swrast.o swrast_span.o   ../../../../../src/mesa/libmesa.a    -L/opt/pace-xorg/lib64 -ldrm   -lexpat -lm -lpthread -ldl
mklib: Making Linux shared library:  swrast_dri.so.tmp
gcc -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fvisibility=hidden -fno-strict-aliasing -g  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DDEBUG -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DFEATURE_GL=0 -DFEATURE_ES2=1 -o swrast_dri.so.test ../../../../../src/mesa/drivers/dri/common/dri_test.o swrast_dri.so.tmp   -L/opt/pace-xorg/lib64 -ldrm   -lexpat -lm -lpthread -ldl
swrast_dri.so.tmp: undefined reference to `_mesa_map_static_functions'
collect2: ld returned 1 exit status
make[6]: *** [swrast_dri.so] Erreur 1
make[6]: quittant le répertoire « /home/djdeath/tmp/pace-xorg/mesa/src/mesa/drivers/dri/swrast »
make[5]: *** [lib] Erreur 2
Comment 1 Andreas Boll 2013-02-01 13:02:26 UTC

*** This bug has been marked as a duplicate of bug 29033 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.