Bug 22696

Summary: Compiling Problem
Product: Mesa Reporter: Steven Ward <STEVENWARD666>
Component: Drivers/DRI/r200Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact:
Severity: trivial    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Steven Ward 2009-07-10 00:37:14 UTC
Hi to all,
         I'm currently using Fedora Rawhide.I compile the D.R.M,Mesa,xf86-video-nouveau and now the Linux-2.6 unamed repository to build the drm and nouveau kernel modules from git.

When compiling the Mesa code,I use ./configure --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --datadir=/usr/share --sysconfdir=/etc --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --mandir=/usr/share/man --docdir=/usr/share/doc --enable-selinux --x-libraries=/usr/lib --enable-32-bit --enable-xcb --enable-gallium-nouveau --with-x --with-dri-driverdir=/usr/lib/dri --with-xorg-driver-dir=/usr/lib/xorg/modules/drivers --with-state-trackers=dri,egl,xorg,glx --enable-motif --enable-gl-osmesa --with-osmesa-bits=32 --disable-gallium-intel --disable-gallium-radeon --with-expat=/usr/lib --with-demos=xdemos,demos,trivial,tests  and then gmake. The mesa code ends with this error:

r200_pixel.c:106: warning: ‘clip_pixelrect’ defined but not used                                                                                                                                                                                       
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_tex.c -o r200_tex.o                                                                                     
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_texstate.c -o r200_texstate.o                                                                           
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_tcl.c -o r200_tcl.o                                                                                     
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_swtcl.c -o r200_swtcl.o                                                                                 
In file included from r200_swtcl.c:475:                                                                                                                                                                                                                
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h: In function ‘quadr_twoside’:                                                                                                                                                                             
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘color[3]’ may be used uninitialized in this function                                                                                                                                       
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘color[2]’ may be used uninitialized in this function                                                                                                                                       
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘color[1]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘spec[3]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘spec[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘spec[1]’ may be used uninitialized in this function
In file included from r200_swtcl.c:460:
../../../../../src/mesa/tnl_dd/t_dd_unfilled.h: In function ‘unfilled_quad’:
../../../../../src/mesa/tnl_dd/t_dd_unfilled.h:125: warning: ‘color[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_unfilled.h:125: warning: ‘color[1]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_unfilled.h:125: warning: ‘spec[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_unfilled.h:125: warning: ‘spec[1]’ may be used uninitialized in this function
In file included from r200_swtcl.c:483:
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h: In function ‘quadr_twoside_unfilled’:
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘color[3]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘color[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘color[1]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘spec[3]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘spec[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:401: warning: ‘spec[1]’ may be used uninitialized in this function
In file included from r200_swtcl.c:460:
../../../../../src/mesa/tnl_dd/t_dd_unfilled.h: In function ‘unfilled_tri’:
../../../../../src/mesa/tnl_dd/t_dd_unfilled.h:49: warning: ‘color[1]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_unfilled.h:49: warning: ‘spec[1]’ may be used uninitialized in this function
In file included from r200_swtcl.c:483:
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h: In function ‘triangle_twoside_unfilled’:
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:138: warning: ‘color[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:138: warning: ‘color[1]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:138: warning: ‘spec[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:138: warning: ‘spec[1]’ may be used uninitialized in this function
In file included from r200_swtcl.c:475:
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h: In function ‘triangle_twoside’:
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:138: warning: ‘color[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:138: warning: ‘color[1]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:138: warning: ‘spec[2]’ may be used uninitialized in this function
../../../../../src/mesa/tnl_dd/t_dd_tritmp.h:138: warning: ‘spec[1]’ may be used uninitialized in this function
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_maos.c -o r200_maos.o
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_sanity.c -o r200_sanity.o
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_fragshader.c -o r200_fragshader.o
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 r200_vertprog.c -o r200_vertprog.o
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 radeon_screen.c -o radeon_screen.o
radeon_screen.c: In function ‘radeonGetParam’:
radeon_screen.c:256: warning: cast from pointer to integer of different size
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 radeon_texture.c -o radeon_texture.o
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 radeon_common_context.c -o radeon_common_context.o
gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/drm   -I/usr/lib/include -g -O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -m32  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DMESA_SELINUX -DUSE_XCB -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_LIBDRM_RADEON=1 -I/usr/include/drm   -DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R200 radeon_common.c -o radeon_common.o
radeon_common.c: In function ‘radeon_revalidate_bos’:
radeon_common.c:972: error: too few arguments to function ‘radeon_cs_space_check’
radeon_common.c: In function ‘rcommonInitCmdBuf’:
radeon_common.c:1191: warning: implicit declaration of function ‘radeon_cs_space_set_flush’
gmake[5]: *** [radeon_common.o] Error 1
gmake[5]: Leaving directory `/opt/mesa/src/mesa/drivers/dri/r200'
gmake[4]: *** [subdirs] Error 1
gmake[4]: Leaving directory `/opt/mesa/src/mesa/drivers/dri'
gmake[3]: *** [default] Error 1
gmake[3]: Leaving directory `/opt/mesa/src/mesa/drivers'
gmake[2]: *** [driver_subdirs] Error 2
gmake[2]: Leaving directory `/opt/mesa/src/mesa'
gmake[1]: *** [subdirs] Error 1
gmake[1]: Leaving directory `/opt/mesa/src'
gmake: *** [default] Error 1

I also have a question.Since I've discovered that the git version of D.R.M to build the nouveau kernel module is now defunct,do I still need to build the drm code from git to keep the mesa code happy? or is there a way to get the mesa code to link-up with the code from the linux-2.6 unamed repository?

Regards,
       STEVE555
Comment 1 Michel Dänzer 2009-07-10 00:55:54 UTC
Looks like a mismatch between mesa and libdrm_radeon. You don't need to build any of the Radeon drivers anyway for nouveau.
Comment 2 Steven Ward 2009-07-10 01:19:34 UTC
Hi there,
        I certainly don't build the Radeon drivers for nouveau,I explicitly use --disable-gallium-radeon and --disable-gallium-intel in my ./configure options before I run gmake to make sure I don't build them,but gmake seems to build the code for them anyway.I suspect (it's only my guess,I don't know) that gmake links up with either linux,linux-dri,or linux-dri-x86 in the configs folder when I run gmake,but since using --enbale-gallium-nouveau in ./configure should bypass that and using the old the old method.

Regards,
       STEVE555
Comment 3 Steven Ward 2009-07-10 01:27:43 UTC
(In reply to comment #2)
> Hi there,
>         I certainly don't build the Radeon drivers for nouveau,I explicitly use
> --disable-gallium-radeon and --disable-gallium-intel in my ./configure options
> before I run gmake to make sure I don't build them,but gmake seems to build the
> code for them anyway.I suspect (it's only my guess,I don't know) that gmake
> links up with either linux,linux-dri,or linux-dri-x86 in the configs folder
> when I run gmake,but since using --enbale-gallium-nouveau in ./configure should
> bypass that and using the old the old method.
> 
> Regards,
>        STEVE555
> 

Sorry,
     The last sentence should read using --enable-gallium-nouveau in ./configure should bypass the old method of just using make linux-xxx
Comment 4 Michel Dänzer 2009-07-10 02:44:33 UTC
The traditional DRI driver build is configured independently from Gallium and enabled by default. Try adding something like --with-dri-drivers=swrast .
Comment 5 Steven Ward 2009-07-10 05:08:50 UTC
Hi,
  Thanks for the info,here's what I did.
I ran a make realclean and then used my configure options with --with-dri-drivers=swrast at the end.Gmake worked and did a gmake install.

However I'm a bit curious,when I used ./configure --help,the option came up with this:
--with-dri-drivers[=DIRS...]
                          comma delimited DRI drivers list, e.g.
                          "swrast,i965,radeon,nouveau" [default=auto]
When I used --with-dri-drivers=swrast,nouveau,./configure compilained it couldn't find nouveau.According to configure.ac,it uses that option to look for the folders and Makfile.template in /src/mesa/drivers/dri and sure enough the nouveau folder was missing from there.There two other nouveau folders in /src/gallium/drivers and /src/gallium/drivers/winsys/drm.Which nouveau folder would be best to copy over into /src/mesa/drivers/dri and edit the Makfile.template so I can use --with-dri-drivers=swrast,nouveau at the end of my ./configure options?

Regards,
       STEVE555
Comment 6 Michel Dänzer 2009-07-10 05:58:34 UTC
There's no non-Gallium nouveau driver anymore. I've removed the stale reference from configure.ac in mesa_7_5_branch, it'll be gone from master as well on the next merge.

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.