that doesn't necessary mean it will work... va_args are sometimes passed by 
value, sometimes passed by reference. it depends on the OS.


On 20.08.2012, at 23:46, Michael Black <[email protected]> wrote:

> Thanks to Andreas and Rene for helping me fix this error:
> 
> When I tried Rene's suggestion, i got an error similar to the original one. I 
> tried to make 'args' pass by reference when eval'd in the if statement, and 
> now it works:
> 
> gwlib/log.c:434
>      if (arg == NULL)   //orig 
>      if (&args == NULL) {  //corrected
> 
> Sorry for wasting your time
> 
> Gratefully,
> 
> Mike
> 
> On Aug 20, 2012 4:18 PM, "Rene Kluwen" <[email protected]> wrote:
> I am not into this stuff at all.
> 
> But what if you change line 434 to:
> 
>  
> 
> if ((void *)args == NULL)
> 
>  
> 
> Probably you will run into other errors as well. But if this is the only 
> thing, here goes.
> 
>  
> 
> == Rene
> 
>  
> 
> From: [email protected] [mailto:[email protected]] On 
> Behalf Of Michael Black
> Sent: Monday, 20 August, 2012 20:41
> To: [email protected]
> Subject: Fwd: Re: Make Gateway Errors
> 
>  
> 
> Hello to all,
> 
> I was working with Andreas regarding an error i received while attempting to 
> make Kannel 1.4. I am using ubuntu maverick, 2.6.32.21. I followed the 
> instructions in the online READM. All correspondence is forwarded, below.
> 
> ---------- Forwarded message ----------
> From: "Michael Black" <[email protected]>
> Date: Aug 20, 2012 11:29 AM
> Subject: Re: Make Gateway Errors
> To: "Andreas Fink" <[email protected]>
> 
> 
> Also, im using ubuntu maverick
> 
> So you should be getting the stdarg.h any minute now...you said it was an 
> easy fix? Im guessing it wasnt as easy as editing a few lines of stdarg.h, eh?
> 
> I scanned some of the source so (as far as i know), i cant be rid of 
> kannel_syslog, and in the gwlib/log.c it uses it extensively, so you didnt 
> comment anything out in the log.c, right?
> 
> Honestly, i really appreciate your help!
> 
> On Aug 20, 2012 11:13 AM, "Andreas Fink" <[email protected]> wrote:
> 
> I've run into this problem when porting gwlib to another platform. it has to 
> do with how the system deals with standard arguments. on some va-list is a 
> pointer, on others its some kind of struct etc.
> 
> I dont remember exactly how I solved it but its realtively easy to do. And 
> actually I thought configure does it but apparently it doesnt
> 
>  
> 
> On 20.08.2012, at 17:05, Michael Black <[email protected]> wrote:
> 
> 
> 
> 
> Also, i followed the instructions in the README 
> http://www.kannel.org/download/1.4.3/README-1.4.3
> 
> ./configure
> touch .depend 
> make depend 
> make (stuck here)
> 
> On Aug 20, 2012 10:57 AM, "Michael Black" <[email protected]> wrote:
> 
> # uname -a
> Linux localhost 2.6.32.21-gd2764ed #1 PREEMPT Tue Oct 26 16:04:03 CST 2010 
> armv7l GNU/Linux
> 
> On Aug 20, 2012 10:09 AM, "Andreas Fink" <[email protected]> wrote:
> 
> what OS are you using?
> 
>  
> 
> On 20.08.2012, at 16:08, Michael Black <[email protected]> wrote:
> 
> 
> 
> 
> Yeah, i ran ./configure the first time, i then removed the *.o's/linkeds and 
> ran make again but im getting the same error
> 
> On Aug 20, 2012 9:15 AM, "Andreas Fink" <[email protected]> wrote:
> 
> did you run ./configure ?
> 
> I've compiled kannel on Linux ARM before (on a pandaboard running Ubuntu) and 
> had no problem with it.
> 
> ./configure checks for various va_list variants. 
> 
>  
> 
> On 20.08.2012, at 15:12, Michael Black <[email protected]> wrote:
> 
> 
> 
> 
> Hello.
> 
> I am currently trying to build kannel from source (on arm, if i wasnt then 
> I'd use the i386 binary). However, make says there's an error:
> 
> gwlib/log.c: 434: error: invalid operations to binary == (have 'va_list' and 
> 'void *')
> 
> Line 434 is '(if args == NULL)'
> Excert below:
> 
> static void PRINTFLIKE(1,0) kannel_syslog(char *format, va_list args, int 
> level)
> {
>     char buf[4096]; /* Trying to syslog more than 4K could be bad */
>     int translog;
> 
>     if (level >= sysloglevel && dosyslog) {
>         if (args == NULL) {
>             strncpy(buf, format, sizeof(buf));
>             buf[sizeof(buf) - 1] = '\0';
>         } else {
>             vsnprintf(buf, sizeof(buf), format, args);
>             /* XXX vsnprint not 100% portable */
>         }
> 
>         switch(level) {
>         case GW_DEBUG:
>             translog = LOG_DEBUG;
>             break;
>         case GW_INFO:
>             translog = LOG_INFO;
>             break;
>         case GW_WARNING:
>             translog = LOG_WARNING;
>             break;
>         case GW_ERROR:
>             translog = LOG_ERR;
>             break;
>         case GW_PANIC:
>             translog = LOG_ALERT;
>             break;
>         default:
>             translog = LOG_INFO;
>             break;
>         }
>         syslog(translog, "%s", buf);
>     }
> }
> 
> ---------- Forwarded message ----------
> From: "Michael Black" <[email protected]>
> Date: Aug 19, 2012 1:46 PM
> Subject: Make Gateway Errors
> To: <[email protected]>
> 
> 
> Hello,
> 
> I am currently attempting to build kannel from source; however, make says 
> there's an error:
> 
> gwlib/log.c:434 error: invalid operations to binary == (have 'va_list' and 
> 'void *')
> 
> if (level >= sysloglevel && dosyslog) {
>         if (args == NULL) {
>             strncpy(buf, format, sizeof(buf));
>             buf[sizeof(buf) - 1] = '\0';
>         } else {
>             vsnprintf(buf, sizeof(buf), format, args);
>             /* XXX vsnprint not 100% portable */
>         }
> 
>         switch(level) {
>         case GW_DEBUG:
> 
> Whats wrong?
> 
> Mark
> 
>  
> 
>  
> 
>  
> 

Reply via email to