When building latest Intel graphics drivers, DRM, and Mesa, as described at http://intellinuxgraphics.org/install.html, a conflict occurs when linux-dri file is set build target i915tex, ie., DRI_DIRS = i915tex (plus any others) make linux-dri ..... ..... ..... # gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../include/GL/internal -I../../../../../src/mesa -I../../../../../src/mesa/main -I../../../../../src/mesa/glapi -I../../../../../src/mesa/math -I../../../../../src/mesa/transform -I../../../../../src/mesa/shader -I../../../../../src/mesa/swrast -I../../../../../src/mesa/swrast_setup -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri `pkg-config --cflags libdrm` -Wall -Wmissing-prototypes -std=c99 -ffast-math -O -g -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_POSIX_MEMALIGN -I../intel intel_buffers.c -o intel_buffers.o # intel_buffers.c:52: error: redefinition of ‘struct drm_i915_flip’ # intel_buffers.c:54: error: redefinition of typedef ‘drm_i915_flip_t’ # /usr/include/drm/i915_drm.h:185: error: previous declaration of ‘drm_i915_flip_t’ was here # make[6]: *** [intel_buffers.o] Error 1 # make[6]: Leaving directory `/home/mythtv/src/mesa/src/mesa/drivers/dri/i915tex' # make[5]: *** [subdirs] Error 1 libGL: XF86DRIGetClientDriverName: 1.8.0 i915 (screen 0) server glx vendor string: SGI server glx version string: 1.2 client glx vendor string: SGI client glx version string: 1.4 GLX version: 1.2 OpenGL version string: 1.3 Mesa 7.0
The i915tex Makefile checks the libdrm version, so this can only happen when there's a mismatch between the system i915_drm.h and libdrm.pc.
Thanks, Michel. Your reply resolved my problem. I'd just like to confirm the behavior of the DRM and Mesa makefiles now. For DRM, $ ./autogen.sh --prefix=/usr --exec-prefix=/ results in libdrm.pc being placed in /lib/pkgconfig/ and NOT usr/lib/pkgconfig/ DRM seems to be using the --exec-prefix rather than the --prefix setting. Is this the intended behavior? By default, Mesa expects libdrm.pc to be installed to: /usr/lib/pkgconfig/ which would be okay, if DRM used the --prefix setting for the path to libdrm.pc instead of the --exec-prefix. I had to set the Mesa path to / rather than /usr: export PKG_CONFIG_PATH=/lib/pkgconfig:$PKG_CONFIG_PATH make linux-dri Regardless of whether or not the makefiles are behaving correctly or I just misunderstood the guide, I'm a noob so maybe some other noobs will benefit from my report. I attempted to follow the guide, below, but the /lib/pkgconfig/ path was unexpected, based on what I read there. http://intellinuxgraphics.org/install.html -Cal
Mass version move, cvs -> git
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.