trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: February 2014

Re: [trinity-devel] kaffeine FTBFS - kaffeine/configure.in.in also needs patch for paranoia/cdda.h

From: Slávek Banko <slavek.banko@...>
Date: Sun, 9 Feb 2014 02:50:23 +0100
On Wednesday 05 of February 2014 19:18:12 David C. Rankin wrote:
> On 02/05/2014 12:07 PM, David C. Rankin wrote:
> > On 02/05/2014 10:41 AM, David C. Rankin wrote:
> >> On 02/05/2014 10:19 AM, David C. Rankin wrote:
> >>> On 02/05/2014 10:00 AM, David C. Rankin wrote:
> >>>> Should be:
> >>>>
> >>>> extern "C"
> >>>> {
> >>>> #ifdef HAVE_LIBCDIO_090
> >>>> #include <cdio/paranoia/cdda.h>
> >>>
> >>> I think this whole issue is that HAVE_LIBCDIO_090 is NOT seen in
> >>> paranoia.h. If we can get that test to evaluate to 'true', I think
> >>> kaffeine will build.
> >>
> >> That is indeed the case. I just built kaffeine with:
> >>
> >> cd kaffeine
> >>
> >> # fix kaffeine/kaffeine/configure.in.in
> >> sed -i 's|\[cdio/cdda.h\]|[cdio/paranoia/cdda.h]|'
> >> kaffeine/configure.in.in
> >>
> >> # set all paranoia.h 'cdio/' includes to 'cdia/paranoia/'
> >> sed -i 's|<cdio/cdda.h>|<cdio/paranoia/cdda.h>|' \
> >>   kaffeine/src/input /disc/paranoia.h
> >> sed -i 's|<cdio/paranoia.h>|<cdio/paranoia/paranoia.h>|' \
> >>   kaffeine/src/input /disc/paranoia.h
> >>
> >> # fix missing '/' in kaffeine/kaffeine/src/input/disc/paranoia.h
> >> sed -i 's|paranoiacdda|paranoia/cdda|'
> >> kaffeine/src/input/disc/paranoia.h
> >>
> >> Kaffeine built fine.  So we have to:
> >>
> >> (1) fix the missing '/' at line 36 in paranoia.h:
> >>
> >>  33 extern "C"
> >>  34 {
> >>  35 #ifdef HAVE_LIBCDIO_090
> >>  36 #include <cdio/paranoiacdda.h>
> >>                            ^
> >>
> >> (2) find a way to get HAVE_LIBCDIO_090 test true in paranoia.h
> >>
> >> How do we fix #2?
> >
> > Slavek - you will have to fix. I've exhausted my autofoo tricks and I
> > cannot get #2 to test true. I tried moving the KDE_CHECK_HEADER to
> > kaffeine/kaffeine/configure.in.in - but it still fails to include the
> > correct header. Maybe we are missing a AC_SUBST or something to update
> > the -I/path/to/cdio/paranoia?
> >
> > Here is the latest patch that does everything we need done to the
> > existing code -- except getting #ifdef HAVE_LIBCDIO_090 to include the
> > correct headers :(
>
> The darn build has the correct -I statement, but not the correct
> preprocessor change kaffeine/kaffeine/src/input/disc/paranoia.h:
>
> Why the heck is the preprocessor check failing in this code block beginning
> at line 33?
>
> extern "C"
> {
> #ifdef HAVE_LIBCDIO_090
> #include <cdio/paranoia/cdda.h>
> #include <cdio/paranoia/paranoia.h>
> #else // HAVE_LIBCDIO_090
> #include <cdio/cdda.h>
> #include <cdio/paranoia.h>
> #endif // HAVE_LIBCDIO_090
> }
>
> For some reason the build doesn't get the new header and fails at:
>
> /bin/sh ../../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H
> -I. <snip>
> -I/usr/include/cdio/paranoia
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --> this is Correct! But it gets the old
> paranoia.h <snip>
> In file included from disc.h:39:0,
>                  from disc.cpp:42,
>                  from libkaffeinedisc_la.all_cpp.cpp:2:
> paranoia.h:39:23: fatal error: cdio/cdda.h: No such file or directory
>  #include <cdio/cdda.h>
>
> The preprocessor check should make it '#include <cdio/paranoia/cdda.h>'.
> Why is the preprocessor check failing???

It would be fixed in the current GIT tree - see commit 597daea6.
Please, test it and then close an bug report 1853.

Slavek
--