Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
audacious-plugins fails with gcc 5
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6639
Location: The soundosphere

PostPosted: Wed Aug 03, 2016 9:21 pm    Post subject: audacious-plugins fails with gcc 5 Reply with quote

Trying to compile audacious-plugins-3.7.1-r1 (or 3.7.1) after upgrading to gcc 5 ends like so:

Code:

Successfully compiled desmume/arm_instructions.cc (plugin).
Successfully linked xsf.so.
Leaving directory xsf.
make[2]: *** [../buildsys.mk:116: all] Error 2
make[1]: *** [buildsys.mk:123: src] Error 2
make: *** [buildsys.mk:116: all] Error 2


What happened, and how do I fix it?
_________________
decibel Linux: https://decibellinux.org
Github: https://github.com/Gentoo-Music-and-Audio-Technology
Facebook: https://www.facebook.com/decibellinux
Discord: https://discord.gg/73XV24dNPN
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1791

PostPosted: Wed Aug 03, 2016 10:32 pm    Post subject: Reply with quote

Now, how about giving us the full build.log so we can get the actual error message.
Back to top
View user's profile Send private message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6639
Location: The soundosphere

PostPosted: Thu Aug 04, 2016 3:44 pm    Post subject: Reply with quote

That's actually the entire error message, but here is the build log.

emerge --info '=media-plugins/audacious-plugins-3.7.1-r1::gentoo':

Code:

