From a94d15b582df5d1464cec8bc7dd68be46e1bf937 Mon Sep 17 00:00:00 2001 From: Paul Menzel paulepanter@users.sourceforge.net Date: Sun, 12 Dec 2010 19:21:25 +0100 Subject: [PATCH] tools.h: include `stdarg.h`
For some reason using uClibc `tools.h` needs to have `stdarg.h` included explicitly. Otherwise it fails with the following error. Using Libc or EGLIBC this error does not surface.
NOTE: package vdr-1.7.16-r0: task do_distribute_sources: Succeeded ERROR: TaskFailed event exception, aborting ERROR: Build of /oe/openembedded/recipes/vdr/vdr_1.7.16.bb do_compile failed ERROR: Task 11 (/oe/openembedded/recipes/vdr/vdr_1.7.16.bb, do_compile) failed with 256 ERROR: Function do_compile failed NOTE: Task failed: ('function do_compile failed', '/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/vdr-1.7.16-r0/temp/log.do_compile.8011') ERROR: Logfile of failure stored in: /oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/vdr-1.7.16-r0/temp/log.do_compile.8011 Log data follows: | NOTE: make -j4 -e MAKEFLAGS= INCLUDES=-I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/freetype2 | arm-oe-linux-uclibceabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb -isystem/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -fpermissive -fvisibility-inlines-hidden -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -DVIDEODIR="/video" -DCONFDIR="/video" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/freetype2 audio.c | arm-oe-linux-uclibceabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb -isystem/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -fpermissive -fvisibility-inlines-hidden -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -DVIDEODIR="/video" -DCONFDIR="/video" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/freetype2 channels.c | arm-oe-linux-uclibceabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb -isystem/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -fpermissive -fvisibility-inlines-hidden -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -DVIDEODIR="/video" -DCONFDIR="/video" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/freetype2 ci.c | arm-oe-linux-uclibceabi-g++ -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb-interwork -mno-thumb -isystem/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -fpermissive -fvisibility-inlines-hidden -c -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DREMOTE_KBD -DLIRC_DEVICE="/dev/lircd" -DRCU_DEVICE="/dev/ttyS1" -D_GNU_SOURCE -DVIDEODIR="/video" -DCONFDIR="/video" -DPLUGINDIR="./PLUGINS/lib" -DLOCDIR="./locale" -I/oe/build-minimal-uclibc/minimal-uclibc-dev/sysroots/armv7a-oe-linux-uclibceabi/usr/include/freetype2 config.c | In file included from i18n.h:14:0, | from config.h:19, | from channels.h:13, | from ci.h:15, | from ci.c:10: | tools.h:176:43: error: 'va_list' has not been declared | In file included from audio.h:14:0, | from audio.c:10: | tools.h:176:43: error: 'va_list' has not been declared | In file included from i18n.h:14:0, | from config.h:19, | from config.c:10: | tools.h:176:43: error: 'va_list' has not been declared | In file included from i18n.h:14:0, | from config.h:19, | from channels.h:13, | from channels.c:10: | tools.h:176:43: error: 'va_list' has not been declared | make: *** [audio.o] Error 1 | make: *** Waiting for unfinished jobs.... | make: *** [config.o] Error 1 | make: *** [channels.o] Error 1 | make: *** [ci.o] Error 1 | FATAL: oe_runmake failed | ERROR: Function do_compile failed NOTE: package vdr-1.7.16-r0: task do_compile: Failed ERROR: TaskFailed event exception, aborting ERROR: Build of /oe/openembedded/recipes/vdr/vdr_1.7.16.bb do_compile failed ERROR: Task 11 (/oe/openembedded/recipes/vdr/vdr_1.7.16.bb, do_compile) failed with 256 ERROR: '/oe/openembedded/recipes/vdr/vdr_1.7.16.bb' failed ERROR: '/oe/openembedded/recipes/vdr/vdr_1.7.16.bb' failed ERROR: '/oe/openembedded/recipes/vdr/vdr_1.7.16.bb' failed
I used OpenEmbedded as a framework and tested this patch with the following configurations.
Build Configuration: BB_VERSION = "1.10.0" METADATA_BRANCH = "org.openembedded.dev" METADATA_REVISION = "ff41526" TARGET_ARCH = "arm" TARGET_OS = "linux-uclibceabi" MACHINE = "beagleboard" DISTRO = "minimal-uclibc" DISTRO_VERSION = "dev-snapshot-20101212" TARGET_FPU = "hard"
Build Configuration: BB_VERSION = "1.10.0" METADATA_BRANCH = "org.openembedded.dev" METADATA_REVISION = "ff41526" TARGET_ARCH = "arm" TARGET_OS = "linux-gnueabi" MACHINE = "beagleboard" DISTRO = "minimal" DISTRO_VERSION = "dev-snapshot-20101212" TARGET_FPU = "hard"
This change was made by Henning Heinhold when packaging VDR 1.7.10 for OpenEmbedded [1].
[1] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/vdr/files/cp...
Signed-off-by: Paul Menzel paulepanter@users.sourceforge.net CC: Henning Heinold heinold@inf.fu-berlin.de --- tools.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/tools.h b/tools.h index 95c35ff..1fbe005 100644 --- a/tools.h +++ b/tools.h @@ -17,6 +17,7 @@ #include <iconv.h> #include <math.h> #include <poll.h> +#include <stdarg.h> #include <stddef.h> #include <stdint.h> #include <stdio.h>
On 12.12.2010 23:03, Paul Menzel wrote:
From a94d15b582df5d1464cec8bc7dd68be46e1bf937 Mon Sep 17 00:00:00 2001 From: Paul Menzel paulepanter@users.sourceforge.net Date: Sun, 12 Dec 2010 19:21:25 +0100 Subject: [PATCH] tools.h: include `stdarg.h`
For some reason using uClibc `tools.h` needs to have `stdarg.h` included explicitly. Otherwise it fails with the following error. Using Libc or EGLIBC this error does not surface.
Since tools.h uses va_list you're apparently right. I wonder which one of the other header files tools.h includes pulls in that declaration (apparently unnecessarily).
... This change was made by Henning Heinhold when packaging VDR 1.7.10 for OpenEmbedded [1].
[1] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/vdr/files/cp...
So I'll mention Henning in the CONTRIBUTORS file then, if that's ok with you.
Signed-off-by: Paul Menzel paulepanter@users.sourceforge.net CC: Henning Heinold heinold@inf.fu-berlin.de
tools.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/tools.h b/tools.h index 95c35ff..1fbe005 100644 --- a/tools.h +++ b/tools.h @@ -17,6 +17,7 @@ #include <iconv.h> #include <math.h> #include <poll.h> +#include <stdarg.h> #include <stddef.h> #include <stdint.h> #include <stdio.h>
The '#include <stdarg.h>' can then also be removed from tools.c, and apparently it's included unnecessarily in osd.c and receiver.c.
Klaus
Am Montag, den 13.12.2010, 00:18 +0100 schrieb Klaus Schmidinger:
On 12.12.2010 23:03, Paul Menzel wrote:
From a94d15b582df5d1464cec8bc7dd68be46e1bf937 Mon Sep 17 00:00:00 2001 From: Paul Menzel paulepanter@users.sourceforge.net Date: Sun, 12 Dec 2010 19:21:25 +0100 Subject: [PATCH] tools.h: include `stdarg.h`
For some reason using uClibc `tools.h` needs to have `stdarg.h` included explicitly. Otherwise it fails with the following error. Using Libc or EGLIBC this error does not surface.
Since tools.h uses va_list you're apparently right. I wonder which one of the other header files tools.h includes pulls in that declaration (apparently unnecessarily).
Sorry I have no idea.
... This change was made by Henning Heinhold when packaging VDR 1.7.10 for OpenEmbedded [1].
[1] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/vdr/files/cp...
So I'll mention Henning in the CONTRIBUTORS file then, if that's ok with you.
That would be fine.
Signed-off-by: Paul Menzel paulepanter@users.sourceforge.net CC: Henning Heinold heinold@inf.fu-berlin.de
tools.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/tools.h b/tools.h index 95c35ff..1fbe005 100644 --- a/tools.h +++ b/tools.h @@ -17,6 +17,7 @@ #include <iconv.h> #include <math.h> #include <poll.h> +#include <stdarg.h> #include <stddef.h> #include <stdint.h> #include <stdio.h>
The '#include <stdarg.h>' can then also be removed from tools.c, and apparently it's included unnecessarily in osd.c and receiver.c.
Good catches.
Thank you for your fast response and analysis,
Paul