Bug 10892 - Mesa build failure: drm_i915_flip conflict between intel_buffers.c and DRM
Summary: Mesa build failure: drm_i915_flip conflict between intel_buffers.c and DRM
Status: RESOLVED NOTABUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i915 (show other bugs)
Version: git
Hardware: x86 (IA32) All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-08 23:13 UTC by Calin Brabandt
Modified: 2009-08-24 12:26 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Calin Brabandt 2007-05-08 23:13:12 UTC
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
Comment 1 Michel Dänzer 2007-05-09 10:12:14 UTC
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.
Comment 2 Calin Brabandt 2007-05-09 12:07:51 UTC
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






Comment 3 Adam Jackson 2009-08-24 12:26:45 UTC
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.