axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Mazzaferro" <>
Subject [AXIS2C] on Solaris 10 64bit -Need help finishing util/
Date Sun, 11 Mar 2007 20:47:41 GMT
I'm trying to get axis2c ver .96 building on solaris 10 64bit sparc. I have
identified a two issues with the util/ and have corrected one of
The other how ever is a little more complicated and I don't know how to fix
it. I was hoping some one could direct me.
The Problem:
The test, AC_CHECK_TYPES([struct lifreq]) in fails. The build
of file ./util/src/platforms/unix/uuid_gen_unix.c defaults to Darwin 
Solaris 10 64bit redefines "struct lifreq" as only a 64bits structure,  32
bit programs do not have access to the data structure. Solaris gcc compiler
defaults to 32bit builds, so "struct lifreq" is undefined with the current
util/ To build in 64bit mode, the build environment must have
the "__sparcv9" preprocessor symbol defined. When the AC_CHECK_TYPES([struct
lifreq]) test fails, preprocessor symbol HAVE_STRUCT_LIFREQ is undefined.
This leaves ./util/src/platforms/unix/uuid_gen_unix.c building Darwin code.
See code excerpts on the bottom.:

Using #ifdef HAVE_STRUCT_LIFREQ  may not be the best way to determine the
platform, but that's all good IF the AC_CHECK_TYPES([struct lifreq])  test

I have tried several different ways to get "__sparcv9" preprocessor symbol
defined. I can't seem to get it to show up in config.h and pass the test. 

Please help me !!

>From ./util/src/platforms/unix/uuid_gen_unix.c  line 236 

    #ifdef HAVE_STRUCT_LIFREQ  /* Solaris-ish */
    /* code modified from that posted on:
<> &tstart=30
    char * AXIS2_CALL

>From ./util/src/platforms/unix/uuid_gen_unix.c  line 307 
    # else /* Darwin */   
    #ifndef max
    #define        max(a,b)        ((a) > (b) ? (a) : (b))
    #endif /* !max */
    char * AXIS2_CALL


View raw message