Re: [Exim] Exim 4.31 Solaris compile problem

Pàgina inicial
Delete this message
Reply to this message
Autor: Andrew Gay
Data:  
A: exim-users
Assumpte: Re: [Exim] Exim 4.31 Solaris compile problem
Philip Hazel wrote:
>
> On Wed, 21 Apr 2004, Andrew Gay wrote:
>
> > I'm having trouble building exim 4.31 on a fairly old Solaris 2.5.1 box.
>
> I have not been able to test exim on 2.5.1 for several years now.
> In effect, support for it is not longer guaranteed, I'm afraid.
>
> > In file included from os.c:2:
> > ../src/os.c:376: union has no member named `ui32'
> > *** Error code 1
>
> > This has me baffled, as there is no mention of 'ui32' in os.c (or anywhere
> > else I looked).
>
> Line 376 is
>
> avg = (int)(((double)(kn->LOAD_AVG_FIELD)/FSCALE) * 1000.0);
>
> so the problem is in the definition of LOAD_AVG_FIELD. A grep in the OS
> source directory shows
>
> OS/os.h-SunOS5:#define LOAD_AVG_FIELD          value.ui32

>
> so that is what you'll have to change. What to change it to? The
> variable kn is defined as
>
> kstat_named_t *kn;
>
> so you'll have to grep around /usr/include to find out what the fields
> in the kstat_named_t structure are called. It might just be "value.int".
>


Many thanks Philip! It's actually "value.ul", defined in
/usr/include/sys/kstat.h (on Solaris 2.5.1). It is also defined in the
same include file in Solaris 2.6, but with a comment that says the member
is obsolete. In Solaris 7 the "ul" member is gone altogether.


Andrew Gay                      Tadpole Technology
Software Developer              Waterloo House
                                Waterloo Street
phone: +44 117 946 4993         Clifton
fax:   +44 117 923 8834         Bristol BS8 4BT UK