Well, I am slowly getting through it on RHEL3, too. Managed to compile on x86_64, i386 and ia64. Main patches are attached.
On Friday 08 July 2005 19:02, Bernard Li wrote: > glibc-2.3.4-2 > glibc-common-2.3.4-2 > glibc-2.3.4-2 > glibc-kernheaders-2.4-9.1.87 > glibc-devel-2.3.4-2 > glibc-headers-2.3.4-2 I also get the debuginfo stuff generated, I was wrong. Some rpmbuild macros do this. I disabled the check in the SPEC file for now. > BTW, if it helps, I was able to rebuild my SRPM on Fedora Core 2. I > have tweaked it a bit since, because I realize that after I update zlib > to 1.2.2, I no longer need to have the -fPIC flag (I guess configure is > smart enough to figure that out in the updated version). I have updated > my SRPM in case you want to try it again... I'm quite sure you're picking up stuff from FC2 libraries where you actually did compile packages for. This is what a "lean" distro like RHEL3 is showing. The patches attached fix most of the problems (I hope). Additionally I updated to kernel 2.6.10 for ia64 and x86_64. Then I included all the SATA drivers. This should work now. (The config files are pretty big, I'll post them separatately). Unfortunately on RHEL3 doesn't seem to work properly with the 2.6.10 kernel, so the dependencies are wrong, therefore in the autoinstall script (of OSCAR) ext3 load fails, because the dependeing modules mbcache and jbd aren't loaded automatically. Better the Makefile calls the self-compiled depmod here... Regards, Erich
--- initrd_source/initrd.rul 2005-06-26 13:44:26.000000000 +0200 +++ /home/focht/changes_sim-3.5.2/initrd.rul 2005-07-08 18:55:05.000000000 +0200 @@ -151,11 +151,18 @@ cp -a /lib/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) + ( cd $(INITRD_BUILD_DIR) && \ + $(PYTHON) $(INITRD_DIR)/mklibs -L /lib64:/usr/lib64:/lib:/usr/lib -v -d lib64 ./*bin/* ) + # copy libnss files as they are not automatically included + cp -a /lib64/libnss_dns* $(INITRD_BUILD_DIR)/lib64 +else ( cd $(INITRD_BUILD_DIR) && \ $(PYTHON) $(INITRD_DIR)/mklibs -L /lib:/usr/lib:/lib64:/usr/lib64 -v -d lib ./*bin/* ) # copy libnss files as they are not automatically included cp -a /lib/libnss_dns* $(INITRD_BUILD_DIR)/lib endif +endif # Strip 'em. -BEF- strip $(INITRD_BUILD_DIR)/bin/*
--- make.d/lvm.rul 2005-06-26 13:44:21.000000000 +0200 +++ /home/focht/changes_sim-3.5.2/lvm.rul 2005-07-08 18:54:55.000000000 +0200 @@ -9,10 +9,10 @@ # -DEVMAPPER_VERSION := 1.00.21 +DEVMAPPER_VERSION := 1.01.02 DEVMAPPER_DIR := device-mapper.$(DEVMAPPER_VERSION) DEVMAPPER_TARBALL := device-mapper.$(DEVMAPPER_VERSION).tgz -DEVMAPPER_URL := ftp://sources.redhat.com/pub/dm/old/device-mapper.1.00.21.tgz +DEVMAPPER_URL := ftp://sources.redhat.com/pub/dm/old/device-mapper.$(DEVMAPPER_VERSION).tgz DEVMAPPER_BINARY := $(SRC_DIR)/$(DEVMAPPER_DIR)/lib/ioctl/libdevmapper.so MKLIBS += $(SRC_DIR)/$(DEVMAPPER_DIR)/lib/ioctl @@ -30,6 +30,7 @@ cd $(SRC_DIR)/$(DEVMAPPER_DIR) && \ ./configure --prefix=/usr --disable-nls --with-optimisation=-Os $(MAKE) -C $(SRC_DIR)/$(DEVMAPPER_DIR) + ln -s $(DEVMAPPER_BINARY) $(DEVMAPPER_BINARY).$(basename $(DEVMAPPER_VERSION)) $(SRC_DIR)/$(DEVMAPPER_TARBALL): [ -d $(SRC_DIR) ] || mkdir -p $(SRC_DIR)
--- make.d/kernel.rul 2005-06-26 13:44:21.000000000 +0200 +++ /home/focht/changes_sim-3.5.2/kernel.rul 2005-07-08 18:54:55.000000000 +0200 @@ -17,7 +17,7 @@ endif ifeq ($(ARCH),ia64) - LINUX_VERSION = 2.6.9 + LINUX_VERSION = 2.6.10 LINUX_URL = http://www.kernel.org/pub/linux/kernel/v2.6/$(LINUX_TARBALL) LINUX_IMAGE = $(LINUX_SRC)/vmlinux.gz LINUX_TARGET = compressed @@ -41,7 +41,7 @@ endif ifeq ($(ARCH),x86_64) - LINUX_VERSION = 2.6.7 + LINUX_VERSION = 2.6.10 LINUX_URL = http://www.kernel.org/pub/linux/kernel/v2.6/$(LINUX_TARBALL) LINUX_IMAGE = $(LINUX_SRC)/arch/x86_64/boot/bzImage LINUX_TARGET = bzImage
--- Makefile 2005-06-26 13:44:26.000000000 +0200 +++ /home/focht/changes_sim-3.5.2/Makefile 2005-07-08 19:03:18.000000000 +0200 @@ -144,7 +144,12 @@ # is userspace 64bit USERSPACE64 := 0 ifeq ($(ARCH),ia64) - USERSPACE64 :=1 + USERSPACE64 := 1 +endif + +USERSPACE64 := 0 +ifeq ($(ARCH),x86_64) + USERSPACE64 := 1 endif ifneq ($(BUILD_ARCH),) @@ -565,11 +570,13 @@ endif ifeq ($(USERSPACE64),1) + TGTDIR=/lib ; \ + test -d /lib64 && TGTDIR=/lib64 ; \ cd $(BOEL_BINARIES_DIR) \ - && $(PYTHON) $(TOPDIR)/initrd_source/mklibs -L /lib64:/usr/lib64:$(SRC_DIR)/$(PARTED_DIR)/libparted/.libs:/usr/kerberos/lib:$(SRC_DIR)/$(DISCOVER_DIR)/lib/.libs -v -d lib bin/* sbin/* + && $(PYTHON) $(TOPDIR)/initrd_source/mklibs -L $(SRC_DIR)/$(PARTED_DIR)/libparted/.libs:$(SRC_DIR)/$(DISCOVER_DIR)/lib/.libs:$(SRC_DIR)/$(DEVMAPPER_DIR)/lib/ioctl:$(SRC_DIR)/$(E2FSPROGS_DIR)/lib:/lib64:/usr/lib64:/usr/kerberos/lib64:/lib:/usr/lib:/usr/kerberos/lib -v -d $$TGTDIR bin/* sbin/* else cd $(BOEL_BINARIES_DIR) \ - && $(PYTHON) $(TOPDIR)/initrd_source/mklibs -L /lib:/usr/lib:$(SRC_DIR)/$(PARTED_DIR)/libparted/.libs:/usr/kerberos/lib:$(SRC_DIR)/$(DISCOVER_DIR)/lib/.libs -v -d lib bin/* sbin/* + && $(PYTHON) $(TOPDIR)/initrd_source/mklibs -L $(SRC_DIR)/$(PARTED_DIR)/libparted/.libs:/usr/kerberos/lib:$(SRC_DIR)/$(DISCOVER_DIR)/lib/.libs:$(SRC_DIR)/$(DEVMAPPER_DIR)/lib/ioctl:$(SRC_DIR)/$(E2FSPROGS_DIR)/lib:/lib:/usr/lib -v -d lib bin/* sbin/* endif # # Include other files required by openssh that apparently aren't
--- make.d/zlib.rul 2005-06-26 13:44:21.000000000 +0200 +++ /home/focht/changes_sim-3.5.2/zlib.rul 2005-07-08 18:54:55.000000000 +0200 @@ -1,4 +1,4 @@ -ZLIB_VERSION := 1.1.4 +ZLIB_VERSION := 1.2.2 ZLIB_DIR := zlib-$(ZLIB_VERSION) ZLIB_TARBALL := zlib-$(ZLIB_VERSION).tar.gz ZLIB_URL := http://www.zlib.net/$(ZLIB_TARBALL) @@ -19,7 +19,8 @@ # So, we just do it twice... ( cd $(SRC_DIR)/$(ZLIB_DIR) && ./configure) $(MAKE) -C $(SRC_DIR)/$(ZLIB_DIR) - ( cd $(SRC_DIR)/$(ZLIB_DIR) && ./configure --shared) + ( cd $(SRC_DIR)/$(ZLIB_DIR) && rm -f *.o) + ( cd $(SRC_DIR)/$(ZLIB_DIR) && CXXFLAGS="$CXXFLAGS -fPIC" ./configure --shared) $(MAKE) -C $(SRC_DIR)/$(ZLIB_DIR) # download the zlib tarball