Slavek,
kaffeine is partially fixed to deal with the new paranoia/cdda.h and paranoia/paranoia.h header locations. The fix to kaffeine/configure.in.in seems OK. However, without a patch to 'kaffeine/kaffeine/configure.in.in' ./configure fails to find the new headers and fails with:
checking cdio/cdda.h usability... no checking cdio/cdda.h presence... no checking for cdio/cdda.h... no
----------------------------------------- ERROR: Could not find cdparanoia headers. -----------------------------------------
configure: error: could not find cdparanoia headers
This check in 'kaffeine/kaffeine/configure.in.in is causing the failure:
dnl -------------------- dnl check for cdparanoia dnl --------------------
KDE_CHECK_HEADER([cdio/cdda.h], [with_cdparanoia=yes], [with_cdparanoia=no])
if test "$with_cdparanoia" != "yes" ; then echo "" echo "-----------------------------------------" echo "ERROR: Could not find cdparanoia headers." echo "-----------------------------------------" echo ""
AC_MSG_ERROR([could not find cdparanoia headers]) fi
This must be consitnt with the new 'kaffeine/configure.in.in' check of:
KDE_CHECK_HEADER(cdio/paranoia/cdda.h, [have_libcdio_090="yes"], [have_libcdio_090="no"]) if test "x$have_libcdio_090" = "xyes"; then AC_DEFINE(HAVE_LIBCDIO_090, 1, [have libcdio >= 0.90]) fi
Since that check fails I have to patch configure.in.in. Next, you (or somebody) added preprocessor checks to kaffeine/kaffeine/src/input/disc/paranoia.h at line 35 - line 36 is MISSING a '/' after paranoia:
extern "C" { #ifdef HAVE_LIBCDIO_090 #include <cdio/paranoiacdda.h> #include <cdio/paranoia/paranoia.h> #else // HAVE_LIBCDIO_090 #include <cdio/cdda.h> #include <cdio/paranoia.h> #endif // HAVE_LIBCDIO_090 }
Should be:
extern "C" { #ifdef HAVE_LIBCDIO_090 #include <cdio/paranoia/cdda.h> ^^^^
Further, since configure.in.in is not fixed, the preprocessor checks do not work after I patch configure.in.in... I still get build failures:
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>
I've tried fixing each of the autofoo checks and defines, but I still get:
l_cpp.Tpo -c libkaffeinedisc_la.all_cpp.cpp -fPIC -DPIC -o .libs/libkaffeinedisc_la.all_cpp.o 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> ^ compilation terminated.
I've attached the latest patch I tried. I need help fixing it :(
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.
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?
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 :(
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???
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 --
On 02/08/2014 07:50 PM, Slávek Banko wrote:
It would be fixed in the current GIT tree - see commit 597daea6. Please, test it and then close an bug report 1853.
Slavek
Will do and report back :)
Any luck on the pure-systemd user session tracking ?
On 02/08/2014 08:28 PM, David C. Rankin wrote:
On 02/08/2014 07:50 PM, Slávek Banko wrote:
It would be fixed in the current GIT tree - see commit 597daea6. Please, test it and then close an bug report 1853.
Slavek
Will do and report back :)
Any luck on the pure-systemd user session tracking ?
So.....
+#ifdef HAVE_CONFIG_H +#include <config.h> +#endif
was the whole key to getting the preprocessor to evaluate HAVE_LIBCDIO_090 as true. I knew it was something like that (I didn't know how to fix it...)
Builds fine. I'll close 1853
On 02/08/2014 07:50 PM, Slávek Banko wrote:
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
Slavek,
Can you cherrypick commit 597daea6 to 3.5.13-sru?