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

Bug#480208: marked as done (libffi-dev: amd64 headers inconsistent with actual binaries)



Your message dated Tue, 13 May 2008 07:02:13 +0000
with message-id <E1JvoWb-0007Mg-37@ries.debian.org>
and subject line Bug#480208: fixed in libffi 3.0.5-2
has caused the Debian Bug report #480208,
regarding libffi-dev: amd64 headers inconsistent with actual binaries
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
480208: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=480208
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: libffi-dev
Version: 3.0.5-1.0
Severity: critical
Justification: causes serious data loss

Because all the builds (native and bi-/tri-arch) install headers into
/usr/include, /usr/include/ffi.h may wind up failing to correspond to
the actual architecture of interest.  In particular, on amd64,
/usr/include/ffi.h winds up #define-ing X86 rather than the correct
X86_64, breaking anything that builds against it.  (ctypes catches the
problem thanks to its test suite, but other reverse dependencies will
require binNMUs.)

The best way to fix this problem would arguably be to arrange for the
non-native versions of ffi.h to wind up in
/usr/include/$(host_triplet); however, that approach turns out to be
somewhat cumbersome, particularly given that the top-level makefile
neglects to propagate includedir or includesdir. :-/

Alternatively, it suffices to edit src/x86/ffitarget.h to honor
__x86_64__ unconditionally, either by flipping the target
specification (as it already does for the combination of X86_64 and
__i386__) or by deconditionalizing the existing check for __x86_64__
further down:

--- libffi-3.0.5.orig/src/x86/ffitarget.h
+++ libffi-3.0.5/src/x86/ffitarget.h
@@ -74,7 +74,7 @@
 #define FFI_TYPE_SMALL_STRUCT_1B (FFI_TYPE_LAST + 1)
 #define FFI_TYPE_SMALL_STRUCT_2B (FFI_TYPE_LAST + 2)
 
-#if defined (X86_64) || (defined (__x86_64__) && defined (X86_DARWIN))
+#if defined (X86_64) || (defined (__x86_64__) /* && defined (X86_DARWIN) */)
 #define FFI_TRAMPOLINE_SIZE 24
 #define FFI_NATIVE_RAW_API 0
 #else

In principle, this issue could also affect other architectures, but
AFAICT configure doesn't actually set different target names for any
of them at present.

(You could also simply install the native build last rather than
first, but that would break builds for amd64 on i386 in the same
fashion that native amd64 builds currently break unless you also fix
ffitarget.h as described above.)

At any rate, could you please fix the bug and (once a fixed build has
hit the archive) request binNMUs for libffi5's reverse dependencies on
amd64?

Thanks!

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.25.0 (SMP w/2 CPU cores)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/dash

Versions of packages libffi-dev depends on:
ii  libffi5                       3.0.5-1.0  Foreign Function Interface library

libffi-dev recommends no packages.

-- no debconf information



--- End Message ---
--- Begin Message ---
Source: libffi
Source-Version: 3.0.5-2

We believe that the bug you reported is fixed in the latest version of
libffi, which is due to be installed in the Debian FTP archive:

lib64ffi-dev_3.0.5-2_i386.deb
  to pool/main/libf/libffi/lib64ffi-dev_3.0.5-2_i386.deb
lib64ffi5_3.0.5-2_i386.deb
  to pool/main/libf/libffi/lib64ffi5_3.0.5-2_i386.deb
libffi-dev_3.0.5-2_i386.deb
  to pool/main/libf/libffi/libffi-dev_3.0.5-2_i386.deb
libffi5-dbg_3.0.5-2_i386.deb
  to pool/main/libf/libffi/libffi5-dbg_3.0.5-2_i386.deb
libffi5_3.0.5-2_i386.deb
  to pool/main/libf/libffi/libffi5_3.0.5-2_i386.deb
libffi_3.0.5-2.diff.gz
  to pool/main/libf/libffi/libffi_3.0.5-2.diff.gz
