Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 169036 - media-plugins/audacious-plugins mixes CFLAGS/CXXFLAGS
Summary: media-plugins/audacious-plugins mixes CFLAGS/CXXFLAGS
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High minor (vote)
Assignee: Tony Vroon (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-02 18:56 UTC by SpanKY
Modified: 2007-12-21 03:21 UTC (History)
1 user (show)

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


Attachments
audacious-plugins-useless-CXXFLAGS.patch (audacious-plugins-useless-CXXFLAGS.patch,1.71 KB, patch)
2007-08-25 11:05 UTC, SpanKY
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description SpanKY gentoo-dev 2007-03-02 18:56:42 UTC
seems the build uses CFLAGS when building c++ objects

[generating dependencies for objective: modplugbmp.cxx]
cc1plus: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wimplicit-function-declaration" is valid for C/ObjC but not for C++




Portage 2.1.2-r13 (default-linux/amd64/2006.1/desktop, gcc-4.1.2, glibc-2.5-r0, 2.6.20 x86_64)
=================================================================
System uname: 2.6.20 x86_64 AMD Athlon(tm) 64 Processor 3500+
Gentoo Base System release 1.12.9
Timestamp of tree: Fri, 02 Mar 2007 16:50:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r6
sys-apps/sandbox:    1.2.20_alpha2
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.15.92.0.2-r10, 2.16-r1, 2.16.1, 2.16.1-r3, 2.16.90.0.3, 2.16.91.0.1, 2.16.91.0.2, 2.16.91.0.3, 2.16.91.0.4, 2.16.91.0.5, 2.16.91.0.6, 2.16.91.0.7, 2.16.92, 2.16.93, 2.16.94, 2.17, 2.17.50.0.2, 2.17.50.0.3, 2.17.50.0.4, 2.17.50.0.5, 2.17.50.0.6, 2.17.50.0.7, 2.17.50.0.8, 2.17.50.0.9, 2.17.50.0.10, 2.17.50.0.11, 2.17.50.0.12
sys-devel/gcc-config: 1.3.14
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.20-r1  
ACCEPT_KEYWORDS="amd64 ~amd64"  
AUTOCLEAN="yes"                 
CBUILD="x86_64-pc-linux-gnu"    
CFLAGS="-O2 -march=k8 -pipe -Wimplicit-function-declaration"
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/X11/xkb /usr/share/config /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -march=k8 -pipe"  
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests autoconfig buildsyspkg ccache cvs distlocks metadata-transfer noinfo parallel-fetch sandbox sfperms sign splitdebug"               
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
INSTALL_MASK="/usr/share/applications /usr/kde/*/share/applications /lib/udev/devices"
LANG="en_US"                    
LDFLAGS="-Wl,-O1 -Wl,-z,relro"  
LINGUAS="en en_GB de es cs"     
MAKEOPTS="-j6"                  
PKGDIR="/usr/portage/packages"  
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"       
PORTDIR="/usr/portage"          
PORTDIR_OVERLAY="/usr/local/portage /usr/local/src/gentoo/overlays/vapier/enlightenment"
SYNC="rsync://gentoo/gentoo-portage"
USE="X a52 aac aalib acl adns aio alsa amd64 apache2 asf audiofile berkdb bitmap-fonts bzip2 cairo cddb cdparanoia cdr cli cracklib crypt cups curl dba directfb divx4linux dri dts dvd dvdr dvdread emboss encode exif fbcon ffmpeg firefox flac flash ftp gd gif glitz glut gphoto2 gpm gtk gtk2 iconv imap imlib ipv6 isdnlog jbig joystick jpeg jpeg2k libcaca libedit libg++ lzo lzw mad maildir matroska midi mikmod mime mng modplug mp3 mpeg mplayer multislot musepack ncurses nls nptl nptlonly nsplugin nvidia offensive ogg oggvorbis openal opengl pcre pdf perl pic png ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session sndfile spell spl ssl subtitles svg tcl tcltk tcpd tga theora threads tiff tk truetype truetype-fonts type1-fonts vcd vorbis wma wmf xanim xine xinerama xml xml2 xorg xpm xrandr xv xvid xvmc zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci 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" CAMERAS="canon" ELIBC="glibc" INPUT_DEVICES="mouse keyboard joystick void" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB de es cs" USERLAND="GNU" VIDEO_CARDS="nvidia nv ati r128 radeon vga sisusb"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Steve Dibb (RETIRED) gentoo-dev 2007-03-17 13:43:06 UTC
which ebuild?
Comment 2 SpanKY gentoo-dev 2007-03-17 15:07:35 UTC
summary reads:
media-plugins/audacious-plugins mixes CFLAGS/CXXFLAGS
Comment 3 Tony Vroon (RETIRED) gentoo-dev 2007-03-17 16:13:42 UTC
I need ebuild versions. If it concerns 1.3.1, I'd like to have a patch with that. Thanks.
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2007-07-30 20:31:29 UTC
(In reply to comment #3)
> I need ebuild versions. If it concerns 1.3.1, I'd like to have a patch with
> that. Thanks.
> 

1.3.5 is full of these.. pasting few lines for example,

<snip>
src/cue/Makefile:CXXFLAGS = $(CFLAGS)
src/m3u/Makefile:CXXFLAGS = $(CFLAGS)
src/mms/Makefile:CXXFLAGS = $(CFLAGS)
src/pls/Makefile:CXXFLAGS = $(CFLAGS)
</snip>
Comment 5 Tony Vroon (RETIRED) gentoo-dev 2007-07-31 09:37:56 UTC
Please observe metadata.xml when assigning bugs. I'll take a patch, please attach it here, I'll rework it where required. If you get me a patch within three days it should be in time for 1.4.0 DR2.
Comment 6 SpanKY gentoo-dev 2007-08-25 11:05:37 UTC
Created attachment 129138 [details, diff]
audacious-plugins-useless-CXXFLAGS.patch

actually, those makefiles in question pointlessly set CXXFLAGS ... those subdirs only contain .c files, so the lines should just be straight up deleted
Comment 7 SpanKY gentoo-dev 2007-08-25 11:25:29 UTC
of course though, the problem is more fundamental

the dependency generation code in mk/objective.mk does:
${CC} -MM ${PICFLAGS} ${CPPFLAGS} ${CFLAGS} $$i >> .depend
for all files, C or C++

couple this with the fact that CPPFLAGS isnt actually set properly and all -D/-I things wrongly get dumped into CFLAGS instead, and we arrive at the problem

so you could fix the build system to put the proper things in the proper place, or just pretend it's OK (even though it isnt) and filter the filetype when generating the .depend file

fixing that brings us to BEEP_DEFINES ... configure.ac wrongly sets it to include CFLAGS and then later the build system adds it to both CFLAGS and CXXFLAGS ... obviously makes no sense at all to have BEEP_DEFINES include CFLAGS since BEEP_DEFINES is always added to CFLAGS in later files
Comment 8 SpanKY gentoo-dev 2007-08-25 11:27:02 UTC
if you care to go the lazy route, the change for mk/objective.mk:depend is:

for i in ${SOURCES}; do \
  echo "[generating dependencies for objective: $$i]"; \
  case $$i in \
    *.c)        ${CC} -MM ${PICFLAGS} ${CPPFLAGS} ${CFLAGS} $$i >> .depend;; \
    *.cc|*.cxx) ${CXX} -MM ${PICFLAGS} ${CPPFLAGS} ${CXXFLAGS} $$i >> .depend;; \
    *)           echo "ACK!"; exit 1;; \
  esac \
done; \
Comment 9 Tony Vroon (RETIRED) gentoo-dev 2007-09-30 00:27:19 UTC
This practise should have stopped in version 2 of objective make, now in use. It also has an uninstall target now.

If you have time to see whether it addresses your concerns, that'd be appreciated. http://hg.atheme.org/audacious
http://hg.atheme.org/audacious-plugins
Comment 10 SpanKY gentoo-dev 2007-09-30 01:02:44 UTC
i dont actually use audacious anymore (way too unstable to be usable), and in order to build the hg plugins repo, i'd need to build/install the audacious package ... which is a pain

if there were an audacious-9999 ebuild which pulled from the hg repo, that'd make testing a hell of a lot easier ...
Comment 11 Tony Vroon (RETIRED) gentoo-dev 2007-12-19 12:45:35 UTC
We have 1.4 releases out now (and in portage) that use the new build system. While there could still be a few places where the wrong flags are used, it should be a *lot* less common. Could you test please?
Comment 12 SpanKY gentoo-dev 2007-12-21 03:21:44 UTC
looking at the build log for 1.4.2, i dont see the warnings anymore ... so either it's fixed, or the build system redirects warnings