mesa: 66fd5057d3ee1b3a7bce484eb0856b318a8ae4a4 (master) $ scons platform=windows toolchain=crossmingw machine=x86_64 scons: Reading SConscript files ... Mkdir("build/windows-x86_64-debug") Checking for X11 (x11 xext xdamage xfixes)... no Checking for XCB (x11-xcb xcb-glx >= 1.8.1)... no Checking for XF86VIDMODE (xxf86vm)... no Checking for DRM (libdrm >= 2.4.24)... no Checking for DRM_INTEL (libdrm_intel >= 2.4.30)... no Checking for XORG (xorg-server >= 1.6.0)... no Checking for KMS (libkms >= 2.4.24)... no Checking for UDEV (libudev > 150)... no Mkdir("build/linux-x86_64-debug") Checking for X11 (x11 xext xdamage xfixes)... yes Checking for XCB (x11-xcb xcb-glx >= 1.8.1)... yes Checking for XF86VIDMODE (xxf86vm)... yes Checking for DRM (libdrm >= 2.4.24)... yes Checking for DRM_INTEL (libdrm_intel >= 2.4.30)... yes Checking for XORG (xorg-server >= 1.6.0)... yes Checking for KMS (libkms >= 2.4.24)... no Checking for UDEV (libudev > 150)... yes warning: LLVM disabled: not building llvmpipe NameError: name 'libloader' is not defined: File "mesa/SConstruct", line 151: duplicate = 0 # http://www.scons.org/doc/0.97/HTML/scons-user/x2261.html File "/usr/lib/scons/SCons/Script/SConscript.py", line 609: return method(*args, **kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 546: return _SConscript(self.fs, *files, **subst_kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "mesa/src/SConscript", line 40: SConscript('gallium/SConscript') File "/usr/lib/scons/SCons/Script/SConscript.py", line 609: return method(*args, **kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 546: return _SConscript(self.fs, *files, **subst_kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "mesa/src/gallium/SConscript", line 104: 'targets/egl-static/SConscript' File "/usr/lib/scons/SCons/Script/SConscript.py", line 609: return method(*args, **kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 546: return _SConscript(self.fs, *files, **subst_kw) File "/usr/lib/scons/SCons/Script/SConscript.py", line 260: exec _file_ in call_stack[-1].globals File "mesa/src/gallium/targets/egl-static/SConscript", line 34: libloader, a9800242244098fddcd2b963d8f5ccda5dea8290 is the first bad commit commit a9800242244098fddcd2b963d8f5ccda5dea8290 Author: Emil Velikov <emil.l.velikov@gmail.com> Date: Sat Jan 11 03:12:40 2014 +0000 egl-static: use loader util lib v2 * Drop the no longer used _EGL_NO_DRM from Android.mk. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> :040000 040000 dd180e65eca7266da9b8ea17515d1973bb7bb0fc ed1eafc5c7026acc4ebcfb44b0a3b8db71464b51 M src bisect run success
Created attachment 92372 [details] [review] handle builds whenever libdrm is not installed As mentioned in bug 73777 I've folded all three possible fixes in a single patch, to minimise disruption, but if you prefer I can split them apart. Patch identical to the one in bug 73777 attached.
The latest git version of mesa fails to build: ----- make[3]: Entering directory `/home/jos/src/xorg/git/mesa/src/gallium/auxiliary/pipe-loader' CC pipe_loader_drm.lo pipe_loader_drm.c: In function 'pipe_loader_drm_probe_fd': pipe_loader_drm.c:120:4: error: implicit declaration of function 'loader_get_pci_id_for_fd' [-Werror=implicit-function-declaration] if (loader_get_pci_id_for_fd(fd, &vendor_id, &chip_id)) { ^ pipe_loader_drm.c:132:4: error: implicit declaration of function 'loader_get_driver_for_fd' [-Werror=implicit-function-declaration] ddev->base.driver_name = loader_get_driver_for_fd(fd, _LOADER_GALLIUM); ^ pipe_loader_drm.c:132:58: error: '_LOADER_GALLIUM' undeclared (first use in this function) ddev->base.driver_name = loader_get_driver_for_fd(fd, _LOADER_GALLIUM); ^ pipe_loader_drm.c:132:58: note: each undeclared identifier is reported only once for each function it appears in cc1: some warnings being treated as errors make[3]: *** [pipe_loader_drm.lo] Error 1 make[3]: Leaving directory `/home/jos/src/xorg/git/mesa/src/gallium/auxiliary/pipe-loader' make[2]: *** [all-recursive] Error 1 -----
> make[3]: Entering directory > `/home/jos/src/xorg/git/mesa/src/gallium/auxiliary/pipe-loader' > CC pipe_loader_drm.lo > pipe_loader_drm.c: In function 'pipe_loader_drm_probe_fd': > pipe_loader_drm.c:120:4: error: implicit declaration of function > 'loader_get_pci_id_for_fd' [-Werror=implicit-function-declaration] > if (loader_get_pci_id_for_fd(fd, &vendor_id, &chip_id)) { > ^ Same error here on current git.
Interesting... where you guys when I've asked people to test the patches :) Jos van Wolput, Fabio Pedretti Rather than throwing random fragments of the build log, I would appreciate if you guys give us at least the configure options that you're using. Did you guys checked the attached patch ? Might be worth attaching the build log before/after applying it.
./configure --host=i586-suse-linux-gnu --build=i586-suse-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --prefix=/usr --with-gallium-drivers=r600,r300,swrast,nouveau,radeonsi,svga,ilo --with-dri-drivers=i965,i915,r200,radeon --disable-debug --enable-gallium-egl --enable-shared-glapi --enable-glx-tls --enable-texture-float --enable-gles1 --enable-gles2 --with-egl-platforms=x11,drm --enable-opencl --with-llvm-shared-libs --with-egl-platforms=x11,wayland,drm --enable-openvg --enable-xa --enable-vdpau --enable-xvmc --enable-gbm --enable-gallium-gbm --enable-gles1 --enable-gles2 [ 413s] gmake[3]: Entering directory `/home/abuild/rpmbuild/BUILD/mesa/src/egl/main' [ 413s] CC eglapi.lo [ 413s] CC eglarray.lo [ 413s] CC eglconfig.lo [ 413s] CC eglcontext.lo [ 414s] CC eglcurrent.lo [ 414s] CC egldisplay.lo [ 414s] CC egldriver.lo [ 414s] CC eglfallbacks.lo [ 414s] CC eglglobals.lo [ 414s] CC eglimage.lo [ 414s] CC egllog.lo [ 414s] CC eglmisc.lo [ 415s] CC eglmode.lo [ 415s] CC eglscreen.lo [ 415s] CC eglstring.lo [ 415s] CC eglsurface.lo [ 415s] CC eglsync.lo [ 415s] CCLD libEGL.la [ 416s] /usr/bin/mkdir -p ../../../lib; [ 416s] ln -f .libs/libEGL.so.1.0.0 ../../../lib/libEGL.so.1 [ 416s] ln -sf libEGL.so.1 ../../../lib/libEGL.so [ 416s] gmake[3]: Leaving directory `/home/abuild/rpmbuild/BUILD/mesa/src/egl/main' [ 416s] gmake[3]: Entering directory `/home/abuild/rpmbuild/BUILD/mesa/src/egl' [ 416s] gmake[3]: Nothing to be done for `all-am'. [ 416s] gmake[3]: Leaving directory `/home/abuild/rpmbuild/BUILD/mesa/src/egl' [ 416s] gmake[2]: Leaving directory `/home/abuild/rpmbuild/BUILD/mesa/src/egl' [ 416s] Making all in gallium/auxiliary [ 416s] gmake[2]: Entering directory `/home/abuild/rpmbuild/BUILD/mesa/src/gallium/auxiliary' [ 416s] Making all in pipe-loader [ 416s] gmake[3]: Entering directory `/home/abuild/rpmbuild/BUILD/mesa/src/gallium/auxiliary/pipe-loader' [ 416s] CC pipe_loader.lo [ 416s] CC pipe_loader_sw.lo [ 416s] CC pipe_loader_drm.lo [ 416s] pipe_loader_drm.c: In function 'pipe_loader_drm_probe_fd': [ 416s] pipe_loader_drm.c:120:4: error: implicit declaration of function 'loader_get_pci_id_for_fd' [-Werror=implicit-function-declaration] [ 416s] if (loader_get_pci_id_for_fd(fd, &vendor_id, &chip_id)) { [ 416s] ^ [ 416s] pipe_loader_drm.c:132:4: error: implicit declaration of function 'loader_get_driver_for_fd' [-Werror=implicit-function-declaration] [ 416s] ddev->base.driver_name = loader_get_driver_for_fd(fd, _LOADER_GALLIUM); [ 416s] ^ [ 416s] pipe_loader_drm.c:132:58: error: '_LOADER_GALLIUM' undeclared (first use in this function) [ 416s] ddev->base.driver_name = loader_get_driver_for_fd(fd, _LOADER_GALLIUM); [ 416s] ^ [ 416s] pipe_loader_drm.c:132:58: note: each undeclared identifier is reported only once for each function it appears in [ 416s] cc1: some warnings being treated as errors [ 416s] gmake[3]: *** [pipe_loader_drm.lo] Error 1 [ 416s] gmake[3]: *** Waiting for unfinished jobs.... [ 416s] gmake[3]: Leaving directory `/home/abuild/rpmbuild/BUILD/mesa/src/gallium/auxiliary/pipe-loader' [ 416s] gmake[2]: *** [all-recursive] Error 1 [ 416s] gmake[2]: Leaving directory `/home/abuild/rpmbuild/BUILD/mesa/src/gallium/auxiliary' [ 416s] gmake[1]: *** [all-recursive] Error 1 [ 416s] gmake[1]: Leaving directory `/home/abuild/rpmbuild/BUILD/mesa/src' [ 416s] make: *** [all-recursive] Error 1 [ 416s] error: Bad exit status from /var/tmp/rpm-tmp.H3SoeV (%build)
I've sent a patch for this not 5 minutes ago.
Just pushed a couple of fixes that should address all the reported issues. Namely - bug 73776, bug 73777 and the pipe-loader issue reported via irc and here. Vinson, please update the bugs when you have the chance to check the fix.
commit 26d380da69d3fc3a4ced291028c105c0ac0f1a92 Author: Emil Velikov <emil.l.velikov@gmail.com> Date: Sun Jan 19 03:09:03 2014 +0000 loader: ifdef libdrm specific code and include Mesa provides the flexibility of building without the need to have libdrm present on the system. The situation has regressed with the recent commit commit 8c2e7fd8460750543367053b1be9368cc38e1d6a Author: Emil Velikov <emil.l.velikov@gmail.com> Date: Fri Jan 10 23:36:16 2014 +0000 loader: introduce the loader util lib By isolating libdrm code by #ifndef __NOT_HAVE_DRM_H we can have libdrm-less builds on across all build systems. This patch converts Android's _EGL_NO_DRM to __NOT_HAVE_DRM_H to provide consistency with the other cases within mesa, allows compilation of libloader on libdrm-less scons and conditionally links against libdrm if present under automake. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73776 BUgzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73777 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
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.