[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#481628: libffi-bug



On Tue, May 20, 2008 at 11:26:40PM +0200, Andreas Barth wrote:
> how do we continue here? Is the issue "just" that the headers are being
> moved twice? This bug blocks testing migration of python2.5 and epiphany
> which is a precondition for getting gcc-4.3 and gcc-defaults moved.

The fix in the easy way is very simple, here is a patch. But Thiemo is perhaps
working on a better fix to have unified headers on all mips ABIs. They were
some ABI changes in gcc and "long double" is no longer an alias to "double".

From c3292fa59f608d6162f528c6dc72e300332f0e06 Mon Sep 17 00:00:00 2001
From: Arthur Loiret <arthur.loiret@u-psud.fr>
Date: Wed, 21 May 2008 09:45:36 +0000
Subject: [PATCH]   * Fix multiarch headers installation on mips{,el}:
     - Install ABI O32 headers in /usr/include/mips{,el}-linux-gnu
     - Install ABI 64  headers in /usr/include/mips64{,el}-linux-gnuabi64
     - Install ABI N32 headers in /usr/include/mips64{,el}-linux-gnuabin32
     - This workaround FTBFS. Closes: #481628
   * Fix a typo in debian/rules: This is libn32 and not lib32n.

---
 debian/changelog |   12 ++++++++++++
 debian/rules     |   27 +++++++++++++++++++++++----
 2 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 174fdac..cef1ab4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+libffi (3.0.5-3) unstable; urgency=low
+
+  [ Arthur Loiret ]
+  * Fix multiarch headers installation on mips{,el}:
+    - Install ABI O32 headers in /usr/include/mips{,el}-linux-gnu
+    - Install ABI 64  headers in /usr/include/mips64{,el}-linux-gnuabi64
+    - Install ABI N32 headers in /usr/include/mips64{,el}-linux-gnuabin32
+    - This workaround FTBFS. Closes: #481628
+  * Fix a typo in debian/rules: This is libn32 and not lib32n.
+
+ -- Matthias Klose <doko@debian.org>  Wed, 21 May 2008 09:12:51 +0000
+
 libffi (3.0.5-2) unstable; urgency=low
 
   * Install header files in multiarch directories. Closes: #480208.
diff --git a/debian/rules b/debian/rules
index 3f78b6c..bc07f81 100755
--- a/debian/rules
+++ b/debian/rules
@@ -197,15 +197,34 @@ ifneq (,$(filter biarch32, $(multiarch)))
 	mv debian/libffi-dev/usr/include/$(biarch_gnu_type) \
 		debian/lib32ffi-dev/usr/include/
 endif
-ifneq (,$(filter biarch64, $(multiarch)))
+ifneq (,$(filter $(DEB_HOST_ARCH), mips mipsel))
+  ifneq (,$(filter biarch64, $(multiarch)))
+	mkdir -p debian/lib64ffi-dev/usr/include/
+	mv debian/libffi-dev/usr/include/$(biarch_gnu_type) \
+		debian/lib64ffi-dev/usr/include/$(biarch_cpu)-linux-gnuabi64
+    ifneq (,$(filter biarchn32, $(multiarch)))
+	mkdir -p debian/libn32ffi-dev/usr/include/
+	cp -r debian/lib64ffi-dev/usr/include/$(biarch_cpu)-linux-gnuabi64 \
+		debian/libn32ffi-dev/usr/include/$(biarch_cpu)-linux-gnuabin32
+    endif
+  else
+    ifneq (,$(filter biarchn32, $(multiarch)))
+	mkdir -p debian/libn32ffi-dev/usr/include/
+	mv debian/libffi-dev/usr/include/$(biarch_gnu_type) \
+		debian/libn32ffi-dev/usr/include/$(biarch_cpu)-linux-gnuabin32
+    endif
+  endif
+else
+  ifneq (,$(filter biarch64, $(multiarch)))
 	mkdir -p debian/lib64ffi-dev/usr/include/$(biarch_gnu_type)
 	mv debian/libffi-dev/usr/include/$(biarch_gnu_type) \
 		debian/lib64ffi-dev/usr/include/
-endif
-ifneq (,$(filter biarchn32, $(multiarch)))
-	mkdir -p debian/lib32nffi-dev/usr/include/$(biarch_gnu_type)
+  endif
+  ifneq (,$(filter biarchn32, $(multiarch)))
+	mkdir -p debian/libn32ffi-dev/usr/include/$(biarch_gnu_type)
 	mv debian/libffi-dev/usr/include/$(biarch_gnu_type) \
 		debian/libn32ffi-dev/usr/include/
+  endif
 endif
 
 ifneq (,$(filter biarch32, $(multiarch)))
-- 
1.5.5.1

Attachment: signature.asc
Description: Digital signature


Reply to: