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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From a94d15b582df5d1464cec8bc7dd68be46e1bf937 Mon Sep 17 00:00:00 2001
From: Paul Menzel <paulepanter@xxxxxxxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxxxxxxxxx>
CC: Henning Heinold <heinold@xxxxxxxxxxxxxxxx>
---
 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

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux