GNOME Bugzilla – Bug 791301
cdio: Fails to build with cdio 1.0
Last modified: 2017-12-06 14:43:56 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, ^~~~~~~~~~~~~~~~~~
Haha this happens because before #define LIBCDIO_VERSION_NUM 94 and now #define LIBCDIO_VERSION_NUM 1 And we have checks for < 83... seriously
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
Should backport to 1.12 also