libffi_3.0.5-2.dsc
  to pool/main/libf/libffi/libffi_3.0.5-2.dsc



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 480208@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <doko@debian.org> (supplier of updated libffi package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 13 May 2008 04:49:49 +0000
Source: libffi
Binary: libffi-dev lib32ffi-dev lib64ffi-dev libn32ffi-dev libffi5 lib32ffi5 lib64ffi5 libn32ffi5 libffi5-dbg
Architecture: source i386
Version: 3.0.5-2
Distribution: unstable
Urgency: low
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Changed-By: Matthias Klose <doko@debian.org>
Description: 
 lib32ffi-dev - Foreign Function Interface library (development files, 32bit)
 lib32ffi5  - Foreign Function Interface library runtime (32bit)
 lib64ffi-dev - Foreign Function Interface library (development files, 64bit)
 lib64ffi5  - Foreign Function Interface library runtime (64bit)
 libffi-dev - Foreign Function Interface library (development files)
 libffi5    - Foreign Function Interface library runtime
 libffi5-dbg - Foreign Function Interface library runtime (debug symbols)
 libn32ffi-dev - Foreign Function Interface library (development files, n32)
 libn32ffi5 - Foreign Function Interface library runtime (n32)
Closes: 480208
Changes: 
 libffi (3.0.5-2) unstable; urgency=low
 .
   * Install header files in multiarch directories. Closes: #480208.
Checksums-Sha1: 
 e20d4e0c4cf0c6bec31a6c074804a4e86314dc7b 1201 libffi_3.0.5-2.dsc
 6535057222b46c8347f49f14a6dae32b6b5ef2e6 5965 libffi_3.0.5-2.diff.gz
 0256f4fe9b71bb15dcae1d6e44edb09876620a8c 83416 libffi-dev_3.0.5-2_i386.deb
 b7e173891c69cedce839dbd0c8f3b85b2eae373d 35698 lib64ffi-dev_3.0.5-2_i386.deb
 47cbeacab48ae7a8fda9b8efe1fdb713b6c34fc1 14660 libffi5_3.0.5-2_i386.deb
 69bc28c12a8732a5c10d0d9b8e37f270144e8cf7 17912 lib64ffi5_3.0.5-2_i386.deb
 579ba142a4cac7ed50453975306a2dcd86ea4a72 58484 libffi5-dbg_3.0.5-2_i386.deb
Checksums-Sha256: 
 8f3ddd3044b18f734340b75786964cbfb01fec0c701c2727c1f52a8696acddd4 1201 libffi_3.0.5-2.dsc
 2b4ee8395a3b2cb6ba6893cc1fe852b5372b253c08c3f39b482366bb28c8f504 5965 libffi_3.0.5-2.diff.gz
 eebe95db1fc3e5e25a723f0b3d83d81adf4b9fddfa2cc446ccfb2ee15cdd4f95 83416 libffi-dev_3.0.5-2_i386.deb
 48c3da499dc312a919926bc55732d6ad74f2f144349c2504d87a6e8ab9b06df7 35698 lib64ffi-dev_3.0.5-2_i386.deb
 504d47d673d8ca5681a0c06c252a7afd8c434d70dd48c6a4dd050c1b2f9361bd 14660 libffi5_3.0.5-2_i386.deb
 40acc177d51df5de468958af218cdfefe0bce39ad1b7eba511df7410ab8afee9 17912 lib64ffi5_3.0.5-2_i386.deb
 a75e9492ace7b54ee857de1da78b66599456336054283d30a0ef0ff2e8ada5c1 58484 libffi5-dbg_3.0.5-2_i386.deb
Files: 
 a95e56525fc0deee8c70b735d40b92b5 1201 libs extra libffi_3.0.5-2.dsc
 6ece02c5c9d2675478235658ec30e5ac 5965 libs extra libffi_3.0.5-2.diff.gz
 d76ec2cc84e41a044f45bf227eaa099c 83416 libdevel extra libffi-dev_3.0.5-2_i386.deb
 b71d1f7a4d0b26f3c80437801c8ba8eb 35698 libdevel extra lib64ffi-dev_3.0.5-2_i386.deb
 bda6c96aafc654d8c2b7473a39ad4d41 14660 libs extra libffi5_3.0.5-2_i386.deb
 16a44a96060610945bc97582519f1de4 17912 libs extra lib64ffi5_3.0.5-2_i386.deb
 136e1eb3dfb9dd5a3e5b0b03baf49464 58484 libdevel extra libffi5-dbg_3.0.5-2_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFIKS2nStlRaw+TLJwRAjqHAKCFktv4WGUQckOwMF8KZWxd+wYmHACgsyci
IrvTSrqek2KLa03vThmdvp8=
=8wRu
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: