[syslinux] (no subject)

gabriele balducci balducci at dschgrazlin2.univ.trieste.it
Mon Jan 3 05:40:42 PST 2005


Hello all,


apologies if my question has an obvious answer or it's too naive (I sent
this directly to Peter with the intent of not chocking the list with
possibly ridicolous questions...).

I just tried to build both syslinux-3.00 and 3.01, with the same bad
result.

Out of the box compilation with:

make depend
make installer

fails with:

...
gcc -Wp,-MT,extlinux.o,-MMD,.extlinux.o.d -W -Wall -Wno-sign-compare -D_FILE_OFFSET_BITS=64 -g -Os -I. -I.. -I../libfat -c -o extlinux.o extlinux.c
extlinux.c: In function `get_size':
extlinux.c:285: error: `BLKGETSIZE64' undeclared (first use in this function)
extlinux.c:285: error: (Each undeclared identifier is reported only once
extlinux.c:285: error: for each function it appears in.)
make[2]: *** [extlinux.o] Error 1
make[2]: Leaving directory `/home/balducci/tmp/install-us-d/syslinux/syslinux-3.01/extlinux'
...

As a matter of fact, I can't grep any BLKGETSIZE64 declaration under my
/usr/include directory tree.

I guess this is due to the fact that my installed kernel headers are
quite old (redhat-7.1, kernel 2.4.2).

However, I keep my kernel up2date: I'm running kernel-2.6.10.

In order to make syslinux use the 2.6.10 headers, I unpack and configure
a kernel-2.6.10 tree. Then, I try to build with:

C_INCLUDE_PATH=/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include
export C_INCLUDE_PATH
make depend
make installer

This time the result is:

...
make[1]: Entering directory `/home/balducci/tmp/install-us-d/syslinux/syslinux-3.01/extlinux'
gcc -Wp,-MT,extlinux.o,-MMD,.extlinux.o.d -W -Wall -Wno-sign-compare -D_FILE_OFFSET_BITS=64 -g -Os -I. -I.. -I../libfat -c -o extlinux.o extlinux.c
In file included from /home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/percpu_counter.h:13,
                 from /home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/ext2_fs_sb.h:20,
                 from /home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/ext2_fs.h:20,
                 from extlinux.c:34:
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/percpu.h: In function `__alloc_percpu':
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/percpu.h:45: error: `GFP_KERNEL' undeclared (first use in this function)
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/percpu.h:45: error: (Each undeclared identifier is reported only once
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/percpu.h:45: error: for each function it appears in.)
In file included from /home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/ext2_fs.h:20,
                 from extlinux.c:34:
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/ext2_fs_sb.h: At top level:
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/ext2_fs_sb.h:49: error: parse error before "u32"
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/ext2_fs_sb.h:51: error: parse error before '*' token
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/ext2_fs_sb.h:56: error: parse error before '}' token
In file included from /home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/fs.h:19,
                 from extlinux.c:37:
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/prio_tree.h:22: error: parse error before "pgoff_t"
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/prio_tree.h:27: error: parse error before "pgoff_t"
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/prio_tree.h: In function `prio_tree_iter_init':
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/prio_tree.h:29: error: `iter' undeclared (first use in this function)
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/prio_tree.h:29: error: `root' undeclared (first use in this function)
/home/balducci/tmp/install-us-d/syslinux/linux-2.6.10/include/linux/prio_tree.h:30: error: `r_index' undeclared (first use in this function)
make[1]: *** [extlinux.o] Error 1
make[1]: Leaving directory `/home/balducci/tmp/install-us-d/syslinux/syslinux-3.01/extlinux'
make: *** [installer] Error 2
...


I seem to understand that the 2.6.10 headers are actually used, but
something is going wrong any way. Trying to satisfy the use of
GFP_KERNEL by including gfp.h (which contains the declaration) in
extlinux.c produces other errors which I did not try to dig into.

I'm certainly not a specialist, but I did keep syslinux up2date from
2.09 to 2.13 without any problem until now and I would like very much to
continue.

So, is there any gross mistake I'm doing? Should I use some other kernel
headers? 

I thank you very much in advance for any hint.

Ciao

Gabriele


-- 
Gabriele Balducci - Dipartimento di Scienze Chimiche - Via L. Giorgieri 1
I-34127 TRIESTE - tel: I-040-5583957 - fax: I-040-5583903
e-mail: balducci at univ.trieste.it




More information about the Syslinux mailing list