| Summary: | Build issue: kaffeine FTBFS - libcdio 0.90-2 drops <cdio/cdda.h> | ||
|---|---|---|---|
| Product: | TDE | Reporter: | David C. Rankin <trin> |
| Component: | non-core programs | Assignee: | Timothy Pearson <kb9vqf> |
| Status: | RESOLVED FIXED | ||
| Severity: | critical | CC: | albator78, bugwatch, darrella, kb9vqf, slavek.banko, trin |
| Priority: | P5 | ||
| Version: | R14.0.0 [Trinity] | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Compiler Version: | TDE Version String: | ||
| Application Version: | Application Name: | ||
| Attachments: | patch that solves the problem for libcdio >= 0.9 | ||
|
Description
David C. Rankin
2014-01-23 00:31:08 CST
Bumped to critical as this will break kaffeine for everyone who updated to libcdio > 0.83. You guys evaluate if you want to adjust importance, but since it looks like Arch is the only distro using current libcdio, I chose not to raise to 'blocker'. Just be aware, kaffeine (and anything else relying on cdda.h) will break when anyone updates to current libcdio. SOLVED - But how to properly fix in code?? The problem: cdio-paranoia is removed from libcdio > 0.83. A new package 'libcdio-paranoia' provides all old cdio-paranoia headers, BUT the header file location has moved from: ../cdio to ../cdio/paranoia I successfully built kaffeine on Arch with libcdio & libcdio-paranoia by softlinking the needed paranoia headers to ../cdio: cdda.h -> paranoia/cdda.h paranoia.h -> paranoia/paranoia.h How do we patch kaffeine to properly handle this change? kaffeine/src/input/disc/paranoia.h already includes: #include <cdio/cdda.h> #include <cdio/paranoia.h> The only other files that need fixing are: configure.in:303:KDE_CHECK_HEADER([cdio/cdda.h], [with_cdparanoia=yes], [with_cdparanoia=no]) kaffeine/configure.in.in:223:KDE_CHECK_HEADER([cdio/cdda.h], [with_cdparanoia=yes], [with_cdparanoia=no]) But how to do this with preprocessor checks so that it will work with both libcdio <= 0.83 and those systems with libcdio > 0.83 that will also need libcdio-paranoia? Created attachment 1905 [details]
patch that solves the problem for libcdio >= 0.9
SOLVED FOR libcdio >= 0.9 - need automake conditional or preprocessor check to allow fix to work with both libcdio <= 0.83 and >= 0.9:
Here is a patch that solves the problem for libcdio >= 0.9 where paranioa headers were removed from upstream libcdio and moved to a separate package libcdio-paranoia where they are installed in cdio/paranoia instead of cdio/
*** Bug 1885 has been marked as a duplicate of this bug. *** This should be fixed in GIT hash aa821e9. Can you confirm? Thanks! Now FTBFS with libcdio 0.90
Caused by Git Hash aa821e98.
Type in "#include", missing slash.
Should be:
#include <cdio/paranoia/cdda.h>
Not:
#include <cdio/paranoiacdda.h>
See below:
diff --git a/kaffeine/src/input/disc/paranoia.h b/kaffeine/src/input/disc/paranoia.h
index 485be28..3f0eee3 100644
--- a/kaffeine/src/input/disc/paranoia.h
+++ b/kaffeine/src/input/disc/paranoia.h
@@ -32,8 +32,13 @@
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
}
class KiloConfig : public ParanoiaSettings
Comment on attachment 1905 [details]
patch that solves the problem for libcdio >= 0.9
First pushed into the GIT in hash aa821e98, fixed in hash
597daea6.
Builds fine with libcdio 0.90. see commit 597daea6. Bug closed. |