Bug#476525: [python-hid] patch to fix this problem
Package: python-hid Version: 0.2.15+20060325-2.1 --- Please enter the report below this line. --- patch in attachment this is a dirty patch, the include/assert.h shadow /usr/include/assert.h, so the complier can't find the assert symbol(Hmm, it's a macro). so I copy the /usr/include/assert.h to "include/assert2.h" and add "#include " in the header. anyway, the patch in attachment does works. --- System information. --- Architecture: amd64 Kernel: Linux 2.6.26-1-amd64 Debian Release: lenny/sid 500 unstable127.0.0.1 1 experimental127.0.0.1 --- Package information. --- Depends(Version) | Installed -+-== python (<< 2.6) | 2.5.2-1 python (>= 2.5) | 2.5.2-1 python-support(>= 0.7.1) | 0.7.7 libc6 (>= 2.7-1) | 2.7-10 libhid0 | 0.2.15+20060325-2.1 libusb-0.1-4 (>= 2:0.1.12) | 2:0.1.12-13 diff --git a/include/assert2.h b/include/assert2.h new file mode 100644 index 000..8989713 --- /dev/null +++ b/include/assert2.h @@ -0,0 +1,118 @@ +/* Copyright (C) 1991,1992,1994-2001,2003,2004,2007 + Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +/* + * ISO C99 Standard: 7.2 Diagnostics + */ + +#ifdef _ASSERT_H + +# undef _ASSERT_H +# undef assert +# undef __ASSERT_VOID_CAST + +# ifdef __USE_GNU +# undef assert_perror +# endif + +#endif /* assert.h */ + +#define _ASSERT_H 1 +#include + +#if defined __cplusplus && __GNUC_PREREQ (2,95) +# define __ASSERT_VOID_CAST static_cast +#else +# define __ASSERT_VOID_CAST (void) +#endif + +/* void assert (int expression); + + If NDEBUG is defined, do nothing. + If not, and EXPRESSION is zero, print an error message and abort. */ + +#ifdef NDEBUG + +# define assert(expr) (__ASSERT_VOID_CAST (0)) + +/* void assert_perror (int errnum); + + If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an + error message with the error text for ERRNUM and abort. + (This is a GNU extension.) */ + +# ifdef __USE_GNU +# define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) +# endif + +#else /* Not NDEBUG. */ + +#ifndef _ASSERT_H_DECLS +#define _ASSERT_H_DECLS +__BEGIN_DECLS + +/* This prints an "Assertion failed" message and aborts. */ +extern void __assert_fail (__const char *__assertion, __const char *__file, + unsigned int __line, __const char *__function) + __THROW __attribute__ ((__noreturn__)); + +/* Likewise, but prints the error text for ERRNUM. */ +extern void __assert_perror_fail (int __errnum, __const char *__file, + unsigned int __line, + __const char *__function) + __THROW __attribute__ ((__noreturn__)); + + +/* The following is not at all used here but needed for standard + compliance. */ +extern void __assert (const char *__assertion, const char *__file, int __line) + __THROW __attribute__ ((__noreturn__)); + + +__END_DECLS +#endif /* Not _ASSERT_H_DECLS */ + +# define assert(expr) \ + ((expr)\ + ? __ASSERT_VOID_CAST (0) \ + : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION)) + +# ifdef __USE_GNU +# define assert_perror(errnum) \ + (!(errnum)\ + ? __ASSERT_VOID_CAST (0) \ + : __assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION)) +# endif + +/* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' + which contains the name of the function currently being defined. + This is broken in G++ before version 2.6. + C9x has a similar variable called __func__, but prefer the GCC one since + it demangles C++ function names. */ +# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4) +# define __ASSERT_FUNCTION __PRETTY_FUNCTION__ +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __ASSERT_FUNCTION __func__ +# else +# define __ASSERT_FUNCTION ((__const char *) 0) +# endif +# endif + +#endif /* NDEBUG. */ diff --git a/swig/Makefile.in b/swig/Makefile.in index 67c8d8d..963689a 100644 --- a/swig/Makefile.in +++ b/swig/Makefile.in @@ -573,6 +573,7 @@ __init__.py: hid.py %.py %_wrap.c: %.i ../in
Bug#476525:
also sprach Jürgen Langthaler <[EMAIL PROTECTED]> [2008.07.17.1019 +0200]: > any status update on this one? > > the bug report is now 90 days old and it's still broken in lenny. I don't use libhid anymore and I don't have the resources for it right now. Maybe you could fix it and provide a patch? -- .''`. martin f. krafft <[EMAIL PROTECTED]> : :' : proud Debian developer, author, administrator, and user `. `'` http://people.debian.org/~madduck - http://debiansystem.info `- Debian - when you have better things to do than fixing systems digital_signature_gpg.asc Description: Digital signature (see http://martin-krafft.net/gpg/)
Bug#476525:
any status update on this one? the bug report is now 90 days old and it's still broken in lenny. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Bug#476525: python-hid: hid module will not import since python policy transition
Package: python-hid Version: 0.2.15+20060325-2.1+b1 Severity: grave Justification: renders package unusable serrano> python Python 2.5.2 (r252:60911, Mar 9 2008, 03:52:30) [GCC 4.3.0 20080301 (prerelease) [gcc-4_3-branch revision 132801]] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import hid Traceback (most recent call last): File "", line 1, in File "/var/lib/python-support/python2.5/hid/__init__.py", line 11, in import _hid ImportError: /var/lib/python-support/python2.5/hid/_hid.so: undefined symbol: assert >>> serrano> python2.4 Python 2.4.5 (#2, Mar 12 2008, 00:15:51) [GCC 4.2.3 (Debian 4.2.3-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import hid Traceback (most recent call last): File "", line 1, in ? ImportError: No module named hid If I try rebuilding the package from source, I see some possibly related warnings during the build: dh_makeshlibs -a -Xpython dh_installdeb -a dh_shlibdeps -a -ldebian/libhid0/usr/lib dpkg-shlibdeps: warning: symbol PyString_ConcatAndDel used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol _PyInstance_Lookup used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol PyLong_AsLong used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol PyDict_New used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol PyDict_SetItemString used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol PyLong_Type used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol PyExc_MemoryError used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol PyArg_ParseTuple used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol PyString_FromStringAndSize used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol PyString_AsString used by debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: 63 other similar warnings have been skipped (use -v to see them all). dpkg-shlibdeps: warning: dependency on libusb-0.1.so.4 could be avoided if "debian/python-hid/usr/lib/python-support/python-hid/python2.5/hid/_hid.so.0.0.0" were not uselessly linked against it (they use none of its symbols). dh_gencontrol -a Thanks, Bill Gribble -- System Information: Debian Release: lenny/sid APT prefers gutsy APT policy: (500, 'gutsy'), (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.24-rc6 (SMP w/2 CPU cores; PREEMPT) Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to POSIX) Shell: /bin/sh linked to /bin/bash Versions of packages python-hid depends on: ii libc6 2.7-10 GNU C Library: Shared libraries ii libhid0 0.2.15+20060325-2.1+b1 userspace USB HID access library ii libusb-0.1-4 2:0.1.12-10userspace USB programming library ii python2.5.2-0.1 An interactive high-level object-o ii python-support0.7.7 automated rebuilding support for P python-hid recommends no packages. -- no debconf information !DSPAM:480722ed117721428319015! -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]