Daniel Goering
2009-10-29 15:29:51 UTC
Hi!
I tried to compile systemimager-4.1.6-1.src.rpm on Fedora 11 x86_64 using
rpmbuild --rebuild systemimager-4.1.6-1.src.rpm
The build dies with:
arch/x86/boot/boot.h: Assembler messages:
arch/x86/boot/boot.h:112: Error: bad register name `%dil'
make[2]: *** [arch/x86/boot/video.o] Error 1
make[2]: *** Waiting for unfinished jobs....
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
LD arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
make[1]: *** [bzImage] Error 2
make[1]: Leaving directory
`/root/rpmbuild/BUILD/systemimager-4.1.6/src/linux-2.6.24.2'
make: ***
[/root/rpmbuild/BUILD/systemimager-4.1.6/src/linux-2.6.24.2/arch/x86_64/boot/bzImage]
Error 2
I found the following hints on the web:
http://portabilityblog.com/blog/archives/11-Bad-register-name-dil-or-sil.html
Using the attached patch [dil.patch] I could compile the kernel on my
system.
Then the compilation failed during the link step in
initrd_source/src/sysvinit-2.86.ds1.orig/src and I had to patch the
Makefile [crypt.patch]
Next I had to remove an obsolete header from fsck.cramfs.c [asm.patch]
The step
# Copy over the standard libs. -BEF-
failed, as the lib dir is called lib64 on x84_64
a quick workaround is attached in cp_lib_ld.patch, but this should of
course be dependent on the arch...
tar could not be built due to double linking.
gcc -std=gnu99 -g -O2 -o tar buffer.o compare.o create.o delete.o
extract.o xheader.o incremen.o list.o misc.o names.o sparse.o system.o
tar.o transform.o update.o utf8.o ../lib/libtar.a -lrt
../lib/libtar.a(argp-fmtstream.o): In function `argp_fmtstream_putc':
/root/rpmbuild/BUILD/systemimager-4.1.6/src/tar-1.19/lib/argp-fmtstream.h:233:
multiple definition of `argp_fmtstream_putc'
tar.o:/root/rpmbuild/BUILD/systemimager-4.1.6/src/tar-1.19/src/../lib/argp-fmtstream.h:233:
first defined here
...
../lib/libtar.a(argp-eexst.o): In function `argp_usage':
/root/rpmbuild/BUILD/systemimager-4.1.6/src/tar-1.19/lib/argp.h:589:
multiple definition of `argp_usage'
tar.o:/root/rpmbuild/BUILD/systemimager-4.1.6/src/tar-1.19/src/../lib/argp.h:589:
first defined here
collect2: ld returned 1 exit status
Didn't figure out how to fix this yet, but may be I can look into this
in more detail tomorrow.
Are there plans to create rpms for more recent Fedora or redhat
releases? Should I have a look into the SVN and most of these issues are
already solved in the head version, or is it worth for me to keep on
trying to fix my old initrd template?
Cheers
Daniel
I tried to compile systemimager-4.1.6-1.src.rpm on Fedora 11 x86_64 using
rpmbuild --rebuild systemimager-4.1.6-1.src.rpm
The build dies with:
arch/x86/boot/boot.h: Assembler messages:
arch/x86/boot/boot.h:112: Error: bad register name `%dil'
make[2]: *** [arch/x86/boot/video.o] Error 1
make[2]: *** Waiting for unfinished jobs....
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
LD arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
make[1]: *** [bzImage] Error 2
make[1]: Leaving directory
`/root/rpmbuild/BUILD/systemimager-4.1.6/src/linux-2.6.24.2'
make: ***
[/root/rpmbuild/BUILD/systemimager-4.1.6/src/linux-2.6.24.2/arch/x86_64/boot/bzImage]
Error 2
I found the following hints on the web:
http://portabilityblog.com/blog/archives/11-Bad-register-name-dil-or-sil.html
Using the attached patch [dil.patch] I could compile the kernel on my
system.
Then the compilation failed during the link step in
initrd_source/src/sysvinit-2.86.ds1.orig/src and I had to patch the
Makefile [crypt.patch]
Next I had to remove an obsolete header from fsck.cramfs.c [asm.patch]
The step
# Copy over the standard libs. -BEF-
failed, as the lib dir is called lib64 on x84_64
a quick workaround is attached in cp_lib_ld.patch, but this should of
course be dependent on the arch...
tar could not be built due to double linking.
gcc -std=gnu99 -g -O2 -o tar buffer.o compare.o create.o delete.o
extract.o xheader.o incremen.o list.o misc.o names.o sparse.o system.o
tar.o transform.o update.o utf8.o ../lib/libtar.a -lrt
../lib/libtar.a(argp-fmtstream.o): In function `argp_fmtstream_putc':
/root/rpmbuild/BUILD/systemimager-4.1.6/src/tar-1.19/lib/argp-fmtstream.h:233:
multiple definition of `argp_fmtstream_putc'
tar.o:/root/rpmbuild/BUILD/systemimager-4.1.6/src/tar-1.19/src/../lib/argp-fmtstream.h:233:
first defined here
...
../lib/libtar.a(argp-eexst.o): In function `argp_usage':
/root/rpmbuild/BUILD/systemimager-4.1.6/src/tar-1.19/lib/argp.h:589:
multiple definition of `argp_usage'
tar.o:/root/rpmbuild/BUILD/systemimager-4.1.6/src/tar-1.19/src/../lib/argp.h:589:
first defined here
collect2: ld returned 1 exit status
Didn't figure out how to fix this yet, but may be I can look into this
in more detail tomorrow.
Are there plans to create rpms for more recent Fedora or redhat
releases? Should I have a look into the SVN and most of these issues are
already solved in the head version, or is it worth for me to keep on
trying to fix my old initrd template?
Cheers
Daniel