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: "David C. Rankin" <drankinatty@...>
Date: Wed, 05 Feb 2014 12:18:12 -0600
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???



-- 
David C. Rankin, J.D.,P.E.