Portage 2.3.0 (python 3.4.5-final-0, default/linux/amd64/13.0, gcc-5.4.0, glibc-2.23-r2, 4.6.2-rt-rt5 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.6.2-rt-rt5-x86_64-AMD_A10-7800_Radeon_R7,_12_Compute_Cores_4C+8G-with-gentoo-2.2
KiB Mem:    11228684 total,   4722292 free
KiB Swap:     524284 total,    514240 free
Timestamp of repository gentoo: Wed, 03 Aug 2016 21:00:01 +0000
sh bash 4.3_p46
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
app-shells/bash:          4.3_p46::gentoo
dev-lang/perl:            5.24.0-r1::gentoo
dev-lang/python:          2.7.12::gentoo, 3.4.5::gentoo, 3.5.2::gentoo
dev-util/cmake:           3.6.1::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2-r1::gentoo
sys-apps/openrc:          0.21.3::gentoo
sys-apps/sandbox:         2.10-r2::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo, 2.26.1::gentoo
sys-devel/gcc:            4.9.3::gentoo, 5.4.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.7::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

GentooStudioLocal
    location: /usr/local/portage
    masters: gentoo
    priority: 10

proaudio
    location: /var/lib/layman/proaudio
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/easy-rsa /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://www.gtlib.gatech.edu/pub/gentoo http://lug.mtu.edu/gentoo/ http://gentoo.osuosl.org/ http://mirrors.rit.edu/gentoo/"
LANG="en_US"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j12"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="256-color X a52 aac aacplus acl alsa amd64 audacious berkdb bindist bzip2 cairo cdda cddb cdio cli consolekit corefonts cracklib crypt cups cxx dbus dirac dri dssi dts dv dvd encode equalizer faac ffmpeg fftw flac fluidsynth fortran freesound g3dvl gdbm gif glamor gtk gtk3 gudev hwdb iconv icu id3 id3tag ieee1394 ipv6 jack jackmidi jpeg ladspa lame libsamplerate lv2 mad matroska midi minizip mmx mmxext modules mp3 mp4 mpeg mpg123 multilib musepack musicbrainz ncurses netjack nls nptl ogg opengl openmp pam pcre pcre16 png policykit python qt3support qt5 quicktime readline realtime resolvconf rubberband schroedinger seccomp session shine shout skins sndfile soundtouch sse sse2 ssl svg taglib tcpd theora tiff timidity truetype twolame udev unicode usb vcd vorbis wav wavpack x264 xattr xine xkb xml xvfb xvid xvmc zlib" ABI_X86="32 64" 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" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx fma3 fma4 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 xop" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON


emerge -pqv '=media-plugins/audacious-plugins-3.7.1-r1::gentoo':

Code:

[ebuild     U ] media-plugins/audacious-plugins-3.7.1-r1 [3.7.1] USE="aac adplug alsa cdda ffmpeg flac fluidsynth gtk3 jack lame libsamplerate mp3 nls sndfile vorbis wavpack -bs2b -cue -gnome -gtk -http -libnotify -lirc -mms -pulseaudio -qt5 -scrobbler -sdl -sid"

_________________
decibel Linux: https://decibellinux.org
Github: https://github.com/Gentoo-Music-and-Audio-Technology
Facebook: https://www.facebook.com/decibellinux
Discord: https://discord.gg/73XV24dNPN
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 8291
Location: Saint Amant, Acadiana

PostPosted: Thu Aug 04, 2016 4:01 pm    Post subject: Reply with quote

The first thing I do troubleshooting issue like this is building with -j1, with multiple make instances running the log is messy.
_________________
My Gentoo installation notes.
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8936

PostPosted: Thu Aug 04, 2016 4:44 pm    Post subject: Reply with quote

audiodef wrote:
That's actually the entire error message, but here is the build log.

I can spot the actual error message in there but it's awful. Did you really pick the build.log file or somehow redirected colorful output to a file?
Back to top
View user's profile Send private message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6639
Location: The soundosphere

PostPosted: Thu Aug 04, 2016 5:31 pm    Post subject: Reply with quote

That was the actual build log.

I keep forgetting to try -j1 first, thanks for the reminder. Doing that, I get something more useful:

Code:

Entering directory jack-ng.
Successfully generated dependencies.
jack-ng.cc: In member function 'virtual void JACKOutput::close_audio()':
jack-ng.cc:259:42: error: no matching function for call to 'end(jack_port_t* [10])'
     std::fill (m_ports, std::end (m_ports), nullptr);
                                          ^
In file included from /usr/include/libaudcore/audstrings.h:26:0,
                 from jack-ng.cc:22:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/initializer_list:99:5: note: candidate: template<class _Tp> constexpr const _Tp* std::end(std::initializer_list<_Tp>)
     end(initializer_list<_Tp> __ils) noexcept
     ^
/usr/lib/gcc/x86_64-pc-linux-gnu/5.4.0/include/g++-v5/initializer_list:99:5: note:   template argument deduction/substitution failed:
jack-ng.cc:259:42: note:   mismatched types 'std::initializer_list<_Tp>' and 'jack_port_t** {aka _jack_port**}'
     std::fill (m_ports, std::end (m_ports), nullptr);
                                          ^
Failed to compile jack-ng.cc (plugin)!
make[5]: *** [../../buildsys.mk:414: jack-ng.plugin.o] Error 1
make[4]: *** [../../buildsys.mk:118: all] Error 2
make[3]: *** [../buildsys.mk:123: jack-ng] Error 2
make[2]: *** [../buildsys.mk:116: all] Error 2
make[1]: *** [buildsys.mk:123: src] Error 2
make: *** [buildsys.mk:116: all] Error 2


Successfully compiles with -jack, but this is not a happy solution.

Same thing happens if I try earlier versions, so I doubt it's a bug with audacious-plugins.
_________________
decibel Linux: https://decibellinux.org
Github: https://github.com/Gentoo-Music-and-Audio-Technology
Facebook: https://www.facebook.com/decibellinux
Discord: https://discord.gg/73XV24dNPN
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8936

PostPosted: Thu Aug 04, 2016 5:49 pm    Post subject: Reply with quote

jack was rebuilt after your GCC-5 upgrade?
Back to top
View user's profile Send private message
audiodef
Watchman
Watchman


Joined: 06 Jul 2005
Posts: 6639
Location: The soundosphere

PostPosted: Thu Aug 04, 2016 5:56 pm    Post subject: Reply with quote

Yup, still no dice. Had to switch to gcc 4 to get it to compile with jack.
_________________
decibel Linux: https://decibellinux.org
Github: https://github.com/Gentoo-Music-and-Audio-Technology
Facebook: https://www.facebook.com/decibellinux
Discord: https://discord.gg/73XV24dNPN
Back to top
View user's profile Send private message
Logicien
Veteran
Veteran


Joined: 16 Sep 2005
Posts: 1555
Location: Montréal

PostPosted: Thu Aug 04, 2016 9:53 pm    Post subject: Reply with quote

One thing I remark is when you mixte dependancy packages amd64 with ~amd64 it may fail. Your using audacious-plugins-3.7.1-r1 and gcc-5? who are both ~amd64.

If you cannot reach the goal of compiling audacious-plugins with gcc ~amd64 (without disabling USE flags), it's just because you are working with unstable versions who are not ready for production and cannot expect to succeed unless you are a developper of those packages or have equivalent knowledge. This is my personnal opinion and approch with ~.
_________________
Paul
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21633

PostPosted: Fri Aug 05, 2016 1:22 am    Post subject: Reply with quote

That looks to me like a bug exposed by cleanup on the gcc side. System headers often include other headers to satisfy prerequisites. Sometimes, the immediate header includes more than it needed. This may slow compilation, but does not harm correctness. However, if an application assumes that including <foo> will also include <bar> (because the currently released versions happen to work that way) and the standard does not guarantee that inclusion, then the owner of <foo> (in this case, gcc) may at some point change so that it no longer includes <bar>. In this case, it looks like audacious included headers that, under gcc-4.9, happened to include a definition of std::end for C arrays. Under gcc-5, that header is no longer included by gcc's headers, so audacious needs to specify the inclusion explicitly. Please patch that file to #include <iterator> among the other includes and try again.
Back to top
View user's profile Send private message
turtles
Veteran
Veteran


Joined: 31 Dec 2004
Posts: 1657

PostPosted: Sat Apr 15, 2017 6:37 pm    Post subject: Reply with quote

Hu wrote:
That looks to me like a bug exposed by cleanup on the gcc side. System headers often include other headers to satisfy prerequisites. Sometimes, the immediate header includes more than it needed. This may slow compilation, but does not harm correctness. However, if an application assumes that including <foo> will also include <bar> (because the currently released versions happen to work that way) and the standard does not guarantee that inclusion, then the owner of <foo> (in this case, gcc) may at some point change so that it no longer includes <bar>. In this case, it looks like audacious included headers that, under gcc-4.9, happened to include a definition of std::end for C arrays. Under gcc-5, that header is no longer included by gcc's headers, so audacious needs to specify the inclusion explicitly. Please patch that file to #include <iterator> among the other includes and try again.

Ran into this today

In case it saves someone some time here after a failed build is the quick fix:
cd to the build dir
Code:
/var/tmp/portage/media-plugins/audacious-plugins-3.7.1/work/audacious-plugins-3.7.1/src/jack-ng

Edit
Code:
jack-ng.cc

add the line
Quote:
#include <iterator>

like they did upstream
ebuild /usr/portage/media-plugins/audacious-plugins/audacious-plugins-3.7.1.ebuild compile
ebuild /usr/portage/media-plugins/audacious-plugins/audacious-plugins-3.7.1.ebuild install
ebuild /usr/portage/media-plugins/audacious-plugins/audacious-plugins-3.7.1.ebuild qmerge

https://bugs.gentoo.org/show_bug.cgi?id=596444
_________________
Donate to Gentoo
Back to top
View user's profile Send private message
szamó
n00b
n00b


Joined: 16 Aug 2003
Posts: 9

PostPosted: Sat Jun 17, 2017 8:13 pm    Post subject: Reply with quote

Thank you for the simple, effective solution. I believe it is in the 3.7.1-r1 package now, although it is masked in my Gentoo.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum