i386ld locore.o 40: can't allocate section .bss into owner KV_loads
i386ld locore.o 40: illegal operator in expression
ERROR: Can not link-edit unix
idbuild: idmkunix had errors.
System build failed.
I had risen the semafore values like this:
SEMMNI 15
SEMMNU 800
SHMMAX 100663296
SEMMNS 800
SEMUME 800
SEMMSL 800
I use a micronetics database called mumps and we are 160 users working
active in the system.
/Jakob Harrysson
So what happens when you go back to the old values ?
Check which value exceeds the maximum allowed value (mtune).
The last two would be far too high for my UnixWare system.
Regards
Frank
These settings change the sizes of arrays in
/etc/conf/pack.d/sem/space.c:
struct semid_ds sema[SEMMNI] ;
struct sem sem[SEMMNS] ;
int semu[((16+8*SEMUME)*SEMMNU+NBPW-1)/NBPW] ;
The sizes of these structures are 20, 8 and 4 bytes each. So we have:
struct semid_ds sema[SEMMNI] ;
20 * 15 = 300 bytes
struct sem sem[SEMMNS] ;
8 * 800 = 6400 bytes
int semu[((16+8*SEMUME)*SEMMNU+NBPW-1)/NBPW] ;
4 * (((16+8*800)*800+NBPW-1)/NBPW)
NBPW is 4 (sys/param.h):
4 * (((16+8*800)*800+4-1)/4) =
4 * ((6416 *800+4-1)/4) =
4 * (( 5132800 +4-1)/4) =
4 * (( 5132803 )/4) =
5132800
You're asking for a semu[] array that's 5132800 bytes large.
The OpenServer kernel's total text + data + bss size is limited to
8128KiB, or 8323072 bytes. Having just increased its size by about 5
million, you've exceeded that limit.
You can have 800 SEMUME, or 800 SEMMNU, but not both. Find out what
your database actually needs instead of raising every parameter you can
find.
>Bela<
--
/Jakob Harrysson
"Bela Lubkin" <be...@caldera.com> skrev i meddelandet
news:2003012822...@mammoth.ca.caldera.com...