Debian Bug report logs - #397653
Please support the arm architecture

version graph

Package: ctypes; Maintainer for ctypes is (unknown);

Reported by: Wookey <wookey@aleph1.co.uk>

Date: Wed, 8 Nov 2006 20:18:38 UTC

Severity: wishlist

Found in version 1.0.0-1

Fixed in version ctypes/1.0.2-1

Done: Ganesan Rajagopal <rganesan@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Ganesan Rajagopal <rganesan@debian.org>:
Bug#397653; Package ctypes. Full text and rfc822 format available.

Acknowledgement sent to Wookey <wookey@aleph1.co.uk>:
New Bug report received and forwarded. Copy sent to Ganesan Rajagopal <rganesan@debian.org>. Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Wookey <wookey@aleph1.co.uk>
To: submit@bugs.debian.org
Subject: Please support the arm architecture
Date: Wed, 8 Nov 2006 16:34:49 +0000
Package: ctypes
Version: 1.0.0-1

Arm is explicitly not supported in debian/control

Code for arm exists in the package. However it does not currently
build (which is presumably why it is not enabled).

Does upstream expect the arm support to be functional so it is merely
a matter of fixing the build problems? Or is there more to it than that?

Ctpyes is needed by python-ctypes which is needed by quodlibet which is
currently uninstallable on arm in etch. If this is not too hard to fix then
we should. 

Here is the current build log:
$ debuild
 fakeroot debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp build-python*
