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" CBUILD="i686-pc-linux-gnu" CFLAGS="-O3 -march=native -mtune=native -msse2 -mfpmath=sse -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" 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" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo http://gentoo.osuosl.org http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="it_IT.utf8" LC_ALL="it_IT.utf8" LDFLAGS="-Wl,-O1" LINGUAS="it en" 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/overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" 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" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
I'm not suprised, the source directory is full of circular symlinks..
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 libfaad.so (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.
Samuli Suominen did the version bump. So he can fix it. ;)
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
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.
1.7 is broken now also. :-( same error. I also have no time to fix it.
gone