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
--- arch/x86/boot/boot.h~ 2008-02-11 05:51:11.000000000 +0000 +++ arch/x86/boot/boot.h 2009-10-29 14:24:20.000000000 +0000 @@ -109,7 +109,7 @@ static inline u8 rdfs8(addr_t addr) { u8 v; - asm volatile("movb %%fs:%1,%0" : "=r" (v) : "m" (*(u8 *)addr)); + asm volatile("movb %%fs:%1,%0" : "=q" (v) : "m" (*(u8 *)addr)); return v; } static inline u16 rdfs16(addr_t addr)
--- initrd_source/src/sysvinit-2.86.ds1.orig/src/Makefile~ 2009-10-29 14:37:27.000000000 +0000 +++ initrd_source/src/sysvinit-2.86.ds1.orig/src/Makefile 2009-10-29 14:43:38.000000000 +0000 @@ -78,7 +78,7 @@ $(CC) $(LDFLAGS) -o $@ runlevel.o sulogin: sulogin.o - $(CC) $(LDFLAGS) $(STATIC) -o $@ sulogin.o $(LCRYPT) + $(CC) $(LDFLAGS) $(STATIC) -lcrypt -o $@ sulogin.o $(LCRYPT) wall: dowall.o wall.o $(CC) $(LDFLAGS) -o $@ dowall.o wall.o
--- src/util-linux-2.12r/disk-utils/fsck.cramfs.c~ 2009-10-29 14:37:27.000000000 +0000 +++ src/util-linux-2.12r/disk-utils/fsck.cramfs.c 2009-10-29 14:53:30.000000000 +0000 @@ -76,7 +76,6 @@ #define PAD_SIZE 512 -#include <asm/page.h> #ifdef PAGE_SIZE #define PAGE_CACHE_SIZE ((int) PAGE_SIZE) #elif defined __ia64__
--- initrd_source/initrd.rul~ 2007-09-09 08:40:20.000000000 +0000 +++ initrd_source/initrd.rul 2009-10-29 15:05:01.000000000 +0000 @@ -132,7 +132,7 @@ cp -a $(UDPCAST_BINARY) $(INITRD_BUILD_DIR)/bin # Copy over the standard libs. -BEF- - cp -a /lib/ld* $(INITRD_BUILD_DIR)/lib + cp -a /lib64/ld* $(INITRD_BUILD_DIR)/lib test ! -d /lib64 || cp -a /lib64/ld* $(INITRD_BUILD_DIR)/lib64 # Explicitly include more w/mklibs -L. -dawild- ifeq ($(ARCH),x86_64)
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference
_______________________________________________ sisuite-devel mailing list sisuite-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sisuite-devel