On Mon, Feb 02, 2004 at 09:23:40PM +0100, Grzegorz Goławski wrote: > Cześć, > > lilo-22.5.8 nie buduje się z najnowszymi glibc-kernel-headers: > > athlon-pld-linux-gcc -c -O2 -march=athlon -Wall -g -DLILO=0x16c2d41b ` > ( if [ -r $ROOT/etc/lilo.defines ]; then cat $ROOT/etc/lilo.defines; > else echo -DBDATA -DDSECS=3 -DEVMS -DIGNORECASE -DLVM -DONE_SHOT - > DPASS160 -DREISERFS -DREWRITE_TABLE -DSOLO_CHAIN -DVERSION -DVIRTUAL; > fi ) | sed 's/-D/-DLCF_/g'` geometry.c > geometry.c: In function `lvm_bmap': > geometry.c:438: error: subscripted value is neither array nor pointer > geometry.c:450: error: subscripted value is neither array nor pointer > make: *** [geometry.o] Błąd 1 > błąd: Błędny status wyjścia z /var/tmp/rpm-tmp.5035 (%build) > > Wyguglałem, że w debianie przy nagłówkach jajka 2.6 był też taki sam > błąd. Z dyskusji wynika, że lilo wymaga nagłówków z jajka 2.4, więc może > jakiś spec od gkh przyjżałby się temu i dodał potrzebne rzeczy do > naszych nagłówków? > > Link do dyskusji: > http://lists.debian.org/debian-glibc/2003/debian-glibc-200311/msg00087. > html
To nie tak. lilo nie używa nagłówka <linux/lvm.h> (którego w 2.6 nie ma), ma własne definicje tych ioctl-i. Tyle że zwalone dokładnie tak samo jak oryginalne z Linuksa 2.4. Poprawka na geometry.c (z uwzględnieniem bug-compatibility - inaczej by nie działało na 2.4): #ifndef LV_BMAP -#define LV_BMAP _IOWR(0xfe, 0x30, 1) +#define LV_BMAP _IOWR(0xfe, 0x30, int) #endif #ifndef LVM_GET_IOP_VERSION -#define LVM_GET_IOP_VERSION _IOR(0xfe, 0x98, 1) +#define LVM_GET_IOP_VERSION _IOR(0xfe, 0x98, int) #endif #endif (jako że sizeof(1) == sizeof(int)) -- Jakub Bogusz http://cyber.cs.net.pl/~qboosh/ __________________________________________________________ nie pytaj co inni zrobili dla pld, pomysl ile sam zrobiles
