Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 114945 - lrintf problem with audacious and "wma" in USE
Summary: lrintf problem with audacious and "wma" in USE
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Tony Vroon (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-08 19:06 UTC by James
Modified: 2005-12-09 10:19 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James 2005-12-08 19:06:16 UTC
If one tries to install audacious with "wma" set in USE, the build will fail, at
least under GCC-4.0.2; in Plugins/Input/wma/libffwma/dsputil.h, there's what's
described as a "better than nothing" implementation that apparently conflicts
with one picked up from /usr/include/, due to that (the /usr/include/) one being
non-static and this one being static. The #define is surrounded by an "#infndef
HAS_LRINTF" that obviously isn't being defined, either by the more global
include file or possibly by the output of this build's "configure", so it's
unclear if this is a problem with the build or a problem with the code. The
REALLY annoying thing is that the code where this is happening doesn't even use
lrintf, at least at present; the only place in its whole source code that uses
it is for an "aac" input plugin (which also has its own local (non-static)
#define)! It's easy enough for me to fix for myself (though not as easy as doing
a 'HAS_LRINTF="" emerge aduacious' - for one reason or another, the variable
isn't being propagated), but chances are that this will bite some other people
eventually...

Reproducible: Always
Steps to Reproduce:
1.USE="wma" emerge audacious
2.
3.

Actual Results:  
The build failed, with the following tail:

In file included from dsputil.c:29:
dsputil.h:517: error: static declaration of 'lrintf' follows non-static declaration
make[5]: *** [libffwma_la-dsputil.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
 x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../../../..
-I/usr/X11R6/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c
-march=k8 -O2 -pipe -fPIC -Wall -Wpointer-arith -finline-functions -ffast-math
-fomit-frame-pointer -funroll-all-loops -MT libffwma_la-fft.lo -MD -MP -MF
.deps/libffwma_la-fft.Tpo -c fft.c  -fPIC -DPIC -o .libs/libffwma_la-fft.o
In file included from fft.c:25:
dsputil.h:517: error: static declaration of 'lrintf' follows non-static declaration
make[5]: *** [libffwma_la-fft.lo] Error 1
make[5]: Leaving directory
`/var/tmp/portage/audacious-0.1.1/work/audacious-0.1.1/Plugins/Input/wma/libffwma'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory
`/var/tmp/portage/audacious-0.1.1/work/audacious-0.1.1/Plugins/Input/wma'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
`/var/tmp/portage/audacious-0.1.1/work/audacious-0.1.1/Plugins/Input'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/audacious-0.1.1/work/audacious-0.1.1/Plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/audacious-0.1.1/work/audacious-0.1.1'
make: *** [all] Error 2

!!! ERROR: media-sound/audacious-0.1.1 failed.
!!! Function src_compile, Line 68, Exitcode 2
!!! make failed
!!! If you need support, post the topmost build error, NOT this status message.



Expected Results:  
It should have built properly, or at least failed for a REAL reason.

Not sure if this is multilib related, since my system is a 64-bit one and the
more global define is taking place in a /usr/include/gentoo-multilib include
file... Here the info:

Portage 2.0.53 (default-linux/amd64/2005.1, gcc-4.0.2, glibc-2.3.6-r1,
2.6.14-gentoo-r4 x86_64)
=================================================================
System uname: 2.6.14-gentoo-r4 x86_64 AMD Athlon(tm) 64 Processor 2800+
Gentoo Base System version 1.12.0_pre11
dev-lang/python:     2.4.2
sys-apps/sandbox:    1.2.16
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1-r1
sys-devel/libtool:   1.5.20-r1
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe -fPIC"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env
/usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config
/usr/lib64/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=k8 -O2 -pipe -fPIC"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X a52 alsa audiofile avi berkdb bitmap-fonts bzip2 cdr crypt cups dri
dvd dvdr dvdread emboss encode exif expat fam ffmpeg flac foomaticdb fortran gif
gmp gpm gstreamer gtk gtk2 idn imlib java jpeg junit lcms lzw lzw-tiff mad mjpeg
mng motif mozilla mp3 mpeg ncurses nptl nptlonly nsplugin offensive ogg opengl
pam pcre pdflib perl png python qt quicktime readline sdl sndfile spell ssl tcpd
theora threads tiff truetype truetype-fonts type1-fonts udev usb userlocales
vorbis xml2 xmms xpm xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 James 2005-12-08 19:36:34 UTC
I made a small typo: where I stated that there was an "#ifndef HAS_LRINTF"
conditional include around the problem definition, it's acually "#ifndef
HAVE_LRINTF". MY sleazy workaround was to set a "-DHAVE_LRINTF" CFLAG
temporarily in make.conf...
Comment 2 Tony Vroon (RETIRED) gentoo-dev 2005-12-09 10:19:14 UTC
This has already been fixed in SVN and will be in the 0.1.2 release. In the
meantime, if you want to use bleeding edge compilers, please use bleeding edge
software too, and build audacious from SVN.
That -fPIC in your CFLAGS should not be there.