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
which ebuild?
summary reads: media-plugins/audacious-plugins mixes CFLAGS/CXXFLAGS
I need ebuild versions. If it concerns 1.3.1, I'd like to have a patch with that. Thanks.
(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>
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.
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
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
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; \
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
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 ...
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?
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