Bug 91643 - mesa-demos-8.2.0 (latest released version) fails to build against mesa-10.6.4-2.mga6.tainted.src.rpm
Summary: mesa-demos-8.2.0 (latest released version) fails to build against mesa-10.6.4...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Demos (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
: 91020 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-08-15 12:40 UTC by Shlomi Fish
Modified: 2015-10-10 11:25 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Shlomi Fish 2015-08-15 12:40:03 UTC
The latest release of mesa-demos - mesa-demos-8.2.0 gives a compilation error when building using mesa-10.6.4-2.mga6.tainted.src.rpm on Mageia Linux x86-64 6/Cauldron:

shlomif@telaviv1:~/mesa-demos-8.2.0$ make
Making all in src
make[1]: Entering directory '/home/shlomif/mesa-demos-8.2.0/src'
Making all in util
make[2]: Entering directory '/home/shlomif/mesa-demos-8.2.0/src/util'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/shlomif/mesa-demos-8.2.0/src/util'
Making all in data
make[2]: Entering directory '/home/shlomif/mesa-demos-8.2.0/src/data'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/shlomif/mesa-demos-8.2.0/src/data'
Making all in demos
make[2]: Entering directory '/home/shlomif/mesa-demos-8.2.0/src/demos'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/shlomif/mesa-demos-8.2.0/src/demos'
Making all in egl
make[2]: Entering directory '/home/shlomif/mesa-demos-8.2.0/src/egl'
Making all in eglut
make[3]: Entering directory '/home/shlomif/mesa-demos-8.2.0/src/egl/eglut'
  CC       eglut.lo
eglut.c: In function '_eglutDestroyWindow':
eglut.c:80:32: error: 'EGL_SCREEN_BIT_MESA' undeclared (first use in this function)
        _eglut->surface_type != EGL_SCREEN_BIT_MESA)
                                ^
eglut.c:80:32: note: each undeclared identifier is reported only once for each function it appears in
eglut.c: In function '_eglutCreateWindow':
eglut.c:178:9: error: 'EGL_SCREEN_BIT_MESA' undeclared (first use in this function)
    case EGL_SCREEN_BIT_MESA:
         ^                                                                      
eglut.c: In function 'eglutDestroyWindow':                                      
eglut.c:293:33: error: 'EGL_SCREEN_BIT_MESA' undeclared (first use in this function)                                                                            
    if ( _eglut->surface_type != EGL_SCREEN_BIT_MESA)                           
                                 ^                                              
Makefile:475: recipe for target 'eglut.lo' failed                               
make[3]: *** [eglut.lo] Error 1                                                 
make[3]: Leaving directory '/home/shlomif/mesa-demos-8.2.0/src/egl/eglut'       
Makefile:408: recipe for target 'all-recursive' failed                          
make[2]: *** [all-recursive] Error 1                                            
make[2]: Leaving directory '/home/shlomif/mesa-demos-8.2.0/src/egl'             
Makefile:424: recipe for target 'all-recursive' failed                          
make[1]: *** [all-recursive] Error 1                                            
make[1]: Leaving directory '/home/shlomif/mesa-demos-8.2.0/src'                 
Makefile:431: recipe for target 'all-recursive' failed                          
make: *** [all-recursive] Error 1                                               
shlomif@telaviv1:~/mesa-demos-8.2.0$                                            

