Created attachment 76398 [details] build log llvm is from git mirror as of git-svn-id https://llvm.org/svn/llvm-project/llvm/trunk@176858 and mesa is as of 6173cc19 The build config is: ./autogen.sh \ --prefix=/usr \ --sysconfdir=/etc \ --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast \ --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \ --enable-gallium-llvm \ --enable-egl \ --enable-gallium-egl \ --with-egl-platforms=drm,x11,wayland \ --enable-shared-glapi \ --enable-gbm \ --enable-glx-tls \ --enable-dri \ --enable-glx \ --enable-osmesa \ --enable-gles1 \ --enable-gles2 \ --enable-texture-float \ --enable-xa \ --enable-xvmc \ --enable-vdpau \ --with-llvm-shared-libs \ --enable-r600-llvm-compiler and the failure is: ../../../../src/gallium/drivers/r600/.libs/libr600.a(r600_llvm.o): In function `r600_tgsi_llvm': r600_llvm.c:(.text+0x15ff): undefined reference to `radeon_llvm_create_func' ../../../../src/gallium/drivers/radeonsi/.libs/libradeonsi.a(radeonsi_shader.o): In function `si_pipe_shader_create': radeonsi_shader.c:(.text+0x1dc6): undefined reference to `radeon_llvm_create_func' radeonsi_shader.c:(.text+0x1ddd): undefined reference to `radeon_llvm_shader_type' radeonsi_shader.c:(.text+0x200d): undefined reference to `radeon_llvm_create_func' collect2: error: ld returned 1 exit status libtool: install: error: relink `egl_gallium.la' with the above command before installing it make[4]: *** [install-eglLTLIBRARIES] Error 1 make[4]: Leaving directory `/home/serkan/tmp/mesa-git/src/mesa/src/gallium/targets/egl-static' make[3]: *** [install-am] Error 2 make[3]: Leaving directory `/home/serkan/tmp/mesa-git/src/mesa/src/gallium/targets/egl-static' make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory `/home/serkan/tmp/mesa-git/src/mesa/src/gallium/targets' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/home/serkan/tmp/mesa-git/src/mesa/src' make: *** [install-recursive] Error 1 attached is the full build log. The error happens in make install
llvm build config: ./configure \ --prefix=/usr \ --libdir=/usr/lib/llvm \ --sysconfdir=/etc \ --enable-shared \ --enable-libffi \ --enable-targets=all \ --enable-optimized \ --enable-experimental-targets=R600 \ --disable-expensive-checks \ --with-binutils-include=/usr/include \ --enable-optimized
No problems here building mesa b101a09 against llvm svn version 177821 .
oops, i gave wrong commit number , it's git-712bac1 according to glxinfo.
This is still an issue for me. I use an out-of-tree build for mesa (and build the shared llvm libraries with cmake), though.
The problem seems to be that the build system picks the already installed libllvmradeon9.2.0.so (from /usr/lib64) instead of the one that has just been built. A workaround is to uninstall mesa before compiling and installing the new version.
Created attachment 77291 [details] [review] Build libradeonllvm as static library Does this patch help?
(In reply to comment #6) > Created attachment 77291 [details] [review] [review] > Build libradeonllvm as static library > > Does this patch help? Yes, the patch fixes the build
I am against this sort of patches. Because autotools are stupid the second line should be the right attempt: libradeonsi_la_LDFLAGS = -Wl,--no-undefined -shared -avoid-version \ -L../radeon \ $(LLVM_LDFLAGS)
(In reply to comment #8) > I am against this sort of patches. > Can you explain why?
(In reply to comment #9) > (In reply to comment #8) > > I am against this sort of patches. > > > > Can you explain why? Because you are working against aboll and me - we want to build as much '-shared' as possible (and also distributions [should] want to do so): http://lists.freedesktop.org/archives/mesa-dev/2013-March/036449.html http://lists.freedesktop.org/archives/mesa-dev/2013-March/036493.html Also this statement is wrong: "This library was originally changed to a shared object to work around linker error in egl_static.so, but these appear to be fixed now." It was changed to be built '-shared' because there were and possibly be troubles with crashing egl things if r600 AND radeonsi were built together (see on #dri-devel from mid december 2012 [MrCooper, jobermayr]) You should also see the conditional there. If it makes sense and is required (r600 AND radeonsi) it is shared. If it doesn't (r600 XOR radeonsi) it is static.
(In reply to comment #10) > (In reply to comment #9) > > (In reply to comment #8) > > > I am against this sort of patches. > > > > > > > Can you explain why? > > Because you are working against aboll and me - we want to build as much > '-shared' as possible (and also distributions [should] want to do so): > http://lists.freedesktop.org/archives/mesa-dev/2013-March/036449.html > http://lists.freedesktop.org/archives/mesa-dev/2013-March/036493.html > > Also this statement is wrong: > "This library was originally changed to a shared object to work around > linker error in egl_static.so, but these appear to be fixed now." > > It was changed to be built '-shared' because there were and possibly be > troubles with crashing egl things if r600 AND radeonsi were built together > (see on #dri-devel from mid december 2012 [MrCooper, jobermayr]) > > You should also see the conditional there. If it makes sense and is required > (r600 AND radeonsi) it is shared. If it doesn't (r600 XOR radeonsi) it is > static. I don't think I like the general idea here, for most distributions driver size doesn't matter so much, but on the other hand it is highly likely that we want to have different version of this and other libs for r600 and radeonsi. Christian.
(In reply to comment #10) > Also this statement is wrong: > "This library was originally changed to a shared object to work around > linker error in egl_static.so, but these appear to be fixed now." > > It was changed to be built '-shared' because there were and possibly be > troubles with crashing egl things if r600 AND radeonsi were built together > (see on #dri-devel from mid december 2012 [MrCooper, jobermayr]) > > You should also see the conditional there. If it makes sense and is required > (r600 AND radeonsi) it is shared. If it doesn't (r600 XOR radeonsi) it is > static. "Please test to make sure this works for your build configuration. Tested-by: Michel Dänzer <michel.daenzer at amd.com>" @MrCooper: Can you confirm the runtime assertion issue has been fixed (radeon AND radeonsi)? http://people.freedesktop.org/~cbrill/dri-log/?channel=dri-devel&highlight_names=&date=2012-12-07
(In reply to comment #12) > @MrCooper: Can you confirm the runtime assertion issue has been fixed > (radeon AND radeonsi)? > http://people.freedesktop.org/~cbrill/dri-log/?channel=dri- > devel&highlight_names=&date=2012-12-07 Ah no, I failed to test this properly. :( Thanks for the reminder Johannes. [ I read bug reports on the lists ]
Fixed some time ago
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.