Bug#529266: FTBFS with GCC 4.4: missing #include

Martin Michlmayr tbm at cyrius.com
Mon May 18 10:32:58 UTC 2009


Package: libffado
Version: 2.0~rc1+svn1539-1
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-4.4
Tags: patch

Your package fails to build with GCC 4.4, which has cleaned up some more
C++ headers.  You always have to #include headers directly and cannot
rely for things to be included indirectly.

You can reproduce this problem with gcc-4.4/g++-4.4 from unstable.

> Automatic build of libffado_2.0~rc1+svn1539-1 on em64t by sbuild/amd64 0.53
...
> building 'config.h' from 'config.h.in'
> g++ -o src/DeviceStringParser.os -c -Wall -g -m64 -fPIC -DENABLE_BEBOB -DENABLE_FIREWORKS -DENABLE_MOTU -DENABLE_GENERICAVC -fPIC -DDEBUG -DDBUS_HAS_THREADS_INIT_DEFAULT -I. -Isrc -I/usr/include/libxml++-2.6 -I/usr/lib/libxml++-2.6/include -I/usr/include/libxml2 -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Iexternal/libconfig src/DeviceStringParser.cpp
> In file included from src/DeviceStringParser.cpp:24:
> src/DeviceStringParser.h:62: error: 'uint64_t' does not name a type
> In file included from src/libieee1394/configrom.h:35,
>                  from src/DeviceStringParser.cpp:32:
> src/libcontrol/Element.h:82: error: 'uint64_t' does not name a type
> src/libcontrol/Element.h:120: error: 'uint64_t' does not name a type
> In file included from src/DeviceStringParser.cpp:33:
> src/libieee1394/ieee1394service.h:114: error: 'uint32_t' does not name a type
> src/libieee1394/ieee1394service.h:122: error: 'uint32_t' does not name a type
> src/libieee1394/ieee1394service.h:130: error: 'uint32_t' does not name a type
> src/libieee1394/ieee1394service.h:138: error: 'uint32_t' does not name a type
> src/libieee1394/ieee1394service.h:144: error: 'uint64_t' does not name a type
> src/libieee1394/ieee1394service.h:150: error: 'uint64_t' does not name a type
> src/libieee1394/ieee1394service.h:158: error: 'uint32_t' has not been declared
> src/libieee1394/ieee1394service.h:158: error: 'uint64_t' has not been declared
> src/libieee1394/ieee1394service.h:164: error: 'uint64_t' does not name a type
> src/DeviceStringParser.cpp: In constructor 'DeviceStringParser::DeviceString::DeviceString(DeviceStringParser&)':
> src/DeviceStringParser.cpp:41: error: class 'DeviceStringParser::DeviceString' does not have any field named 'm_guid'
> src/DeviceStringParser.cpp: In member function 'bool DeviceStringParser::DeviceString::parse(std::string)':
> src/DeviceStringParser.cpp:102: error: 'm_guid' was not declared in this scope
> src/DeviceStringParser.cpp: In static member function 'static bool DeviceStringParser::DeviceString::isValidString(std::string)':
> src/DeviceStringParser.cpp:121: error: 'uint64_t' was not declared in this scope
> src/DeviceStringParser.cpp:121: error: expected ';' before 'tmp'
> src/DeviceStringParser.cpp:128: error: 'tmp' was not declared in this scope
> src/DeviceStringParser.cpp:136: error: 'tmp' was not declared in this scope
> src/DeviceStringParser.cpp:149: error: 'tmp' was not declared in this scope
> src/DeviceStringParser.cpp: In member function 'bool DeviceStringParser::DeviceString::match(ConfigRom&)':
> src/DeviceStringParser.cpp:177: error: 'm_guid' was not declared in this scope
> src/DeviceStringParser.cpp: In member function 'bool DeviceStringParser::DeviceString::operator==(const DeviceStringParser::DeviceString&)':
> src/DeviceStringParser.cpp:197: error: 'm_guid' was not declared in this scope
> src/DeviceStringParser.cpp:197: error: 'const class DeviceStringParser::DeviceString' has no member named 'm_guid'
> src/DeviceStringParser.cpp:198: error: 'const class DeviceStringParser::DeviceString' has no member named 'm_guid'
> src/DeviceStringParser.cpp: In member function 'void DeviceStringParser::DeviceString::show()':
> src/DeviceStringParser.cpp:220: error: 'm_guid' was not declared in this scope
> scons: *** [src/DeviceStringParser.os] Error 1
> scons: building terminated because of errors.

--- src/libavc/audiosubunit/avc_function_block.cpp~	2009-05-18 10:09:11.000000000 +0000
+++ src/libavc/audiosubunit/avc_function_block.cpp	2009-05-18 10:09:19.000000000 +0000
@@ -26,6 +26,7 @@
 #include "libutil/cmd_serialize.h"
 #include "libieee1394/ieee1394service.h"
 
