After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 719454 - build broken by 6436cd073d256e54f82e7607874006862b2f0ad6
build broken by 6436cd073d256e54f82e7607874006862b2f0ad6
Status: RESOLVED FIXED
Product: cogl
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Cogl maintainer(s)
Cogl maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2013-11-27 23:05 UTC by Colin Walters
Modified: 2013-11-28 19:35 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Colin Walters 2013-11-27 23:05:17 UTC
From: http://build.gnome.org/continuous/buildmaster/builds/2013/11/27/48/build/log-cogl.txt

/ostbuild/source/cogl/cogl/cogl.h:29:2: error: #error "<cogl/cogl.h> shouldn't be included internally"
Comment 1 Robert Bragg 2013-11-28 17:15:14 UTC
thanks, I think this should be fixed now:

commit 31a9726506668184e0a3b0044cf74a08fe219c0e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 28 12:34:45 2013 +0000

    build: fix building introspection data
    
    This fixes the build with --enable-introspection. I'm not sure why
    g-ir-scanner seems to parse all public headers in isolation instead of
    being able take a more limited list of top-level public headers and
    automatically parse all necessary #include directives but this means we
    have to special case how we define and undefine __COGL_H_INSIDE__ to
    subvert the guards we have in place for detecting misuse of the headers.
    
    Reviewed-by: Neil Roberts <neil@linux.intel.com>
    (cherry picked from commit e0b2255876c1cf11d124d5ae37cbe9a6e43777f1)
Comment 2 Colin Walters 2013-11-28 17:27:50 UTC
Yep, confirmed.  I've untagged cogl and resumed tracking the cogl-0.18 branch:

https://git.gnome.org/browse/gnome-continuous/commit/?id=f9ad39f46e34883149b5018e7729f0cb87dd51f8

Yeah...g-ir-scanner could use a mode where it followed #includes, it's just a little tricky to determine what's a "system" header or not.  (Consider cases like evolution-data-server where the build has two built libraries, one that depends on another).
Comment 3 Robert Bragg 2013-11-28 19:35:52 UTC
(In reply to comment #2)
> Yep, confirmed.  I've untagged cogl and resumed tracking the cogl-0.18 branch:
> 
> https://git.gnome.org/browse/gnome-continuous/commit/?id=f9ad39f46e34883149b5018e7729f0cb87dd51f8

Thanks

> 
> Yeah...g-ir-scanner could use a mode where it followed #includes, it's just a
> little tricky to determine what's a "system" header or not.  (Consider cases
> like evolution-data-server where the build has two built libraries, one that
> depends on another).

I wonder if it could perhaps combine using a white list of package headers with following #includes. It could follow headers as the primary means of parsing all of the public api but at each include cross reference with the white list of package headers that we currently declare to avoid system headers.