Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 284071 - QA issue prevents media-libs/schroedinger-1.0.7-r1 from installing on amd64
Summary: QA issue prevents media-libs/schroedinger-1.0.7-r1 from installing on amd64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-08 02:44 UTC by Randall Wald
Modified: 2009-09-10 15:52 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch to change which headers are included in a few key files (schroedinger-1.0.7-gst_adapter_get_buffer.patch,1.58 KB, patch)
2009-09-10 08:53 UTC, Randall Wald
Details | Diff
New ebuild that uses the above patch (schroedinger-1.0.7-r2.ebuild,1.11 KB, text/plain)
2009-09-10 08:53 UTC, Randall Wald
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Randall Wald 2009-09-08 02:44:53 UTC
As part of a complex upgrade issue pertaining to Pidgin's vv support, I needed to unmask the newer version of the schroedinger library, version 1.0.7-r1. It compiles without difficulty, and even installs properly in the sandbox; however, when Portage goes to install into the live filesystem, it runs into QA issues. Not just the "this package has poor performance habits and may have random errors" message, but a new one: "Package has poor programming practices which may compile but will almost certainly crash on 64bit architectures." Apparently this is bad enough to prevent Portage from allowing the install. If the package isn't going to install, should it really be marked ~amd64? Below are a copy of the error and my emerge --info.

>>> Completed installing schroedinger-1.0.7-r1 into /var/tmp/portage/media-libs/schroedinger-1.0.7-r1/image/

strip: x86_64-pc-linux-gnu-strip --strip-unneeded -R .comment
   usr/lib64/gstreamer-0.10/libgstschro.so
   usr/lib64/libschroedinger-1.0.so.0.2.0
   usr/lib64/gstreamer-0.10/libgstschro.a
   usr/lib64/libschroedinger-1.0.a
removing executable bit: usr/lib64/libschroedinger-1.0.la

 * QA Notice: Package has poor programming practices which may compile
 *            fine but exhibit random runtime failures.
 * gstbasevideoparse.c:604: warning: implicit declaration of function ‘gst_adapter_get_buffer’
 * gstbasevideodecoder.c:662: warning: implicit declaration of function ‘gst_adapter_get_buffer’
 * gstschroparse.c:308: warning: implicit declaration of function ‘schro_gst_adapter_masked_scan_uint32’
 * gstschrodec.c:550: warning: implicit declaration of function ‘schro_gst_adapter_masked_scan_uint32’

 * 
 * QA Notice: Package has poor programming practices which may compile
 *            but will almost certainly crash on 64bit architectures.
 * 
 * Function `gst_adapter_get_buffer' implicitly converted to pointer at gstbasevideoparse.c:604
 * Function `gst_adapter_get_buffer' implicitly converted to pointer at gstbasevideodecoder.c:662
 * 
 *  Please file a bug about this at http://bugs.gentoo.org/
 *  with the maintaining herd of the package.
 * 
 * 
 * ERROR: media-libs/schroedinger-1.0.7-r1 failed.
 * Call stack:
 *       misc-functions.sh, line 779:  Called install_qa_check
 *       misc-functions.sh, line 471:  Called die
 * The specific snippet of code:
 *   				die "install aborted due to" \
 *  The die message:
 *   install aborted due to poor programming practices shown above
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/media-libs/schroedinger-1.0.7-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/media-libs/schroedinger-1.0.7-r1/temp/environment'.
 * 
!!! post install failed; exiting.

Portage 2.2_rc39 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.30-gentoo-r4-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7300_@_2.00GHz-with-gentoo-2.0.1
Timestamp of tree: Tue, 08 Sep 2009 01:15:02 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.8-r1
dev-lang/python:     2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo http://www.gtlib.gatech.edu/pub/gentoo ftp://ftp.gtlib.gatech.edu/pub/gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo/ ftp://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.osuosl.org/ "
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="en_US en ja"
MAKEOPTS="-j5"
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="/usr/local/portage/layman/java-overlay /usr/local/portage/layman/sunrise /usr/local/portage/layman/jokey /usr/local/portage/layman/serkan-overlay /usr/local/portage/layman/thpani /usr/local/portage"
SYNC="rsync://rsync.us.gentoo.org/gentoo-portage"
USE="64bit 7zip X a52 aac aalib acl acpi aim alsa amarok amazon amd64 animgif anthy audacious bash-completion berkdb bidi bittorrent bluetooth branding bzip2 cairo cdaudio cdda cddb cdparanoia cdr cjk cli console cracklib crypt css cups dbus dict directfb divx djvu dri dts dvd dvdnav dvdr dvi eds emboss encode esd exif fam fat fbcon fbcondecor fbsplash ffmpeg flac fortran ftp gdbm gif gimp gimpprint glitz glsa gmail gnome gpm gs gstreamer gtk hal hdaps hddtemp hfs ibmacpi iconv icq icu idea ieee1394 imagemagick immqt-bc ipv6 ipw4965 isdnlog jabber java javascript jingle john jpeg kerberos kpathsea lame laptop latex ldap libcaca libnotify lm_sensors lua mad matroska md5sum mikmod mmx mng mono mp3 mp4 mpeg mplayer msn mtp mudflap multilib musicbrainz mysql ncurses nethack nls nptl nptlonly nsplugin ntfs offensive ogg opengl openmp openssl opensslcrypt openvpn pam pcmcia pcre pdf perl pidgin png pop ppds pppd prediction prime python qt3support qt4 quicktime rar raw readline realmedia reflection reiserfs sdl server session smapi spell spl sse sse2 ssl stream svg sysfs tcpd theora threads thunar thunderbird tiff timidity tracker truetype uim unicode usb vim-syntax vim-with-x visualization vlm vorbis wav wifi wma wmp wordperfect wxwindows x264 xcb xcomposite xml xorg xscreensaver xulrunner xv xvid yahoo zlib" ALSA_CARDS="hda-intel" 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 authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="synaptics evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US en ja" USERLAND="GNU" VIDEO_CARDS="vesa vga i810 i830 intel"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 rainer 2009-09-08 05:32:55 UTC
I have encountered exactly the same problems.


