Bug 22953 (nightcast2000) - The g3dvl State-Tracker failes to compile
Summary: The g3dvl State-Tracker failes to compile
Status: RESOLVED FIXED
Alias: nightcast2000
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium minor
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-26 14:24 UTC by Steven Ward
Modified: 2009-11-18 07:08 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Steven Ward 2009-07-26 14:24:20 UTC
Hi to all,
         I have to report a couple of bugs in building Mesa from git.
Here are my ./configure options:
./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,vega,g3dvl --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 --with-dri-drivers=swrast,ffb 

When I run gmake,the build stops with this error:
gmake[4]: Leaving directory `/opt/mesa/src/gallium/state_trackers/egl'                                                                                                                                                                                 
gmake[4]: Entering directory `/opt/mesa/src/gallium/state_trackers/xorg'                                                                                                                                                                               
rm -f depend                                                                                                                                                                                                                                           
touch depend                                                                                                                                                                                                                                           
/usr/bin/makedepend -fdepend -I/usr/lib/gcc/i686-redhat-linux/4.4.1/include -I. -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers -I/src/gallium/include -I/src/gallium/auxiliary -I/src/gallium/drivers -DHAVE_CONFIG_H -I/usr/include/pixman-1 -I/usr/include/xorg -I/usr/include/drm   -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../include -I../../../../src/mesa -I../../../../src/mesa/drivers/dri/common -I../../../../src/mesa/main ./xorg_composite.c ./xorg_crtc.c ./xorg_dri2.c ./xorg_driver.c ./xorg_exa.c ./xorg_output.c   2> /dev/null                                                                                                                  
gmake[4]: Leaving directory `/opt/mesa/src/gallium/state_trackers/xorg'                                                                                                                                                                                
gmake[4]: Entering directory `/opt/mesa/src/gallium/state_trackers/xorg'                                                                                                                                                                               
gcc -c -I. -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers -I/src/gallium/include -I/src/gallium/auxiliary -I/src/gallium/drivers -DHAVE_CONFIG_H -I/usr/include/pixman-1 -I/usr/include/xorg -I/usr/include/drm   -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../include -I../../../../src/mesa -I../../../../src/mesa/drivers/dri/common -I../../../../src/mesa/main -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  xorg_composite.c -o xorg_composite.o                                                                                                                                                                                 
gcc -c -I. -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers -I/src/gallium/include -I/src/gallium/auxiliary -I/src/gallium/drivers -DHAVE_CONFIG_H -I/usr/include/pixman-1 -I/usr/include/xorg -I/usr/include/drm   -I../../../../src/gallium/include -I../../../../src/gallium/auxiliary -I../../../../include -I../../../../src/mesa -I../../../../src/mesa/drivers/dri/common -I../../../../src/mesa/main -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  xorg_crtc.c -o xorg_crtc.o                                                                                                                                                                                           
In file included from xorg_crtc.c:47:                                                                                                                                                                                                                  
/usr/include/X11/extensions/dpms.h:40: error: expected ‘)’ before ‘*’ token                                                                                                                                                                            
/usr/include/X11/extensions/dpms.h:41: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSGetVersion’                                                                                                                                 
/usr/include/X11/extensions/dpms.h:42: error: expected ‘)’ before ‘*’ token                                                                                                                                                                            
/usr/include/X11/extensions/dpms.h:43: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSSetTimeouts’                                                                                                                                
/usr/include/X11/extensions/dpms.h:44: error: expected ‘)’ before ‘*’ token                                                                                                                                                                            
/usr/include/X11/extensions/dpms.h:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSEnable’                                                                                                                                     
/usr/include/X11/extensions/dpms.h:46: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSDisable’                                                                                                                                    
/usr/include/X11/extensions/dpms.h:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSForceLevel’                                                                                                                                 
/usr/include/X11/extensions/dpms.h:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DPMSInfo’                                                                                                                                       
xorg_crtc.c:263: warning: no previous prototype for ‘cursor_destroy’                                                                                                                                                                                   
xorg_crtc.c: In function ‘cursor_destroy’:                                                                                                                                                                                                             
xorg_crtc.c:265: warning: unused variable ‘ms’                                                                                                                                                                                                         
gmake[4]: *** [xorg_crtc.o] Error 1                                                                                                                                                                                                                    
gmake[4]: Leaving directory `/opt/mesa/src/gallium/state_trackers/xorg'                                                                                                                                                                                
gmake[3]: *** [subdirs] Error 1                                                                                                                                                                                                                        
gmake[3]: Leaving directory `/opt/mesa/src/gallium/state_trackers'                                                                                                                                                                                     
gmake[2]: *** [default] Error 1                                                                                                                                                                                                                        
gmake[2]: Leaving directory `/opt/mesa/src/gallium'                                                                                                                                                                                                    
gmake[1]: *** [subdirs] Error 1                                                                                                                                                                                                                        
gmake[1]: Leaving directory `/opt/mesa/src'                                                                                                                                                                                                            
gmake: *** [default] Error 1

