Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 314627

Summary: dev-python/pyao-0.82{,-r1} fails to emerge because of incompatible pointer type in PyDict_Next
Product: Gentoo Linux Reporter: Juergen Rose <rose>
Component: [OLD] LibraryAssignee: Python Gentoo Team <python>
Status: RESOLVED FIXED    
Severity: normal CC: joost.ruis
Priority: High    
Version: 2006.1   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 324265    
Attachments: /var/tmp/portage/dev-python/pyao-0.82-r1/temp/build.log
Added typedef struct ao_device and struct ao_function

Description Juergen Rose 2010-04-11 07:32:54 UTC
'emerge pyao' fails with:
...
creating build/temp.linux-x86_64-2.6/src
x86_64-pc-linux-gnu-gcc -pthread -march=nocona -O2 -pipe -fomit-frame-pointer -fPIC -I/usr/local/include -I/usr/include/python2.6 -c src/aomodule.c -o build/temp.linux-x86_64-2.6/src/aomodule.o
src/aomodule.c: In function 'dict_to_options':
src/aomodule.c:18: warning: passing argument 2 of 'PyDict_Next' from incompatible pointer type
/usr/include/python2.6/dictobject.h:102: note: expected 'Py_ssize_t *' but argument is of type 'int *'
src/aomodule.c: In function 'py_ao_driver_info':
src/aomodule.c:187: error: dereferencing pointer to incomplete type
error: command 'x86_64-pc-linux-gnu-gcc' failed with exit status 1
 * ERROR: dev-python/pyao-0.82-r1 failed:


Reproducible: Always




root@condor:/root(25)# emerge --info =dev-python/pyao-0.82-r1
Portage 2.1.8.3 (default/linux/amd64/10.0/desktop, gcc-4.4.3, glibc-2.11-r1, 2.6.33 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.33-x86_64-Intel-R-_Core-TM-2_CPU_6600_@_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Sun, 11 Apr 2010 05:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:     4.1_p5
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5-r1, 3.1.2-r1
dev-python/pycrypto: 2.1.0
dev-util/cmake:      2.8.1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.4_p6-r1, 1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1
sys-devel/gcc:       4.4.3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
FFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1"
LINGUAS="de fr"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages/"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/dotnet /var/lib/layman/java-overlay /var/lib/layman/lordvan /var/lib/layman/perl-experimental /var/lib/layman/science /var/lib/layman/suka /var/lib/layman/x11 /var/lib/layman/zugaina /var/lib/layman/sunrise /var/lib/layman/arcon /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="64bit X Xaw3d a52 aac abiword acl acpi administrator afs alsa amd64 ao aotuv apache2 applet archive arpack asf aspell assistant atlas audacious audiofile automap automount bash-completion beagle berkdb blas blast bluetooth boo boost branding bzip2 c++ cairo cdda cddb cdf cdio cdparanoia cdr cg cgi chm cli consolekit corba cracklib crypt css cuda cups curl cxx daap db dbase dbi dbm dbus designer devhelp device-mapper dga dia djvu doc dri ds2490 dts dv dvb dvd dvdr dvi eds elf emacs emboss empathy encode epiphany evo examples exif expat extensions extra extras fam fame ffmpeg fftw firefox fits flac fltk foomaticdb fortran fpx fts3 fuse galago garmin gd gdal gdbm gedit geolocation geos gif gimp ginac git glade glib glitz gml gmp gmtsuppl gnokii gnome gnome-keyring gnome-print gnuplot gnutls gphoto2 gpm grammar graphics graphtft graphviz grass gs gsl gsm gstreamer gtk guile hal harness hddtemp hdf hdf5 hdri hlapi http httpd hvm iconv icq icu id3 ide imagemagick imap innodb inotify ipod ipv6 irda ithreads jabber jadetex java java5 java6 jbig john jpeg jpeg2k kdrive kerberos kexi kpathsea kqemu kvm ladspa lame lapack latex latex3 lcms ldap lensfun libffi libgda libnotify libsamplerate lirc lm_sensors lua lzo mad mail maildir mailwrapper mapnik math matroska mikmod mkl mmx mmxext mng modules mono moonlight motif mozdevelop mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap multilib musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numarray numeric nvidia obex objc ocaml octave odbc ogdi ogg ole openexr opengl openmp overview pae pam pango pcre pda pdf perl plotutils plugins png podcast policykit posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio pymol python python-bindings qemu qhull qt3support qt4 quicktime readline reflection reiserfs rle romio rpc rrdcgi rrdtool samba sasl science sdl secure-delete semantic-desktop server session sip slang slp smbclient smp sms sndfile snmp soup sox speex spell spl sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs theora threads thunderbird tidy tiff tk tntc tools truetype udev unicode usb userlocales utempter v4l2 video virtualbox vorbis wav webdav webdav-serf webkit wmf wxwidgets x264 xattr xcb xemacs xext xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc zlib zvbi" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="tda10045 tda10046lifeview" ELIBC="glibc" INPUT_DEVICES="keyboard mouse                evdev               " KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18 jruby" USERLAND="GNU" VIDEO_CARDS="nv nvidia nouveau vesa" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

dev-python/pyao-0.82-r1 was built with the following:
USE="(multilib)" 
CFLAGS="-march=nocona -O2 -pipe"
CXXFLAGS="-march=nocona -O2 -pipe"

>>> Attempting to run pkg_info() for 'dev-python/pyao-0.82-r1'
 * pkg_info() is not defined: 'pyao-0.82-r1.ebuild'



root@condor:/root(26)# emerge -pqv =dev-python/pyao-0.82-r1
[ebuild   R   ] dev-python/pyao-0.82-r1
Comment 1 Juergen Rose 2010-04-11 07:35:55 UTC
Created attachment 227343 [details]
/var/tmp/portage/dev-python/pyao-0.82-r1/temp/build.log
Comment 2 Joost Ruis 2010-04-11 14:51:47 UTC
Confirm here, also want to note the the project website is moved to:
"The Python bindings for Ogg and Vorbis are now maintained by Eric Faurot."

http://ekyo.nerim.net/software/pyogg/index.html

Comment 3 Juergen Rose 2010-04-19 07:49:32 UTC
One week later, any news?
Comment 4 Sandor I Lengyel 2010-04-26 07:47:58 UTC
Created attachment 229189 [details]
Added typedef struct ao_device and struct ao_function

Thus were in the old ao.h missing in the new one.
In the new one we only have 
typedef struct ao_functions ao_functions;
typedef struct ao_device ao_device;

This might only be a cludge. Should be checked, but worked for me.
Comment 5 Sandor I Lengyel 2010-04-26 07:56:21 UTC
Comment on attachment 229189 [details]
Added typedef struct ao_device and struct ao_function

I also changed aomodule.c line 7 from 
int pos = 0;
to 
Py_ssize_t  pos = 0;
Comment 6 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2010-06-24 19:07:47 UTC
This also happens with latest stable, 0.82. Summary:

pyao compiles fine with libao-0.8.8, fails with libao-1.0.0.
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2010-06-24 19:41:41 UTC
+*pyao-0.82-r2 (24 Jun 2010)
+
+  24 Jun 2010; Samuli Suominen <ssuominen@gentoo.org> +pyao-0.82-r2.ebuild,
+  +files/pyao-0.82-new_api.patch:
+  Fix building with libao >= 1.0.0 wrt #314627 by Juergen Rose.