linker output mklib: Making Linux shared library: egl_gallium.so ../../../../src/mesa/libmesagallium.a(enable.o): In function `_mesa_set_enable': enable.c:(.text+0xef1): undefined reference to `_mesa_meta_in_progress' collect2: error: ld returned 1 exit status mklib: Installing egl_gallium.so in ../../../../lib64/egl mv: cannot stat 'egl_gallium.so': No such file or directory /usr/bin/install -c -d /usr/lib64/egl for out in ../../../../lib64/egl/egl_gallium.so; do \ /bin/sh ../../../../bin/minstall -m 755 "$out" /usr/lib64/egl; \ gcc version 4.7.1 (Gentoo 4.7.1 p1.0, pie-0.5.3) configure ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --disable-dependency-tracking --enable-dri --enable-glx --enable-texture-float --disable-debug --enable-egl --enable-gbm --enable-gles1 --enable-gles2 --enable-glx-tls --disable-osmesa --enable-shared-glapi --enable-xa --enable-xorg --with-dri-drivers=,swrast,i915,i965,nouveau,radeon,r200 --with-gallium-drivers=,swrast,nouveau,i915,r300,r600 --with-egl-platforms=x11,wayland,drm --enable-gallium-egl --disable-d3d1x --enable-gallium-g3dvl --enable-gallium-llvm --enable-openvg --enable-r600-llvm-compiler --enable-vdpau --enable-xvmc
Same thing here since 28th. Fetching and merging latest commits don't help: mklib: Making Linux shared library: egl_gallium.so ../../../../src/gallium/auxiliary/libgallium.a(u_dl.o): In function `util_dl_open': /home/dema1701/projects/display/mesa/src/gallium/auxiliary/util/u_dl.c:48: undefined reference to `dlopen' ../../../../src/gallium/auxiliary/libgallium.a(u_dl.o): In function `util_dl_get_proc_address': /home/dema1701/projects/display/mesa/src/gallium/auxiliary/util/u_dl.c:62: undefined reference to `dlsym' ../../../../src/gallium/auxiliary/libgallium.a(u_dl.o): In function `util_dl_close': /home/dema1701/projects/display/mesa/src/gallium/auxiliary/util/u_dl.c:75: undefined reference to `dlclose' ../../../../src/gallium/auxiliary/libgallium.a(u_dl.o): In function `util_dl_error': /home/dema1701/projects/display/mesa/src/gallium/auxiliary/util/u_dl.c:88: undefined reference to `dlerror' ../../../../src/mesa/libmesagallium.a(texcompress_s3tc.o): In function `_mesa_dlopen': /home/dema1701/projects/display/mesa/src/mesa/../../src/mesa/main/dlopen.h:53: undefined reference to `dlopen' ../../../../src/mesa/libmesagallium.a(texcompress_s3tc.o): In function `_mesa_dlsym': /home/dema1701/projects/display/mesa/src/mesa/../../src/mesa/main/dlopen.h:83: undefined reference to `dlsym' ../../../../src/mesa/libmesagallium.a(texcompress_s3tc.o): In function `_mesa_dlclose': /home/dema1701/projects/display/mesa/src/mesa/../../src/mesa/main/dlopen.h:101: undefined reference to `dlclose' ../../../../src/mesa/libmesagallium.a(enable.o): In function `_mesa_set_enable': /home/dema1701/projects/display/mesa/src/mesa/../../src/mesa/main/enable.c:771: undefined reference to `_mesa_meta_in_progress' collect2: error: ld returned 1 exit status mklib: Installing egl_gallium.so in ../../../../x86_64-linux-gnu/egl mv: cannot stat ‘egl_gallium.so’: No such file or directory /usr/bin/install -c -d /usr/lib/x86_64-linux-gnu/egl for out in ../../../../x86_64-linux-gnu/egl/egl_gallium.so; do \ /bin/sh ../../../../bin/minstall -m 755 "$out" /usr/lib/x86_64-linux-gnu/egl; \ done Unknown type of argument: ../../../../x86_64-linux-gnu/egl/egl_gallium.so make[3]: *** [install] Error 1 make[3]: Leaving directory `/home/dema1701/projects/display/mesa/src/gallium/targets/egl-static' make[2]: *** [install] Error 1 make[2]: Leaving directory `/home/dema1701/projects/display/mesa/src/gallium/targets' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/home/dema1701/projects/display/mesa/src' make: *** [install-recursive] Error 1
I should add: make[3]: Entering directory `/home/dema1701/projects/display/mesa/src/gallium/targets/egl-static' /bin/sh ../../../../bin/mklib -o egl_gallium.so -noprefix -linker 'g++' \ -ldflags '-L../../../../x86_64-linux-gnu -Wl,--no-undefined ' \ -cplusplus -install ../../../../x86_64-linux-gnu/egl \ egl.o egl_pipe.o egl_st.o -Wl,--start-group ../../../../src/gallium/auxiliary/libgallium.a ../../../../src/gallium/drivers/identity/libidentity.a ../../../../src/gallium/drivers/r600/libr600.a ../../../../src/gallium/drivers/rbug/librbug.a ../../../../src/gallium/drivers/softpipe/libsoftpipe.a ../../../../src/gallium/drivers/svga/libsvga.a ../../../../src/gallium/drivers/trace/libtrace.a ../../../../src/gallium/state_trackers/egl/libegl.a ../../../../src/gallium/state_trackers/vega/libvega.a ../../../../src/gallium/winsys/radeon/drm/libradeonwinsys.a ../../../../src/gallium/winsys/svga/drm/libsvgadrm.a ../../../../src/gallium/winsys/sw/xlib/libws_xlib.a ../../../../src/mesa/libmesagallium.a -Wl,--end-group \ -L/usr/lib/x86_64-linux-gnu/ -lEGL -lOpenVG -lX11 -lXext -lXfixes -ldrm -ldrm_radeon -lgbm -lglapi -lm -lpthread -lrt -ludev
The reason of the problem lies in egl-static/Makefile. The library should be linked with libmesa, but it isn't. Linking it statically: egl_LIBS += $(TOP)/src/mesa/.libs/libmesa.a could be a work around, but then linking stops on non-matching symbols. Yeah, adding multisampling made more dependencies in there.
(In reply to comment #3) > The reason of the problem lies in egl-static/Makefile. > > The library should be linked with libmesa, but it isn't. > > Linking it statically: > egl_LIBS += $(TOP)/src/mesa/.libs/libmesa.a > could be a work around, but then linking stops on non-matching symbols. > > Yeah, adding multisampling made more dependencies in there. I don't think that will work since libmesa.a and libmesagallium contain many of the same files/functions and you'll probably get errors about duplicated symbols. We're discussing a proper fix for this problem. Just hold on.
(In reply to comment #4) > (In reply to comment #3) > > The reason of the problem lies in egl-static/Makefile. > > > > The library should be linked with libmesa, but it isn't. > > > > Linking it statically: > > egl_LIBS += $(TOP)/src/mesa/.libs/libmesa.a > > could be a work around, but then linking stops on non-matching symbols. > > > > Yeah, adding multisampling made more dependencies in there. > > I don't think that will work since libmesa.a and libmesagallium contain many of > the same files/functions and you'll probably get errors about duplicated > symbols. > > We're discussing a proper fix for this problem. Just hold on. no pressure and thank you for the reply and the hard work
Should be fixed by commit 055093e33fc90705c429e948caefedf0e0fb82af. Re-open if not.
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.