I then run gmake -B realclean and start again,but I ommit the xorg state-traker and let ./configure and then gmake to build again.The problem is it stops at this 3gdvl error:
mklib: Making Linux shared library:  libOpenVG.so.1.0.0
mklib: Installing libOpenVG.so.1.0.0 libOpenVG.so.1 libOpenVG.so in ../../../../lib
gmake[4]: Leaving directory `/opt/mesa/src/gallium/state_trackers/vega'
gmake[4]: Entering directory `/opt/mesa/src/gallium/state_trackers/g3dvl'
cc -g -Wall -Werror-implicit-function-declaration -fPIC -I../../include -I../../auxiliary -I../../winsys/g3dvl    -c -o vl_display.o vl_display.c
cc -g -Wall -Werror-implicit-function-declaration -fPIC -I../../include -I../../auxiliary -I../../winsys/g3dvl    -c -o vl_screen.o vl_screen.c
cc -g -Wall -Werror-implicit-function-declaration -fPIC -I../../include -I../../auxiliary -I../../winsys/g3dvl    -c -o vl_context.o vl_context.c
cc -g -Wall -Werror-implicit-function-declaration -fPIC -I../../include -I../../auxiliary -I../../winsys/g3dvl    -c -o vl_surface.o vl_surface.c
cc -g -Wall -Werror-implicit-function-declaration -fPIC -I../../include -I../../auxiliary -I../../winsys/g3dvl    -c -o vl_shader_build.o vl_shader_build.c
cc -g -Wall -Werror-implicit-function-declaration -fPIC -I../../include -I../../auxiliary -I../../winsys/g3dvl    -c -o vl_util.o vl_util.c
cc -g -Wall -Werror-implicit-function-declaration -fPIC -I../../include -I../../auxiliary -I../../winsys/g3dvl    -c -o vl_basic_csc.o vl_basic_csc.c
vl_basic_csc.c: In function ‘vlCreateVertexShader’:
vl_basic_csc.c:428: error: ‘TGSI_OPCODE_MADD’ undeclared (first use in this function)
vl_basic_csc.c:428: error: (Each undeclared identifier is reported only once
vl_basic_csc.c:428: error: for each function it appears in.)
gmake[4]: *** [vl_basic_csc.o] Error 1
gmake[4]: Leaving directory `/opt/mesa/src/gallium/state_trackers/g3dvl'
gmake[3]: *** [subdirs] Error 1
gmake[3]: Leaving directory `/opt/mesa/src/gallium/state_trackers'
gmake[2]: *** [default] Error 1
gmake[2]: Leaving directory `/opt/mesa/src/gallium'
gmake[1]: *** [subdirs] Error 1
gmake[1]: Leaving directory `/opt/mesa/src'
gmake: *** [default] Error 1

So when I leave out those two state-trackers,Mesa builds fine.

Regards,
       STEVE555
Comment 1 Jakob Bornecrantz 2009-07-27 03:33:29 UTC
It looks like you have a old/wrong version of the xorg headers to compile xorg state tracker. The Xorg state tracker is alpha software at best and if you don't plan on working on it shouldn't be compiled.

As for the g3dvl state tracker I think resent clean ups to the TGSI instruction set broke something there, and its a proper bug. If you really need the g3dvl state tracker look at commit: ede9f3b52ecb27ada81fee06a943bb595c60eaee and try to figure out which opcode you should replace the missing one with.

Cheers Jakob.
Comment 2 Younes Manton 2009-07-27 06:11:27 UTC
I'm still working on the pipe_video_context version of g3dvl so I never bothered to keep up with the changes in the old code, and I didn't even realize that g3dvl was included in the Mesa builds now. Anyhow, I'll get the new stuff pushed out once I quash some bugs and bring up the changes on the mailing list.
Comment 3 Adam Jackson 2009-08-24 12:32:56 UTC
Mass version move, cvs -> git
Comment 4 Steven Ward 2009-08-24 15:08:05 UTC
Hi there,
        Thanks for the info that Mesa is on a mass transfer from C.V.S to Git.
However,I am still getting the error if I try to build the Xorg State Tracker.
I did a clean install of Fedora Constantine Release Candidate Alpha yesterday.
So my Xorg headers should be up to date.The current version of xorg-x11-server at this time of writing is 1.6.99.39.20090820.fc12,so they should be up to date.

Regards,
       Steve555
Comment 5 Michel Dänzer 2009-08-25 05:12:04 UTC
(In reply to comment #4)
>         Thanks for the info that Mesa is on a mass transfer from C.V.S to Git.

That happened long ago, this is just updating bugzilla to reflect it.

> However,I am still getting the error if I try to build the Xorg State Tracker.

Note that you don't need to build the g3dvl state tracker at all for building the Xorg state tracker.
Comment 6 Steven Ward 2009-09-21 01:15:34 UTC
Hi everyone,
           As from commit e9d6ab72be065becf7a077c33919d37faa8db92e on the Mesa git tree "xorg/st: fixup builds against later dpms headers.",I've just pulled the latest commits this morning and compiled with my ./configure options (I.with the xorg state-tracker included in the build)it now successfully compiles.

I would like to thank everyone for the fix.

Regards,
       STEVE555 

Comment 7 Chí-Thanh Christopher Nguyễn 2009-11-13 02:58:57 UTC
This was not yet fixed in the Mesa 7.6 branch, is it planned to apply the patch there as well?
Comment 8 Brian Paul 2009-11-18 07:08:59 UTC
OK, I've cherry-picked e9d6ab72be065becf7a077c33919d37faa8db92e to the 7.6 branch.


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.