rm -rf build dist
rm -f ctypes/*.pyc
dh_clean
 dpkg-source -b ctypes-1.0.0
dpkg-source: building ctypes using existing ctypes_1.0.0.orig.tar.gz
dpkg-source: building ctypes in ctypes_1.0.0-1.1.diff.gz
dpkg-source: building ctypes in ctypes_1.0.0-1.1.dsc
 debian/rules build
dh_testdir
python2.4 setup.py build
running build
running build_py
creating build
creating build/lib.linux-armv5tel-2.4
creating build/lib.linux-armv5tel-2.4/ctypes
copying ctypes/_endian.py -> build/lib.linux-armv5tel-2.4/ctypes
copying ctypes/__init__.py -> build/lib.linux-armv5tel-2.4/ctypes
copying ctypes/wintypes.py -> build/lib.linux-armv5tel-2.4/ctypes
copying ctypes/util.py -> build/lib.linux-armv5tel-2.4/ctypes
creating build/lib.linux-armv5tel-2.4/ctypes/macholib
copying ctypes/macholib/framework.py -> build/lib.linux-armv5tel-2.4/ctypes/macholib
copying ctypes/macholib/__init__.py -> build/lib.linux-armv5tel-2.4/ctypes/macholib
copying ctypes/macholib/dylib.py -> build/lib.linux-armv5tel-2.4/ctypes/macholib
copying ctypes/macholib/dyld.py -> build/lib.linux-armv5tel-2.4/ctypes/macholib
creating build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_init.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_checkretval.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_find.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_strings.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_prototypes.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/__init__.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_funcptr.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_buffers.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_cast.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_random_things.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_refcounts.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_structures.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_win32.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_unaligned_structures.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_repr.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_functions.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_parameters.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_cfuncs.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_objects.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_incomplete.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_stringptr.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_bitfields.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/runtests.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_anon.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_simplesubclasses.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_arrays.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_libc.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_errcheck.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_memfunctions.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_numbers.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_slicing.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_unicode.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_returnfuncptrs.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_loading.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_internals.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_macholib.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_array_in_pointer.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_python_api.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_callbacks.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_keeprefs.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_byteswap.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_struct_fields.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_varsize_struct.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_values.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_sizes.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_pointers.py -> build/lib.linux-armv5tel-2.4/ctypes/test
copying ctypes/test/test_integers.py -> build/lib.linux-armv5tel-2.4/ctypes/test
running build_ext
creating build/temp.linux-armv5tel-2.4
creating build/temp.linux-armv5tel-2.4/libffi
checking build system type... armv5tel-unknown-linux-gnu
checking host system type... armv5tel-unknown-linux-gnu
checking target system type... armv5tel-unknown-linux-gnu
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking for mmap... yes
checking for sys/mman.h... (cached) yes
checking for mmap... (cached) yes
checking whether read-only mmap of a plain file works... yes
checking whether mmap from /dev/zero works... yes
checking for MAP_ANON(YMOUS)... yes
checking whether mmap with MAP_ANON(YMOUS) works... yes
checking for ANSI C header files... (cached) yes
checking for memcpy... yes
checking for working alloca.h... yes
checking for alloca... yes
checking for double... yes
checking size of double... 8
checking for long double... yes
checking size of long double... 8
checking whether byte ordering is bigendian... no
checking whether .eh_frame section should be read-only... no
checking for __attribute__((visibility("hidden")))... yes
configure: creating ./config.status
config.status: creating include/ffi.h
config.status: creating fficonfig.py
config.status: creating fficonfig.h
config.status: linking /home/wookey/ctypes-1.0.0/source/libffi/src/arm/ffitarget.h to
include/ffitarget.h
config.status: linking /home/wookey/ctypes-1.0.0/source/libffi/include/ffi_common.h to
include/ffi_common.h
config.status: executing include commands
config.status: executing src commands
Configuring static FFI library:
cd build/temp.linux-armv5tel-2.4/libffi && env CFLAGS=''
'/home/wookey/ctypes-1.0.0/source/libffi/configure'
building '_ctypes' extension
creating build/temp.linux-armv5tel-2.4/source
creating build/temp.linux-armv5tel-2.4/home
creating build/temp.linux-armv5tel-2.4/home/wookey
creating build/temp.linux-armv5tel-2.4/home/wookey/ctypes-1.0.0
creating build/temp.linux-armv5tel-2.4/home/wookey/ctypes-1.0.0/source
creating build/temp.linux-armv5tel-2.4/home/wookey/ctypes-1.0.0/source/libffi
creating build/temp.linux-armv5tel-2.4/home/wookey/ctypes-1.0.0/source/libffi/src
creating build/temp.linux-armv5tel-2.4/home/wookey/ctypes-1.0.0/source/libffi/src/arm
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -O2 -Wall -Wstrict-prototypes -fPIC -Ibuild/temp.linux-armv5tel-2.4/libffi/include -Ibuild/temp.linux-armv5tel-2.4/libffi -I/home/wookey/ctypes-1.0.0/source/libffi/src -I/usr/include/python2.4 -c source/_ctypes.c -o build/temp.linux-armv5tel-2.4/source/_ctypes.o
In file included from source/_ctypes.c:126:
source/ctypes.h:69: error: expected specifier-qualifier-list before 'ffi_closure'
source/_ctypes.c: In function 'CFuncPtr_clear':
source/_ctypes.c:3267: error: 'ffi_info' has no member named 'pcl'
error: command 'gcc' failed with exit status 1
make: *** [build-python2.4] Error 1
debuild: fatal error at line 1224:
debian/rules build failed

Not sure what's going on there - ffi_closure not defined perhaps.

Wookey
-- 
Aleph One Ltd, Bottisham, CAMBRIDGE, CB5 9BA, UK  Tel +44 (0) 1223 811679
work: http://www.aleph1.co.uk/                 play: http://wookware.org/



Information forwarded to debian-bugs-dist@lists.debian.org, Ganesan Rajagopal <rganesan@debian.org>:
Bug#397653; Package ctypes. Full text and rfc822 format available.

Acknowledgement sent to Ganesan Rajagopal <rganesan@fastmail.fm>:
Extra info received and forwarded to list. Copy sent to Ganesan Rajagopal <rganesan@debian.org>. Full text and rfc822 format available.

Message #10 received at 397653@bugs.debian.org (full text, mbox):

From: Ganesan Rajagopal <rganesan@fastmail.fm>
To: Wookey <wookey@aleph1.co.uk>, 397653@bugs.debian.org
Subject: Re: Bug#397653: Please support the arm architecture
Date: Thu, 09 Nov 2006 10:23:55 +0530
Wookey wrote:
> Package: ctypes
> Version: 1.0.0-1
> 
> Arm is explicitly not supported in debian/control
> 
> Code for arm exists in the package. However it does not currently
> build (which is presumably why it is not enabled).
> 
> Does upstream expect the arm support to be functional so it is merely
> a matter of fixing the build problems? Or is there more to it than that?

The problem is because of a missing feature called "FFI CLOSURES" in
upstream GCC (specifically in the libffi library). As soon as closure
support is added to libffi for ARM, I'll enable the ARM build. This was
exactly the case with mips and mipsel earlier. Recently, closure support
was added to libffi for mips and mipsel and I enabled those arches in
debian/control.

Ganesan



Severity set to `wishlist' from `normal' Request was from Ganesan Rajagopal <rganesan@debian.org> to control@bugs.debian.org. Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Ganesan Rajagopal <rganesan@debian.org>:
Bug#397653; Package ctypes. Full text and rfc822 format available.

Acknowledgement sent to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to Ganesan Rajagopal <rganesan@debian.org>. Full text and rfc822 format available.

Message #17 received at 397653@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurelien@aurel32.net>
To: Ganesan Rajagopal <rganesan@fastmail.fm>
Cc: Wookey <wookey@aleph1.co.uk>, 397653@bugs.debian.org
Subject: Re: Bug#397653: Please support the arm architecture
Date: Fri, 27 Jul 2007 21:29:20 +0200
[Message part 1 (text/plain, inline)]
Hi!

On Thu, Nov 09, 2006 at 10:23:55AM +0530, Ganesan Rajagopal wrote:
> Wookey wrote:
> > Package: ctypes
> > Version: 1.0.0-1
> > 
> > Arm is explicitly not supported in debian/control
> > 
> > Code for arm exists in the package. However it does not currently
> > build (which is presumably why it is not enabled).
> > 
> > Does upstream expect the arm support to be functional so it is merely
> > a matter of fixing the build problems? Or is there more to it than that?
> 
> The problem is because of a missing feature called "FFI CLOSURES" in
> upstream GCC (specifically in the libffi library). As soon as closure
> support is added to libffi for ARM, I'll enable the ARM build. This was
> exactly the case with mips and mipsel earlier. Recently, closure support
> was added to libffi for mips and mipsel and I enabled those arches in
> debian/control.

Please find attached a patch to enable FFI closure on ARM, based on the
GCC code.

The support was actually added to GCC 6 months ago. Why ctypes needs to
use its own version of the code instead of using the shared library? It
would benefit for fixes and improvements like this one.

Cheers,
Aurelien

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net
[ctypes-arm.patch (text/x-diff, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Ganesan Rajagopal <rganesan@debian.org>:
Bug#397653; Package ctypes. Full text and rfc822 format available.

Acknowledgement sent to Ganesan Rajagopal <rganesan@fastmail.fm>:
Extra info received and forwarded to list. Copy sent to Ganesan Rajagopal <rganesan@debian.org>. Full text and rfc822 format available.

Message #22 received at 397653@bugs.debian.org (full text, mbox):

From: Ganesan Rajagopal <rganesan@fastmail.fm>
To: Aurelien Jarno <aurelien@aurel32.net>
Cc: Wookey <wookey@aleph1.co.uk>, 397653@bugs.debian.org
Subject: Re: Bug#397653: Please support the arm architecture
Date: Sat, 28 Jul 2007 08:27:49 +0530
> 
> Please find attached a patch to enable FFI closure on ARM, based on the
> GCC code.
> 
> The support was actually added to GCC 6 months ago. Why ctypes needs to
> use its own version of the code instead of using the shared library? It
> would benefit for fixes and improvements like this one.

Thanks, I'll enable this. As to your question about why not use the GCC 
version of ctypes - I tried this once before but I remember it broke 
some platform. I'll try using the gcc version again first and see if 
that helps. Do you know if python2.5 on arm supports ctypes (ctypes is 
included in python2.5)? If not a bug needs to be filed.

Ganesan



Information forwarded to debian-bugs-dist@lists.debian.org, Ganesan Rajagopal <rganesan@debian.org>:
Bug#397653; Package ctypes. Full text and rfc822 format available.

Acknowledgement sent to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to Ganesan Rajagopal <rganesan@debian.org>. Full text and rfc822 format available.

Message #27 received at 397653@bugs.debian.org (full text, mbox):

From: Aurelien Jarno <aurelien@aurel32.net>
To: Ganesan Rajagopal <rganesan@fastmail.fm>
Cc: Wookey <wookey@aleph1.co.uk>, 397653@bugs.debian.org
Subject: Re: Bug#397653: Please support the arm architecture
Date: Sat, 28 Jul 2007 23:20:24 +0200
On Sat, Jul 28, 2007 at 08:27:49AM +0530, Ganesan Rajagopal wrote:
> >
> >Please find attached a patch to enable FFI closure on ARM, based on the
> >GCC code.
> >
> >The support was actually added to GCC 6 months ago. Why ctypes needs to
> >use its own version of the code instead of using the shared library? It
> >would benefit for fixes and improvements like this one.
> 
> Thanks, I'll enable this. As to your question about why not use the GCC 
> version of ctypes - I tried this once before but I remember it broke 
> some platform. I'll try using the gcc version again first and see if 
> that helps. Do you know if python2.5 on arm supports ctypes (ctypes is 
> included in python2.5)? If not a bug needs to be filed.
> 

python2.5 uses libffi-dev from gcc, and yes it supports ctypes on arm.

Aurelien

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net



Reply sent to Ganesan Rajagopal <rganesan@debian.org>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to Wookey <wookey@aleph1.co.uk>:
Bug acknowledged by developer. Full text and rfc822 format available.

Message #32 received at 397653-close@bugs.debian.org (full text, mbox):

From: Ganesan Rajagopal <rganesan@debian.org>
To: 397653-close@bugs.debian.org
Subject: Bug#397653: fixed in ctypes 1.0.2-1
Date: Mon, 30 Jul 2007 09:02:03 +0000
Source: ctypes
Source-Version: 1.0.2-1

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

ctypes_1.0.2-1.diff.gz
  to pool/main/c/ctypes/ctypes_1.0.2-1.diff.gz
ctypes_1.0.2-1.dsc
  to pool/main/c/ctypes/ctypes_1.0.2-1.dsc
ctypes_1.0.2.orig.tar.gz
  to pool/main/c/ctypes/ctypes_1.0.2.orig.tar.gz
python-ctypes_1.0.2-1_i386.deb
  to pool/main/c/ctypes/python-ctypes_1.0.2-1_i386.deb



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 397653@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ganesan Rajagopal <rganesan@debian.org> (supplier of updated ctypes 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.7
Date: Sun, 29 Jul 2007 19:01:45 +0530
Source: ctypes
Binary: python-ctypes
Architecture: source i386
Version: 1.0.2-1
Distribution: unstable
Urgency: low
Maintainer: Ganesan Rajagopal <rganesan@debian.org>
Changed-By: Ganesan Rajagopal <rganesan@debian.org>
Description: 
 python-ctypes - Python package to create and manipulate C data types
Closes: 397653
Changes: 
 ctypes (1.0.2-1) unstable; urgency=low
 .
   * New upstream release
   * Changed debian/control Architecture to any because the last platform not
     to have FFI_CLOSURE support now has it (arm) (closes: #397653).
   * Use external libffi instead of built-in libffi.
   * Included a test suite run while building.
Files: 
 c1aeec4a5c254e784edd405646d42d96 760 python optional ctypes_1.0.2-1.dsc
 94ff7aa7f7f71b23bac8a98065d77743 385155 python optional ctypes_1.0.2.orig.tar.gz
 7740abaae23945f72b487bc1f5bd4caf 4347 python optional ctypes_1.0.2-1.diff.gz
 aef26682d899c99fb3d3d80cf139f34a 158190 python optional python-ctypes_1.0.2-1_i386.deb

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

iD8DBQFGrW/jFeACul2MEuoRAl70AKCmXeyzJQvQwmRTfCvrqsixCBZJMACbBNFv
IqZF7xC/twpyysQKOdIUrMc=
=8WYJ
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Tue, 28 Aug 2007 07:31:10 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sat Apr 19 19:56:38 2014; Machine Name: beach.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.