Re: (RESOLVED) Make Gateway Errors

Andreas Fink <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
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
> 
>  
> 
>  
> 
>  
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.