Bug 107834

Summary: meson: build doesn't always add -ldl
Product: Mesa Reporter: Gert Wollny <gw.fossdev>
Component: OtherAssignee: mesa-dev
Status: RESOLVED INVALID QA Contact: mesa-dev
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Gert Wollny 2018-09-05 09:56:39 UTC
When configuring with 

CFLAGS="-O2 -g -fsanitize=thread"  CXXFLAGS="$CFLAGS" meson ..//mesa -Dvulkan-drivers= -Ddri-drivers= -Dgallium-drivers=r600,swrast,virgl -Dplatforms=x11,drm 

compilation fails at one point with 

Linking target src/gbm/libgbm.so.1.0.0.
FAILED: src/gbm/libgbm.so.1.0.0 
gcc  -o src/gbm/libgbm.so.1.0.0 'src/gbm/src@gbm@@gbm@sha/main_backend.c.o' 'src/gbm/src@gbm@@gbm@sha/main_gbm.c.o' 'src/gbm/src@gbm@@gbm@sha/backends_dri_gbm_dri.c.o' -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libgbm.so.1 -O2 -g -fsanitize=thread src/loader/libloader.a src/util/libmesa_util.a src/util/libxmlconfig.a -pthread -Wl,--gc-sections -ldrm -ldrm -lz -lexpat -lm -Wl,--end-group  
src/gbm/src@gbm@@gbm@sha/backends_dri_gbm_dri.c.o: In Funktion »dri_open_driver«:
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/gbm/backends/dri/gbm_dri.c:372: Warnung: undefinierter Verweis auf »dlsym«
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/gbm/backends/dri/gbm_dri.c:380: Warnung: undefinierter Verweis auf »dlsym«
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/gbm/backends/dri/gbm_dri.c:382: Warnung: undefinierter Verweis auf »dlerror«
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/gbm/backends/dri/gbm_dri.c:364: Warnung: undefinierter Verweis auf »dlerror«
collect2: Fehler: ld gab 1 als Ende-Status zurück
[628/1099] Linking target src/glx/libGL.so.1.2.0.
FAILED: src/glx/libGL.so.1.2.0 
gcc  -o src/glx/libGL.so.1.2.0  -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libGL.so.1 -Wl,--whole-archive src/glx/libglx.a -Wl,--no-whole-archive -O2 -g -fsanitize=thread src/mapi/glapi/libglapi_static.a src/mapi/shared-glapi/libglapi.so.0.0.0 src/loader/libloader.a src/loader/libloader_dri3_helper.a src/util/libmesa_util.a src/util/libxmlconfig.a -pthread -Wl,-Bsymbolic -Wl,--gc-sections -ldrm -lm -Wl,--end-group -lX11 -lxcb-glx -lxcb -lX11-xcb -lX11 -lxcb -lxcb-dri2 -lXext -lXfixes -lXdamage -lXfixes -ldrm -lX11 -ldrm -ldrm -lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence -lz -lexpat -lm '-Wl,-rpath,$ORIGIN/../mapi/shared-glapi' -Wl,-rpath-link,/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/src/mapi/shared-glapi  
src/glx/libglx.a(dri_common.c.o): In Funktion »driOpenDriver«:
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/glx/dri_common.c:147: Warnung: undefinierter Verweis auf »dlerror«
src/glx/libglx.a(dri_common.c.o): In Funktion »driGetDriverExtensions«:
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/glx/dri_common.c:167: Warnung: undefinierter Verweis auf »dlsym«
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/glx/dri_common.c:172: Warnung: undefinierter Verweis auf »dlerror«
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/glx/dri_common.c:178: Warnung: undefinierter Verweis auf »dlsym«
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/glx/dri_common.c:180: Warnung: undefinierter Verweis auf »dlerror«
src/glx/libglx.a(dri_glx.c.o): In Funktion »driCreateScreen«:
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/glx/dri_glx.c:925: Warnung: undefinierter Verweis auf »dlsym«
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/glx/dri_glx.c:927: Warnung: undefinierter Verweis auf »dlerror«
src/glx/libglx.a(dri_glx.c.o): In Funktion »get_driver_config«:
/home/gerddie/src/Collabora/Qemu2/build/mesa-sanitize/../../samba/mesa/src/glx/dri_glx.c:230: Warnung: undefinierter Verweis auf »dlsym«
Comment 1 Gert Wollny 2018-09-05 10:05:00 UTC
Apparently one must enable sanitizers via meson and not via CFLAGS. With that the build passes, so I close this again.

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.