So, the binary from unstable doesn't appear to work on a standard
lenny (I just installed one from scratch in a container
just for this purpose):

# raidutil 
raidutil: /emul/ia32-linux/lib/libgcc_s.so.1: version `GCC_4.2.0' not found 
(required by /emul/ia32-linux/usr/lib/libstdc++.so.6)

This is caused by bug #499786. I'm not sure if that will be fixed
soon, so I've created a work-around.

The first thing I noticed when building raidutils-0.6.6-8 under lenny:

# apt-get install debhelper autoconf linux-kernel-headers libc6-dev-i386 
g++-multilib
Package linux-kernel-headers is a virtual package provided by:
  linux-libc-dev 2.6.26-5
You should explicitly select one to install.
E: Package linux-kernel-headers has no installation candidate

If I fix that by installing linux-libc-dev manually, I can start
to compile which fails with:

$ debian/rules build
dh_testdir
[...]
checking whether the C++ compiler works... configure: error: cannot run C++ 
compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
make: *** [config.status] Error 1

And that's because of bug # 499786 .

This can be worked around by adding -static/-all-static to LDFLAGS
(see patch, -all-static is a libtool thing) for the amd64
case in debian/rules.

Suggested patch attached. I'm a little fuzzy on the policy here,
I'm not sure if in this case you should upload to unstable,
testing-proposed-updates, or both. Perhaps
[EMAIL PROTECTED] can be of assistence.

Mike.
diff -ruN raidutils-0.0.6.b4/debian/changelog raidutils-0.0.6/debian/changelog
--- raidutils-0.0.6.b4/debian/changelog	2008-09-22 13:09:04.000000000 +0200
+++ raidutils-0.0.6/debian/changelog	2008-09-22 13:27:37.000000000 +0200
@@ -1,3 +1,11 @@
+raidutils (0.0.6-9) unstable; urgency=high
+
+  * Compile with -static because lib32gcc1 is broken (see bug #499786)
+  * Build-depend on linux-libc-dev instead of linux-kernel-headers
+  * This should also go into testing (lenny)
+
+ -- Patch Submitter <[EMAIL PROTECTED]>  Mon, 22 Sep 2008 12:12:50 +0200
+
 raidutils (0.0.6-8) unstable; urgency=low
 
   * Include amd64 plus all 32-bit (4-byte pointer) architectures listed in
diff -ruN raidutils-0.0.6.b4/debian/control raidutils-0.0.6/debian/control
--- raidutils-0.0.6.b4/debian/control	2008-09-22 13:09:04.000000000 +0200
+++ raidutils-0.0.6/debian/control	2008-09-22 12:13:27.000000000 +0200
@@ -2,7 +2,7 @@
 Section: admin
 Priority: optional
 Maintainer: Barak A. Pearlmutter <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>= 7), autoconf (>= 2.58), linux-kernel-headers, libc6-dev-i386 [amd64], g++-multilib [amd64]
+Build-Depends: debhelper (>= 7), autoconf (>= 2.58), linux-libc-dev, libc6-dev-i386 [amd64], g++-multilib [amd64]
 Standards-Version: 3.8.0
 Homepage: http://i2o.shadowconnect.com
 
diff -ruN raidutils-0.0.6.b4/debian/rules raidutils-0.0.6/debian/rules
--- raidutils-0.0.6.b4/debian/rules	2008-09-22 13:09:04.000000000 +0200
+++ raidutils-0.0.6/debian/rules	2008-09-22 13:01:04.000000000 +0200
@@ -20,6 +20,8 @@
 ifeq (amd64,$(DEB_BUILD_ARCH))
 CFLAGS += -m32
 CXXFLAGS += -m32
+CONF_LDFLAGS += -static
+BUILD_LDFLAGS += -all-static
 endif
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
@@ -34,7 +36,8 @@
 
 config.status: configure
 	dh_testdir
-	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" ./configure \
+	CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(CONF_LDFLAGS)" \
+	./configure \
 	 --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
 	 --prefix=/usr --mandir=\$${prefix}/share/man \
 	 --infodir=\$${prefix}/share/info
@@ -43,7 +46,7 @@
 
 build-stamp:  config.status
 	dh_testdir
-	$(MAKE)
+	$(MAKE) LDFLAGS=$(BUILD_LDFLAGS)
 	touch build-stamp
 
 clean:

Reply via email to