Can a new version be released with a fix?
Comment 1 Tobias Klausmann 2015-08-15 19:18:38 UTC
Works fine here and on the opensuse buildservers, have you build mesa with the appropriate --with-egl-platforms=yourplatforms where the platform is one or several of: x11, drm, wayland
Comment 2 Shlomi Fish 2015-08-15 20:08:31 UTC
(In reply to Tobias Klausmann from comment #1)
> Works fine here and on the opensuse buildservers, have you build mesa with
> the appropriate --with-egl-platforms=yourplatforms where the platform is one
> or several of: x11, drm, wayland

This is indeed the case according to my reading of the rpm .spec file. Furthermore:

# ~/mesa-10.6.4 is the vanilla Mesa sources from the ftp.freedesktop.org tar.xz
shlomif[rpms]:~/mesa-10.6.4$ grep -ri EGL_SCREEN_BIT .
./src/egl/docs/EGL_MESA_screen_surface:    EGL_SCREEN_BIT_MESA        
shlomif[rpms]:~/mesa-10.6.4$ grep -ri EGL_SCREEN_BIT /usr/include/EGL
shlomif[rpms]:~/mesa-10.6.4$ 

Where is it supposed to be declared and defined?

Are you sure opensuse is not using a patched version or a git snapshot?
Comment 3 Tobias Klausmann 2015-08-15 20:31:24 UTC
WE use a normal 10.6.4 snapshot and i'm not aware of extra patches. You may need other some devel packages like we got "Mesa-libEGL-devel" for this.

As a reference you may look into the opensuse packages for sure:
https://build.opensuse.org/package/show/X11:XOrg/Mesa
Comment 4 Shlomi Fish 2015-08-15 20:34:40 UTC
(In reply to Shlomi Fish from comment #2)
> (In reply to Tobias Klausmann from comment #1)
> > Works fine here and on the opensuse buildservers, have you build mesa with
> > the appropriate --with-egl-platforms=yourplatforms where the platform is one
> > or several of: x11, drm, wayland
> 
> This is indeed the case according to my reading of the rpm .spec file.
> Furthermore:
> 
> # ~/mesa-10.6.4 is the vanilla Mesa sources from the ftp.freedesktop.org
> tar.xz
> shlomif[rpms]:~/mesa-10.6.4$ grep -ri EGL_SCREEN_BIT .
> ./src/egl/docs/EGL_MESA_screen_surface:    EGL_SCREEN_BIT_MESA        
> shlomif[rpms]:~/mesa-10.6.4$ grep -ri EGL_SCREEN_BIT /usr/include/EGL
> shlomif[rpms]:~/mesa-10.6.4$ 
> 
> Where is it supposed to be declared and defined?
> 
> Are you sure opensuse is not using a patched version or a git snapshot?

OK, some investigation:

1. The constant in question was removed by this commit:

commit 7a58262e58d8edac3308777def0950032628edee
Author: Adam Jackson <ajax@redhat.com>
Date:   Wed Apr 1 10:39:45 2015 -0400

    egl: Remove skeleton implementation of EGL_MESA_screen_surface
    
    No backend wires this up to anything, and the extension spec has been
    marked obsolete for 4+ years.
    
    Reviewed-by: Marek Olšák <marek.olsak@amd.com>
    Signed-off-by: Adam Jackson <ajax@redhat.com>

2. According to http://software.opensuse.org/package/Mesa opensuse is using Mesa version 10.3.7 which may still have had it.
Comment 5 Shlomi Fish 2015-08-15 20:48:12 UTC
(In reply to Tobias Klausmann from comment #3)
> WE use a normal 10.6.4 snapshot and i'm not aware of extra patches. You may
> need other some devel packages like we got "Mesa-libEGL-devel" for this.
> 
> As a reference you may look into the opensuse packages for sure:
> https://build.opensuse.org/package/show/X11:XOrg/Mesa

Looking at https://build.opensuse.org/package/view_file/openSUSE:Factory/Mesa-demo/Mesa-demo.spec?expand=1 , I see that ./configure gets passed the "--disable-egl" flag. After adding it to the Mageia .spec the package builds specifically. But it's not the default, so the problem still stands.
Comment 6 Tobias Klausmann 2015-08-16 15:14:00 UTC
Oh right, i was not aware of this. I guess mesa-demo should make this the default then.
Comment 7 Marek Olšák 2015-09-26 13:08:52 UTC
Fixed by demos commit 74443c6ee79f3251f643ea05e94df58183e37d0d. Closing.
Comment 8 Marek Olšák 2015-09-26 13:11:50 UTC
*** Bug 91020 has been marked as a duplicate of this bug. ***


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.