Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: syslinux: users

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

 

 

syslinux users RSS feed   Index | Next | Previous | View Threaded


hpa at zytor

Feb 25, 2008, 9:14 PM

Post #1 of 4 (6991 views)
Permalink
3.62-pre16: Compiling on old (2.4 kernel) distros

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.)

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX [at] zytor
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.


gzp at papp

Feb 25, 2008, 10:53 PM

Post #2 of 4 (6683 views)
Permalink
Re: 3.62-pre16: Compiling on old (2.4 kernel) distros [In reply to]

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

| 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.

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX [at] zytor
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.


hpa at zytor

Feb 25, 2008, 11:05 PM

Post #3 of 4 (6665 views)
Permalink
Re: 3.62-pre16: Compiling on old (2.4 kernel) distros [In reply to]

Gabor Z. Papp wrote:
> * "H. Peter Anvin" <hpa [at] zytor>:
>
> | 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:

You can't really override it by changing the toplevel makefile.

You should be able to override it on the command line, however:

make CC=gcc-3.4.6

-hpa

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX [at] zytor
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.


g.esp at free

Feb 26, 2008, 2:00 PM

Post #4 of 4 (6664 views)
Permalink
Re: 3.62-pre16: Compiling on old (2.4 kernel) distros [In reply to]

----- Original Message -----
From: "H. Peter Anvin" <hpa [at] zytor>
To: "SYSLINUX mailing list" <syslinux [at] zytor>
Sent: Tuesday, February 26, 2008 6:14 AM
Subject: [syslinux] 3.62-pre16: Compiling on old (2.4 kernel) distros


> 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.)
>
Using linux-2.4.36.1 vanilla kernel, gcc-3.3.1 uClibc with
make clean
make installer
It compile fine and with no warning (gcc-3.3.1) until
gcc -o extlinux extlinux.o setadv.o extlinux_bss_bin.o extlinux_sys_bin.o
make[2]: Leaving directory `/usr/src/syslinux-3.62-pre16/extlinux'
make[2]: Entering directory `/usr/src/syslinux-3.62-pre16/sample'
pngtopnm syslogo.png | \
../ppmtolss16 \#000000=0 \#d0d0d0=7 \#f6f6f6=15 \
> syslogo.lss
/bin/sh: line 1: pngtopnm: command not found

Using with nasm-0.98.39
make clean
make
there is only this warning twice
In file included from stdio.h:5,
from argv.c:37:
stdlib.h:7: warning: redefinition of `size_t'
/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.3/include/stddef.h:213: warning:
`size_t' previously declared here

Then it similary fail because pngtopnm is not available.


Using one sed to not depend on pngtopnm,
sed -i -e 's/all: syslogo.lss /all: /' sample/Makefile
compilation is successfull but there is some compilation warnings.

Gilles

_______________________________________________
SYSLINUX mailing list
Submissions to SYSLINUX [at] zytor
Unsubscribe or set options at:
http://www.zytor.com/mailman/listinfo/syslinux
Please do not send private replies to mailing list traffic.

syslinux users RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.