# emerge --info
Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-4.3.2, glibc-2.9_p20081201-r2, 2.6.27-gentoo-r8 x86_64)
=================================================================
System uname: Linux-2.6.27-gentoo-r8-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_3800+-with-gentoo-1.12.11.1
Timestamp of tree: Tue, 08 Sep 2009 04:30:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.8-r1
dev-lang/python:     2.5.4-r3, 2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/cmake:      2.6.4
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /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 /etc/udev/rules.d"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://ftp.cs.pu.edu.tw/Linux/Gentoo/ http://mirror.cambrium.nl/pub/os/linux/gentoo/"
LANG="C"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
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="/usr/portage/local/layman/science /usr/portage/local/layman/ikelos /usr/portage/local/layman/voip /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi addbookmarks addressbook aim alias alsa amd64 apache2 apm arts audiofile autoreplace bash-completion bcmath berkdb bidi blas bluetooth bzip2 cairo cdparanoia cdr cli connectionstatus consolekit contactnotes cracklib crypt cups curl curlwrappers cxx dbus dc1394 dga directfb dkim domainkeys dri dts dv dvb dvd dvdr eds emacs encode esd evo examples exif fam fastcgi fbcon ffmpeg fftw firefox flac fortran ftp gconf gd gdbm gecko ggi gif gimp ginac glut gnome gnutls gphoto2 gpm gs gstreamer gtk h281 h323 hal iconv icotools icq idn ieee1394 imagemagick imap ipv6 isdnlog jabber java javascript jpeg jpeg2k kde kdrive lapack lcms ldap leim libedit libnotify libwww lirc lm_sensors mad madwifi matroska mikmod mime mmx mng mono mp3 mpeg mpi msn mudflap mule multilib mysql mysqli nas ncurses netmeeting nls nptl nptlonly nsplugin octave ogg ole openal opengl openmp osc oscar oss pam pcre pdf perl php pipes plotutils png pppd privacy python qt3 qt3support qt4 quicktime radius readline reflection samba scanner seamonkey semantic-desktop server session shm skype sockets socks5 solver sparse spell spl sqlite sse sse2 ssl startup-notification statistics svg symlink sysfs szip tcpd testbed theora threads tidy tiff tokenizer truetype unicode urlpicpreview usb v4l v4l2 vcd vhosts vorbis webkit webpresence wifi winetools wxwindows xcap xcomposite xface xine xml xmlrpc xorg xosd xulrunner xvid yahoo zlib zrtp" ALSA_CARDS="hda-intel" 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 authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="imon" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Randall Wald 2009-09-10 08:48:52 UTC
After looking a bit at the code that was breaking, I realized that the problem occurred because the developers had created modified versions of some system gstreamer header files (notably, adding the gst_adapter_get_buffer function), but then used #includes which referred to the system copies, not the new copies they wanted. I made a patch to switch which copies of these files are included, and this let my build of schroedinger pass QA. I'll attach my patch and the modified ebuild which uses it.
Comment 3 Randall Wald 2009-09-10 08:53:04 UTC
Created attachment 203664 [details, diff]
Patch to change which headers are included in a few key files

This patch modifies three files (gstbasevideoparse.h, gstbasevideodecoder.h, and gstbasevideocodec.h) to use copies of gstbasevideocodec.h and gstbasevideoutils.h included with schroedinger's source tarball, rather than using the system copies of these files. This is important because the schroedinger copy of gstbasevideoutils.h defines the function gst_adapter_get_buffer, while the system copy (at least, on my system) does not.
Comment 4 Randall Wald 2009-09-10 08:53:45 UTC
Created attachment 203665 [details]
New ebuild that uses the above patch

This is a new ebuild, copied from the old one, which applies the above patch.
Comment 5 Alexis Ballier gentoo-dev 2009-09-10 09:41:43 UTC
applied, thanks!
Comment 6 Olivier Crete (RETIRED) gentoo-dev 2009-09-10 15:52:59 UTC
fyi, the next version of schro will no longer have the gst plugins (they've been moved to the core gst repos).