[syslinux] 3.62-pre16: Compiling on old (2.4 kernel) distros

Gabor Z. Papp gzp at papp.hu
Mon Feb 25 22:53:36 PST 2008


* "H. Peter Anvin" <hpa at zytor.com>:

| I have put a compile hack in for older distros and pushed it out as 
| syslinux-3.62-pre16; for those who have reported compilation problem on 
| older distros I would greatly appreciate if you could confirm if it 
| works now (it worked for me on a CentOS 3.9 VM.)

Compiled fine, thanks for the fix.

One thing that seems to me like broken since several releases is the
CC variable in the toplevel Makefile. If set to gcc-3.4.6 then the
make output looks like this:

Makefile:266: .depend: No such file or directory
rm -f .depend
for csrc in gethostip.c ; do gcc-3.4.6  -MM $csrc >> .depend ; done
for nsrc in copybs.asm extlinux.asm isolinux-debug.asm isolinux.asm
ldlinux.asm pxelinux.asm ; do nasm -DDEPEND
set -e ; for i in mbr  ; do make DATE=0x47c39fbb HEXDATE=0x47c39fbb -C
$i all ; done
make[1]: Entering directory `/home/gzp/src/syslinux-3.62-pre16/mbr'
gcc -m32 -ffreestanding -fno-stack-protector -march=i386
-Wa,-a=mbr.lst -c -o mbr.o mbr.S
ld -m elf_i386 -T mbr.ld -e _start -o mbr.elf mbr.o
objcopy -O binary mbr.elf mbr.bin
perl checksize.pl mbr.bin 440
make[1]: Leaving directory `/home/gzp/src/syslinux-3.62-pre16/mbr'
make DATE=0x47c39fbb HEXDATE=0x47c39fbb all-local
make[1]: Entering directory `/home/gzp/src/syslinux-3.62-pre16'
nasm -O9999 -f bin -DDATE_STR="'0x47c39fbb'" -DHEXDATE="0x47c39fbb" \
                -DMAP=pxelinux.map -l pxelinux.lsr -o pxelinux.bin
                pxelinux.asm
perl lstadjust.pl pxelinux.lsr pxelinux.map pxelinux.lst
perl checkov.pl pxelinux.map pxelinux.bin
cp pxelinux.bin pxelinux.0
gcc-3.4.6  -W -Wall -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -c
gethostip.c
gcc-3.4.6 -O2 -s -Wl,--hash-style=both -o gethostip gethostip.o
perl bin2hex.pl < mbr/mbr.bin | cat mkdiskimage.in - > mkdiskimage
chmod a+x mkdiskimage
perl bin2c.pl syslinux_bootsect < ldlinux.bss > bootsect_bin.c
perl bin2c.pl syslinux_ldlinux < ldlinux.sys > ldlinux_bin.c
perl bin2c.pl syslinux_mbr < mbr/mbr.bin > mbr_bin.c
perl bin2c.pl extlinux_bootsect < extlinux.bss > extlinux_bss_bin.c
perl bin2c.pl extlinux_image 512 < extlinux.sys > extlinux_sys_bin.c
make[1]: Leaving directory `/home/gzp/src/syslinux-3.62-pre16'
set -e ; for i in memdisk memdump dos win32 mtools unix extlinux
sample com32 ; do make DATE=0x47c39fbb HEXDATE=0
make[1]: Entering directory
`/home/gzp/src/syslinux-3.62-pre16/memdisk'
Makefile:128: .depend: No such file or directory
rm -f .depend
for csrc in *.c ; do gcc -I../com32/include -m32 -ffreestanding
-fno-stack-protector -g -W -Wall -Wno-sign-compar
for ssrc in *.S ; do gcc -I../com32/include -m32 -march=i386
-D__ASSEMBLY__ -MM $ssrc >> .depend ; done
for nsrc in memdisk.asm memdisk16.asm ; do nasm -DDEPEND  -o `echo
$nsrc | sed -e 's/\.asm/\.bin/'` -M $nsrc >> .
make[1]: Leaving directory `/home/gzp/src/syslinux-3.62-pre16/memdisk'
make[1]: Entering directory
`/home/gzp/src/syslinux-3.62-pre16/memdisk'
nasm -f bin -O9999 -dVERSION='"3.62"' -dDATE='"0x47c39fbb"' -dWITH_EDD
-o memdisk16.bin -l memdisk16.lst memdisk
gcc -I../com32/include -m32 -march=i386 -D__ASSEMBLY__ -c -o start32.o start32.S
[...]

Since this point there is no more gcc-3.4.6 in the log, assuming make
is using gcc what is 4.2.3.




More information about the Syslinux mailing list