Kannel on AIX

Vincent CHAVANIS v.chavanis at telemaque.fr
Tue Jul 1 12:10:05 CEST 2008


Yeah, i'm also suprised !!!
(X25 is dead, long live TCP/IP ! )=)

The EMI patch looks good but, we need to check if everything goes fine 
in changing speed.


<!--

     ret = tcsetattr(fd, TCSANOW, &tios);
     if (ret == -1) {
         error(errno, "EMI[X25]: at_dial: fail to set termios attribute");
     }

-->


Andreas Fink a écrit :
> so theres still people using X.25 with EMI UCP ;-)
> I'm surprised...
> 
> On 01.07.2008, at 11:16, Bostock James wrote:
> 
>> Hi,
>>
>> I am trying to get Kannel 1.4.1 to compile and run on AIX 5.2 using 
>> gcc 4.0 and libxml2 2.6.23. To do so, I had to make two small changes 
>> to the source code:
>>
>>
>> --- gateway-1.4.1.orig/gw/smsc/smsc_emi_x25.c   2005-02-11 
>> 15:35:48.000000000 +0000
>> +++ gateway-1.4.1/gw/smsc/smsc_emi_x25.c        2008-07-01 
>> 08:51:47.000000000 +0100
>> @@ -496,8 +496,17 @@
>>
>>     /* The speed initialisation is pretty important. */
>>     tcgetattr(fd, &tios);
>> +/* Choose the fastest speed available (assuming at least 38400 baud).
>> +*/ #if defined(B115200)
>>     cfsetospeed(&tios, B115200);
>>     cfsetispeed(&tios, B115200);
>> +#elif defined(B57600)
>> +    cfsetospeed(&tios, B57600);
>> +    cfsetispeed(&tios, B57600);
>> +#elif defined(B38400)
>> +    cfsetospeed(&tios, B38400);
>> +    cfsetispeed(&tios, B38400);
>> +#endif
>>     kannel_cfmakeraw(&tios);
>>     tios.c_cflag |= (HUPCL | CREAD | CRTSCTS);
>>     tcsetattr(fd, TCSANOW, &tios);
>>
> 
> that patch makes sense.
> 
> 
>> And
>>
>>
>> --- gateway-1.4.1.orig/gw/smsc/smsc_soap.c      2005-09-19 
>> 23:07:33.000000000 +0100
>> +++ gateway-1.4.1.gcc/gw/smsc/smsc_soap.c       2008-07-01 
>> 09:20:56.000000000 +0100
>> @@ -223,7 +223,9 @@
>> /* useful macros go here (some of these were ripped of other modules,
>>    so maybe its better to put them in a shared file) */
>> #define        O_DESTROY(a)    { if(a) octstr_destroy(a); a=NULL; }
>> +#if !defined(__64BIT__)
>> typedef long long int64;
>> +#endif
> 
> 
> wouldn't the following be more appropriate:
> 
> #if !defined(int64)
> typedef int64_t int64
> #endif
> 
> 
> ?
> 
>> /*
>>  * SOAP module public API towards bearerbox
>>
>>
>> This second change is questionable but indicates the problem: when 
>> compiling in 64 bit mode, AIX already defines int64.
>>
>> I am fairly sure that B38400 can be assumed to be defined but you 
>> could extend the patch to check for lower baud rates.
>>
>> I also tried building using the native AIX compiler which, in addition 
>> to the above changes, requires that all the C++-style comments be 
>> converted to C-style comments (there's probably a compiler switch that 
>> allows C++-style comments but by default they are rejected).
>>
>> The build system assumes gcc (for the generation of include 
>> dependencies via the -MM option) which is unfortunate.
> 
> so the ./configure option --disable-depenency-tracking should be set for 
> AIX...
> 
> 
> 
> 
> 

-- 
Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
Service Technique/Reseau - NOC
Direction du Developpement xMS+
http://www.telemaque.fr/
v.chavanis at telemaque.fr
Tel : +33 4 92 90 99 84 (fax 9142)




More information about the devel mailing list