FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 05-03-2010, 04:44 PM
Sebastian Dröge
 
Default Bug#580088: jack-audio-connection-kit: FTBFS on armel ("cannot convert 'int' to 'va_list'")

On Mon, 2010-05-03 at 18:13 +0200, Adrian Knoth wrote:
> On Mon, May 03, 2010 at 04:00:14PM +0100, Adam D. Barratt wrote:
>
> > ../common/JackAPI.cpp:303: error: cannot convert 'int' to 'va_list'
> > for argument '4' to 'jack_client_t* jack_client_open_aux(const char*,
> > jack_options_t, jack_status_t*, va_list)'
>
> The code in question:
>
> jack_client_open_aux(client_name, (jack_options_t)options, NULL, NULL);
>
> Obviously, arg4 is NULL, so the message means the compiler cannot
> convert 0 to a va_list, which should be (more or less) a pointer. Or at
> least was until some va_list mangling in gcc-4.4.
>
> I don't have a clue: anybody more common with ARM specifics around?

va_list is not an integral type on many architectures, i.e. you can't
pass NULL as va_list. No idea what can be done to get around this... for
copying there's the __va_copy() macro in glibc for exactly the same
reason so maybe there's something similar for an empty va_list.
 
Old 05-03-2010, 04:50 PM
Simon McVittie
 
Default Bug#580088: jack-audio-connection-kit: FTBFS on armel ("cannot convert 'int' to 'va_list'")

On Mon, 03 May 2010 at 18:13:00 +0200, Adrian Knoth wrote:
> Obviously, arg4 is NULL, so the message means the compiler cannot
> convert 0 to a va_list, which should be (more or less) a pointer.

Or a struct, or a platform-specific-object that exists nowhere else in C, or a
piece of cheese, depending. (C makes no guarantees about what va_list means; I
doubt C++ does either.)

Googling for "armel va_list" turns up
https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/527179 which
suggests that va_list is indeed a struct on armel.

> The code in question:
>
> jack_client_open_aux(client_name, (jack_options_t)options, NULL, NULL);

Instead of trying to fake up an empty va_list, why not call the varargs
version, with only the argument terminator in its varargs?

jack_client_open(client_name, (jack_options_t)options, NULL, NULL);

I'm assuming here that jack_client_open_aux is to jack_client_open as
vprintf is to printf, i.e. jack_client_open just calls jack_client_open_aux.

Regards,
S
(who knows very little about armel or JACK)


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20100503165039.GA23351@reptile.pseudorandom.co.uk" >http://lists.debian.org/20100503165039.GA23351@reptile.pseudorandom.co.uk
 
Old 05-03-2010, 05:12 PM
Julien Cristau
 
Default Bug#580088: jack-audio-connection-kit: FTBFS on armel ("cannot convert 'int' to 'va_list'")

On Mon, May 3, 2010 at 18:13:00 +0200, Adrian Knoth wrote:

> On Mon, May 03, 2010 at 04:00:14PM +0100, Adam D. Barratt wrote:
>
> > ../common/JackAPI.cpp:303: error: cannot convert 'int' to 'va_list'
> > for argument '4' to 'jack_client_t* jack_client_open_aux(const char*,
> > jack_options_t, jack_status_t*, va_list)'
>
> The code in question:
>
> jack_client_open_aux(client_name, (jack_options_t)options, NULL, NULL);
>
> Obviously, arg4 is NULL, so the message means the compiler cannot
> convert 0 to a va_list, which should be (more or less) a pointer. Or at
> least was until some va_list mangling in gcc-4.4.
>
va_list is very much not a pointer. It's an opaque type, using it as a
pointer is wrong.

Cheers,
Julien
 

Thread Tools




All times are GMT. The time now is 06:28 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org