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 791301 - cdio: Fails to build with cdio 1.0
cdio: Fails to build with cdio 1.0
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
unspecified
Other Linux
: Normal blocker
: 1.12.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-12-06 10:23 UTC by Sebastian Dröge (slomo)
Modified: 2017-12-06 14:43 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2017-12-06 10:23:34 UTC
gstcdio.c: In function ‘gst_cdio_add_cdtext_field’:
gstcdio.c:55:27: error: incompatible type for argument 1 of ‘cdtext_get_const’
   txt = cdtext_get_const (field, cdtext);
                           ^~~~~
In file included from /usr/include/cdio/cdio.h:59:0,
                 from gstcdio.h:25,
                 from gstcdio.c:37:
/usr/include/cdio/cdtext.h:262:13: note: expected ‘const cdtext_t * {aka const struct cdtext_s *}’ but argument is of type ‘cdtext_field_t {aka enum <anonymous>}’
 const char *cdtext_get_const (const cdtext_t *p_cdtext, cdtext_field_t field,
             ^~~~~~~~~~~~~~~~
gstcdio.c:55:34: error: incompatible type for argument 2 of ‘cdtext_get_const’
   txt = cdtext_get_const (field, cdtext);
                                  ^~~~~~
In file included from /usr/include/cdio/cdio.h:59:0,
                 from gstcdio.h:25,
                 from gstcdio.c:37:
/usr/include/cdio/cdtext.h:262:13: note: expected ‘cdtext_field_t {aka enum <anonymous>}’ but argument is of type ‘cdtext_t * {aka struct cdtext_s *}’
 const char *cdtext_get_const (const cdtext_t *p_cdtext, cdtext_field_t field,
             ^~~~~~~~~~~~~~~~
gstcdio.c:55:9: error: too few arguments to function ‘cdtext_get_const’
   txt = cdtext_get_const (field, cdtext);
         ^~~~~~~~~~~~~~~~
In file included from /usr/include/cdio/cdio.h:59:0,
                 from gstcdio.h:25,
                 from gstcdio.c:37:
/usr/include/cdio/cdtext.h:262:13: note: declared here
 const char *cdtext_get_const (const cdtext_t *p_cdtext, cdtext_field_t field,
             ^~~~~~~~~~~~~~~~
gstcdio.c: In function ‘gst_cdio_get_cdtext’:
gstcdio.c:96:7: error: too many arguments to function ‘cdio_get_cdtext’
   t = cdio_get_cdtext (cdio, track);
       ^~~~~~~~~~~~~~~
In file included from /usr/include/cdio/cdio.h:62:0,
                 from gstcdio.h:25,
                 from gstcdio.c:37:
/usr/include/cdio/disc.h:77:13: note: declared here
   cdtext_t *cdio_get_cdtext (CdIo_t *p_cdio);
             ^~~~~~~~~~~~~~~
In file included from gstcdio.c:37:0:
gstcdio.h:29:34: error: ‘CDTEXT_PERFORMER’ undeclared (first use in this function); did you mean ‘CDTEXT_FIELD_PERFORMER’?
   #define CDTEXT_FIELD_PERFORMER CDTEXT_PERFORMER
                                  ^
gstcdio.c:103:45: note: in expansion of macro ‘CDTEXT_FIELD_PERFORMER’
   gst_cdio_add_cdtext_field (src, t, track, CDTEXT_FIELD_PERFORMER,
                                             ^~~~~~~~~~~~~~~~~~~~~~
gstcdio.h:29:34: note: each undeclared identifier is reported only once for each function it appears in
   #define CDTEXT_FIELD_PERFORMER CDTEXT_PERFORMER
                                  ^
gstcdio.c:103:45: note: in expansion of macro ‘CDTEXT_FIELD_PERFORMER’
   gst_cdio_add_cdtext_field (src, t, track, CDTEXT_FIELD_PERFORMER,
                                             ^~~~~~~~~~~~~~~~~~~~~~
gstcdio.h:31:34: error: ‘CDTEXT_TITLE’ undeclared (first use in this function); did you mean ‘CDTEXT_FIELD_TITLE’?
   #define CDTEXT_FIELD_TITLE     CDTEXT_TITLE
                                  ^
gstcdio.c:105:45: note: in expansion of macro ‘CDTEXT_FIELD_TITLE’
   gst_cdio_add_cdtext_field (src, t, track, CDTEXT_FIELD_TITLE, GST_TAG_TITLE,
                                             ^~~~~~~~~~~~~~~~~~
gstcdio.c: In function ‘gst_cdio_add_cdtext_album_tags’:
gstcdio.c:121:7: error: too many arguments to function ‘cdio_get_cdtext’
   t = cdio_get_cdtext (cdio, 0);
       ^~~~~~~~~~~~~~~
In file included from /usr/include/cdio/cdio.h:62:0,
                 from gstcdio.h:25,
                 from gstcdio.c:37:
/usr/include/cdio/disc.h:77:13: note: declared here
   cdtext_t *cdio_get_cdtext (CdIo_t *p_cdio);
             ^~~~~~~~~~~~~~~
In file included from gstcdio.c:37:0:
gstcdio.h:29:34: error: ‘CDTEXT_PERFORMER’ undeclared (first use in this function); did you mean ‘CDTEXT_FIELD_PERFORMER’?
   #define CDTEXT_FIELD_PERFORMER CDTEXT_PERFORMER
                                  ^
gstcdio.c:128:41: note: in expansion of macro ‘CDTEXT_FIELD_PERFORMER’
   gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_PERFORMER,
                                         ^~~~~~~~~~~~~~~~~~~~~~
gstcdio.h:31:34: error: ‘CDTEXT_TITLE’ undeclared (first use in this function); did you mean ‘CDTEXT_FIELD_TITLE’?
   #define CDTEXT_FIELD_TITLE     CDTEXT_TITLE
                                  ^
gstcdio.c:130:41: note: in expansion of macro ‘CDTEXT_FIELD_TITLE’
   gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_TITLE, GST_TAG_ALBUM,
                                         ^~~~~~~~~~~~~~~~~~
gstcdio.h:30:34: error: ‘CDTEXT_GENRE’ undeclared (first use in this function); did you mean ‘CDTEXT_TITLE’?
   #define CDTEXT_FIELD_GENRE     CDTEXT_GENRE
                                  ^
gstcdio.c:132:41: note: in expansion of macro ‘CDTEXT_FIELD_GENRE’
   gst_cdio_add_cdtext_field (src, t, 0, CDTEXT_FIELD_GENRE, GST_TAG_GENRE,
                                         ^~~~~~~~~~~~~~~~~~
Comment 1 Sebastian Dröge (slomo) 2017-12-06 10:58:43 UTC
Haha this happens because before
  #define LIBCDIO_VERSION_NUM 94
and now
  #define LIBCDIO_VERSION_NUM 1

And we have checks for < 83... seriously
Comment 2 Sebastian Dröge (slomo) 2017-12-06 11:05:13 UTC
commit 0f7e4c90d5248537a066c53ecdd8d1bd86b66a06 (HEAD -> master, origin/master, origin/HEAD)
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Wed Dec 6 13:01:39 2017 +0200

    cdio: Fix build with cdio >= 1.0
    
    LIBCDIO_VERSION_NUM was defined as e.g. 94 for 0.94 but is now defined
    as 1 for 1.0. We had various checks for < 83, which of course succeeded
    now although we are >= 0.83.
    
    Fix this by checking for < 76 (0.76) too, as that is the minimum version
    we currently support and everything < 76 is going to be >= 1.0.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=791301
Comment 3 Sebastian Dröge (slomo) 2017-12-06 11:05:29 UTC
Should backport to 1.12 also