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 --