lilo-22.5.8 się nie buduje

Jakub Bogusz qboosh w pld-linux.org
Pon, 2 Lut 2004, 21:40:50 CET


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/



Więcej informacji o liście dyskusyjnej pld-devel-pl