+#include <cstdio>
 
 namespace AVC {
 
--- src/libavc/general/avc_plug.cpp~	2009-05-18 10:10:23.000000000 +0000
+++ src/libavc/general/avc_plug.cpp	2009-05-18 10:10:29.000000000 +0000
@@ -33,6 +33,7 @@
 #include "libieee1394/ieee1394service.h"
 #include "libutil/cmd_serialize.h"
 
+#include <cstdio>
 #include <sstream>
 
 namespace AVC {
--- src/libavc/musicsubunit/avc_musicsubunit.cpp~	2009-05-18 10:12:24.000000000 +0000
+++ src/libavc/musicsubunit/avc_musicsubunit.cpp	2009-05-18 10:12:30.000000000 +0000
@@ -34,6 +34,7 @@
 #include "avc_musicsubunit.h"
 #include "avc_descriptor_music.h"
 
+#include <cstdio>
 #include <sstream>
 
 namespace AVC {
--- src/libavc/avc_definitions.h~	2009-05-18 10:05:05.000000000 +0000
+++ src/libavc/avc_definitions.h	2009-05-18 10:05:11.000000000 +0000
@@ -27,6 +27,7 @@
 #include <cstring>
 #include <cstdlib>
 #include <ostream>
+#include <stdint.h>
 #include <libraw1394/raw1394.h>
 
 namespace AVC {
--- src/libcontrol/Element.h~	2009-05-18 10:04:31.000000000 +0000
+++ src/libcontrol/Element.h	2009-05-18 10:04:37.000000000 +0000
@@ -28,6 +28,7 @@
 
 #include <vector>
 #include <string>
+#include <stdint.h>
 
 #include "libutil/Mutex.h"
 #include "libutil/Functors.h"
--- src/libcontrol/ClockSelect.cpp~	2009-05-18 10:14:00.000000000 +0000
+++ src/libcontrol/ClockSelect.cpp	2009-05-18 10:14:06.000000000 +0000
@@ -24,6 +24,8 @@
 #include "ClockSelect.h"
 #include "ffadodevice.h"
 
+#include <cstdio>
+
 namespace Control {
 
 //// --- ClockSelect --- ////
--- src/libieee1394/ieee1394service.h~	2009-05-18 10:15:54.000000000 +0000
+++ src/libieee1394/ieee1394service.h	2009-05-18 10:16:04.000000000 +0000
@@ -38,6 +38,7 @@
 
 #include <vector>
 #include <string>
+#include <stdint.h>
 
 #define MAX_FCP_BLOCK_SIZE_BYTES (512)
 #define MAX_FCP_BLOCK_SIZE_QUADS (MAX_FCP_BLOCK_SIZE_BYTES / 4)
--- src/libutil/cmd_serialize.h~	2009-05-18 10:05:49.000000000 +0000
+++ src/libutil/cmd_serialize.h	2009-05-18 10:05:56.000000000 +0000
@@ -28,6 +28,7 @@
 
 #include <libraw1394/raw1394.h> // byte_t and quadlet_t declaration
 #include <string>
+#include <stdint.h>
 
 namespace Util {
 	namespace Cmd {
--- src/libutil/OptionContainer.h~	2009-05-18 10:07:26.000000000 +0000
+++ src/libutil/OptionContainer.h	2009-05-18 10:07:32.000000000 +0000
@@ -29,6 +29,7 @@
 
 #include <vector>
 #include <string>
+#include <stdint.h>
 
 namespace Util {
 
--- src/libutil/Configuration.cpp~	2009-05-18 10:18:16.000000000 +0000
+++ src/libutil/Configuration.cpp	2009-05-18 10:18:25.000000000 +0000
@@ -23,6 +23,7 @@
 
 #include "Configuration.h"
 
+#include <stdint.h>
 #include <stdlib.h>
 
 using namespace libconfig;
--- src/libutil/SystemTimeSource.h~	2009-05-18 10:19:31.000000000 +0000
+++ src/libutil/SystemTimeSource.h	2009-05-18 10:19:42.000000000 +0000
@@ -26,6 +26,8 @@
 
 #include "../debugmodule/debugmodule.h"
 
+#include <stdint.h>
+
 typedef uint64_t ffado_microsecs_t;
 
 namespace Util {
--- src/libutil/serialize_libxml.cpp~	2009-05-18 10:20:51.000000000 +0000
+++ src/libutil/serialize_libxml.cpp	2009-05-18 10:21:07.000000000 +0000
@@ -25,6 +25,7 @@
 #include "serialize.h"
 
 #include <cstring>
+#include <cstdio>
 #include <cstdlib>
 
 using namespace std;
--- src/DeviceStringParser.h~	2009-05-18 10:03:46.000000000 +0000
+++ src/DeviceStringParser.h	2009-05-18 10:04:09.000000000 +0000
@@ -28,6 +28,7 @@
 
 #include <vector>
 #include <string>
+#include <stdint.h>
 
 class ConfigRom;
 
--- tests/streaming/teststreaming3.cpp~	2009-05-18 10:22:58.000000000 +0000
+++ tests/streaming/teststreaming3.cpp	2009-05-18 10:23:12.000000000 +0000
@@ -29,6 +29,7 @@
 
 #include "config.h"
 
+#include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>

-- 
Martin Michlmayr
http://www.cyrius.com/





More information about the pkg-multimedia-maintainers mailing list