Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 277801 - media-sound/aacgain removal request (was: fails to build with glibc 2.10)
Summary: media-sound/aacgain removal request (was: fails to build with glibc 2.10)
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Sound Team
Depends on:
Blocks: glibc-2.10
  Show dependency tree
Reported: 2009-07-14 13:31 UTC by Fabio Coatti
Modified: 2009-09-04 07:55 UTC (History)
2 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description Fabio Coatti 2009-07-14 13:31:14 UTC
I've the following problem building aacgain 1.8:

 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../.. -O3 -march=native -mtune=native -msse2 -mfpmath=sse -fomit-frame-pointer -pipe -MT bits.lo -MD -MP -MF .deps/bits.Tpo -c bits.c  -fPIC -DPIC -o .libs/bits.o
In file included from /usr/include/math.h:94,
                 from common.h:341,
                 from bits.c:28:
/usr/include/bits/mathcalls.h:326: error: conflicting types for ‘lrintf’
common.h:308: error: previous definition of ‘lrintf’ was here
make[2]: *** [bits.lo] Error 1
make[2]: Leaving directory `/var/tmp/portage/media-sound/aacgain-1.8/work/aacgain-1.8/faad2/libfaad'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/media-sound/aacgain-1.8/work/aacgain-1.8'
make: *** [all] Error 2

Reproducible: Always

Portage 2.2_rc33 (default/linux/x86/2008.0/desktop, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30 i686)
System uname: Linux-2.6.30-i686-Intel-R-_Pentium-R-_D_CPU_3.00GHz-with-gentoo-2.0.1         
Timestamp of tree: Tue, 14 Jul 2009 12:30:02 +0000                                          
app-shells/bash:     4.0_p24                                                                
dev-java/java-config: 2.1.8-r1                                                              
dev-lang/python:     2.6.2-r1                                                               
dev-util/cmake:      2.6.4                                                                  
sys-apps/baselayout: 2.0.1                                                                  
sys-apps/openrc:     0.4.3-r3                                                               
sys-apps/sandbox:    2.0                                                                    
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, 1.11                        
sys-devel/binutils:  2.19.1-r1                                                              
sys-devel/gcc-config: 1.4.1                                                                 
sys-devel/libtool:   2.2.6a                                                                 
virtual/os-headers:  2.6.30                                                                 
ACCEPT_KEYWORDS="x86 ~x86"                                                                  
CFLAGS="-O3 -march=native -mtune=native -msse2 -mfpmath=sse -fomit-frame-pointer -pipe"     
CONFIG_PROTECT="/etc /usr/share/config"                                                     
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /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/splash /etc/terminfo /etc/udev/rules.d"                             
CXXFLAGS="-O3 -march=native -mtune=native -msse2 -mfpmath=sse -fomit-frame-pointer -pipe"                     
FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"                                                                                                
LINGUAS="it en"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="X a52 aac aalib acl acpi aim alsa amrnb amrwb apache2 araneida ass audiofile avahi bash-completion berkdb bluetooth branding bzip2 cairo cdparanoia cdr cjk cli consolekit cracklib crypt cups curl dba dbus dirac dns dri dv dvb dvd dvdr dvdread dxr3 eds emboss enca encode esd evo exif fam fame fbcon ffmpeg fftw firefox fortran ftp gd gdbm gif gimp gmp gnome gpm gstreamer gtk h323 hal iconv icq ifp imagemagick imap innodb ipod ipv6 isdnlog ithreads jabber jack java javascript jpeg kde lcms ldap libcaca libnotify live lzo mad maildir mdnsresponder-compat mhash midi mikmod mime mjpeg mmap mmx mmxext mng mozdevelop mozilla mp3 mp4 mpeg msn mtp mudflap ncurses network njb nls nptl nptlonly nsplugin offensive ofx ogg openal opengl openmp oscar pam pcre pdf perl php pipechan plotutils png pnm ppds pppd python qt3 qt3support qt4 quicktime rar readline reflection rtc sasl schroedinger sdl session sha512 sip slp sndfile snmp sox speex spell spl sse sse2 ssh ssl startup-notification svg sysfs tcpd theora threads tiff truetype type1 unicode usb v4l v4l2 vcd vdpau videos vorbis wav win32codecs wmf wxwindows x86 xface xft xine xinerama xml xorg xosd xpm xscreensaver xsl xulrunner xv xvid xvmc yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter 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="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="it en" USERLAND="GNU" VIDEO_CARDS="nvidia"
Comment 1 Samuli Suominen gentoo-dev 2009-07-14 13:44:13 UTC
I'm not suprised, the source directory is full of circular symlinks..
Comment 2 Robert Bradbury 2009-07-19 05:19:53 UTC
The problem is a conflict between the the aacgain declaration of lrintf (faad2/libfaad/common.h:308) and the included <math.h> --> <bit/mathcalls.h> which in glibc-2.10.1 contains its own definition.

The libfaad code seems to be playing games to define its own lrintf in cases where the system library doesn't provide it and doesn't get it right with glibc-2.10.1 (which has its own lrintf).  So one could fall back to an older glibc (2.9? 2.8?), emerge aacgain, then fall forward again (which is probably a 3 hour exercise).  Or simply delete the lrintf() definition [common.h:306] or a more extensive change would include the asm inline code but the function name needs to be changed in the libfaad source.  It looks like the problematic lrintf declaration (bits/mathcalls.h:327) is enabled by __USE_ISOC99 from <features.h>, so one could temporarily disable that as well.  Not sure if you can override this using USE/CFLAGS changes however.

There is a further problem that although --enable-shared appears to be defined in the aacgain configure file, if you use --enable-shared with --disable-static one does *not* get an executable which uses the system (but perhaps this is not faad2?).  There is also a --enable-static-build which says it is supposed to build mp4v2 and faad2 but I have no idea what those libraries/programs are.  Sounds like aacgain could use some USE flags and some testing to see that those flags do what they are supposed to do.
Comment 3 Stefan Briesenick (RETIRED) gentoo-dev 2009-07-29 13:16:52 UTC
Samuli Suominen did the version bump. So he can fix it. ;)
Comment 4 Samuli Suominen gentoo-dev 2009-07-29 14:14:43 UTC
There's also the problem that aacgain is using bundled mpeg4ip (which is obsolete since 2006 or so)

I've discussed with aacgain upstream.. it should be ported to libmp4v2 (see HOMEPAGE in latest ebuilds in tree).. but he doesn't have time. I promised to take look at it in fact, but just haven't gotten around doing it yet

Basically the tarball is fscked -- need a CVS checkout and port it to libmp4v2
Comment 5 Samuli Suominen gentoo-dev 2009-08-06 14:58:22 UTC
Stefan, and you think 1.7 did build? It has exactly same issues as 1.8, bundled old faad2, old libmp4v2 and glibc 2.10+ errors.
Comment 6 Stefan Briesenick (RETIRED) gentoo-dev 2009-08-09 22:55:01 UTC
1.7 is broken now also. :-(

same error. I also have no time to fix it.
Comment 7 Samuli Suominen gentoo-dev 2009-09-04 07:55:37 UTC