Bug 54234 - link break after git pull august 29
Summary: link break after git pull august 29
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: highest blocker
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-29 23:58 UTC by Rafael Castillo
Modified: 2014-09-26 04:26 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Rafael Castillo 2012-08-29 23:58:50 UTC
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
Comment 1 Alexandre Demers 2012-08-30 04:18:15 UTC
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
Comment 2 Alexandre Demers 2012-08-30 04:23:34 UTC
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
Comment 3 Tomasz Lis 2012-08-30 12:15:44 UTC
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.
Comment 4 Brian Paul 2012-08-30 14:19:22 UTC
(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.
Comment 5 Rafael Castillo 2012-08-30 14:28:45 UTC
(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
Comment 6 Brian Paul 2012-08-31 02:22:06 UTC
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.