[vdr] [PATCH] tools.h: include `stdarg.h` to fix `error: 'va_list' has not been declared` with uClibc

Paul Menzel paulepanter at users.sourceforge.net
Sun Dec 12 23:03:57 CET 2010


From a94d15b582df5d1464cec8bc7dd68be46e1bf937 Mon Sep 17 00:00:00 2001
From: Paul Menzel <paulepanter at 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/cplusplus.patch

Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
CC: Henning Heinold <heinold at 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>
-- 
1.7.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://www.linuxtv.org/pipermail/vdr/attachments/20101212/39902904/attachment.pgp>


More information about the vdr mailing list