Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 425168 - media-sound/mpd-0.17 - configure: error: No encoder plugin found
Summary: media-sound/mpd-0.17 - configure: error: No encoder plugin found
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Christoph Mende (RETIRED)
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2012-07-07 14:54 UTC by Casper Ti. Vector
Modified: 2012-07-11 09:58 UTC (History)
3 users (show)

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


Attachments
build.log (build.log,8.00 KB, text/plain)
2012-07-09 02:12 UTC, Casper Ti. Vector
Details
Proposed ebuild with a correspondent USE flag (mpd-0.17.ebuild,5.51 KB, text/plain)
2012-07-10 03:13 UTC, Casper Ti. Vector
Details
Different between original and proposed ebuilds (mpd-0.17.diff,1.67 KB, patch)
2012-07-10 03:14 UTC, Casper Ti. Vector
Details | Diff
Updated patch (mpd-0.17.diff,1.78 KB, patch)
2012-07-10 15:46 UTC, Casper Ti. Vector
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Casper Ti. Vector 2012-07-07 14:54:18 UTC
A new configure option, `--enable-recorder-output', was added unconditionally (i.e. without an USE flag as a switch) in the ebuild of media-sound/mpd-0.17. This makes the configure script looks for a encoder plugin (vorbis/lame/twolame/flac/wave, controlled by correspondent USE flags) and bail out if none of them is enabled (see the code snippets from the configure.ac below).

=====================================================================
if test x$enable_shout = xyes || \
	test x$enable_recorder_output = xyes || \
	test x$enable_httpd_output = xyes; then
	# at least one output using encoders is explicitly enabled
	need_encoder=yes
=====================================================================
if test x$need_encoder = xyes; then
	AC_MSG_ERROR([No encoder plugin found])
fi
=====================================================================

Since the description in the configure.ac reads "enables the recorder file output plugin (default: disable)", and the configure option is unconditionally set in the ebuild, I think there must be some considerations behind that, but found no related information in either comments or change log.

Therefore I think it would be better to document the reasons (if any) behind the determination somewhere, or define an USE flag otherwise. Thanks :)
Comment 1 Casper Ti. Vector 2012-07-07 16:18:55 UTC
Sorry for the incomplete information, but the second snippet should be:

=====================================================================
if test x$enable_vorbis_encoder != xno ||
	test x$enable_lame_encoder != xno ||
	test x$enable_twolame_encoder != xno ||
	test x$enable_flac_encoder != xno ||
	test x$enable_wave_encoder != xno; then
	# at least one encoder plugin is enabled
	enable_encoder=yes
else
	# no encoder plugin is enabled: disable the whole encoder API
	enable_encoder=no

	if test x$need_encoder = xyes; then
		AC_MSG_ERROR([No encoder plugin found])
	fi
fi
=====================================================================
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2012-07-09 01:25:22 UTC
1) Please post your `emerge --info media-sound/mpd' output in a comment.
2) Please attach the entire build log to this bug report.
Comment 3 Casper Ti. Vector 2012-07-09 02:12:43 UTC
Created attachment 317640 [details]
build.log
Comment 4 Casper Ti. Vector 2012-07-09 02:13:05 UTC
Portage 2.1.11.5 (default/linux/amd64/10.0/desktop, gcc-4.6.3, glibc-2.15-r2, 3.4.4-gentoo x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.4.4-gentoo-x86_64-Intel-R-_Pentium-R-_Dual_CPU_T2370_@_1.73GHz-with-gentoo-2.1
Timestamp of tree: Sun, 08 Jul 2012 12:45:01 +0000
app-shells/bash:          4.2_p29
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.8-r3
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.5
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.11.5, 1.12.1
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4 (virtual/os-headers)
sys-libs/glibc:           2.15-r2::caspervector
Repositories: gentoo gentoo-zh gentoo-haskell caspervector
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /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/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --keep-going=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fakeroot fixlafiles metadata-transfer news parallel-fetch parallel-install parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirrors.ustc.edu.cn/gentoo/ http://mirror.bjtu.edu.cn/gentoo/"
LANG="en_GB.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en_GB"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--human-readable --timeout 15"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/gentoo-zh /var/lib/layman/haskell /usr/local/portage"
SYNC="rsync://rsync.cn.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cxx dbus dri dts dvd dvdr emboss encode exif fam ffmpeg firefox flac fontconfig fortran gif gnutls gpg gpm gtk gtk3 iconv ipv6 jpeg lcms libedit libnotify mad maildir mmx mng modules mp3 mp4 mpeg mudflap multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pppd qt3support qt4 readline sdl session smp socks5 spell sse sse2 sse3 ssl ssse3 startup-notification svg system-sqlite tcpd threads tiff truetype udev udisks unicode upower usb vaapi vorbis wxwidgets x264 xcb xft xinerama xml xorg xv xvid zlib zsh-completion" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul 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 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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" 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 ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en_GB" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel" 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:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

media-sound/mpd-0.17 was built with the following:
USE="alsa cue ffmpeg fifo id3tag ipv6 (multilib) tcpd unicode -aac -ao -audiofile -bzip2 -cdio -curl -debug -flac -fluidsynth -inotify -jack -lame -lastfmradio -libsamplerate -mad -mikmod -mms -modplug -mpg123 -musepack -network -ogg -openal -oss -pipe -profile -pulseaudio -sid -sndfile -sqlite -twolame -vorbis -wavpack -wildmidi -zeroconf -zip"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -L/usr/lib64/sidplay/builders"
Comment 5 Casper Ti. Vector 2012-07-09 02:15:55 UTC
The reason why configure failed is already clear, so I think attaching config.log is unneeded. (And for the same reason I originally thought posting the `emerge --info' output and build.log is unneeded.)
Comment 6 Casper Ti. Vector 2012-07-10 03:13:26 UTC
Created attachment 317748 [details]
Proposed ebuild with a correspondent USE flag
Comment 7 Casper Ti. Vector 2012-07-10 03:14:20 UTC
Created attachment 317750 [details, diff]
Different between original and proposed ebuilds
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2012-07-10 14:35:27 UTC
Comment on attachment 317748 [details]
Proposed ebuild with a correspondent USE flag

--- mpd-0.17.ebuild     2012-07-05 17:09:41.000000000 +0200
+++ -   2012-07-10 16:35:17.075012634 +0200
@@ -14,15 +14,16 @@
 KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sh ~x86 ~x86-fbsd ~x64-macos"
 IUSE="aac +alsa ao audiofile bzip2 cdio +curl debug +fifo +ffmpeg flac
 fluidsynth +id3tag inotify ipv6 jack lame lastfmradio mms libsamplerate +mad
-mikmod modplug mpg123 musepack +network ogg openal oss pipe pulseaudio sid
-sndfile soundcloud soup sqlite tcpd twolame unicode vorbis wavpack wildmidi
+mikmod modplug mpg123 musepack +network ogg openal oss pipe pulseaudio recorder
+sid sndfile soundcloud soup sqlite tcpd twolame unicode vorbis wavpack wildmidi
 zeroconf zip"
 
 REQUIRED_USE="|| ( alsa ao fifo jack network openal oss pipe pulseaudio )
        || ( aac audiofile ffmpeg flac fluidsynth mad mikmod modplug mpg123 musepack
                        ogg flac sid vorbis wavpack wildmidi )
        network? ( || ( audiofile flac lame twolame vorbis ) )
-       lastfmradio? ( curl )"
+       lastfmradio? ( curl )
+       recorder? ( || ( audiofile flac lame twolame ) )"
 
 RDEPEND="!<sys-cluster/mpich2-1.4_rc2
        dev-libs/glib:2
@@ -88,7 +89,7 @@
 src_configure() {
        local mpdconf="--disable-despotify --disable-documentation --disable-ffado
                --disable-gme --disable-mvp --disable-roar --enable-largefile
-               --enable-recorder-output --enable-tcp --enable-un
+               --enable-tcp --enable-un
                --docdir=${EPREFIX}/usr/share/doc/${PF}"
 
        if use network; then
@@ -135,6 +136,7 @@
                $(use_enable oss) \
                $(use_enable pipe pipe-output) \
                $(use_enable pulseaudio pulse) \
+               $(use_enable recorder recorder-output) \
                $(use_enable sid sidplay) \
                $(use_enable sndfile sndfile) \
                $(use_enable soundcloud) \
Comment 9 Casper Ti. Vector 2012-07-10 15:46:25 UTC
Created attachment 317814 [details, diff]
Updated patch

Add forgotten REQUIRED_USE of `recorder' on `vorbis'.
There might be some way to merge the REQUIRED_USE's for `network' and `recorder', but I have not find one yet.

--- /usr/portage/media-sound/mpd/mpd-0.17.ebuild	2012-07-02 23:31:20.000000000 +0800
+++ /usr/local/portage/media-sound/mpd/mpd-0.17.ebuild	2012-07-10 23:40:17.326155137 +0800
@@ -14,14 +14,15 @@
 KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sh ~x86 ~x86-fbsd ~x64-macos"
 IUSE="aac +alsa ao audiofile bzip2 cdio +curl debug +fifo +ffmpeg flac
 fluidsynth +id3tag inotify ipv6 jack lame lastfmradio mms libsamplerate +mad
-mikmod modplug mpg123 musepack +network ogg openal oss pipe pulseaudio sid
-sndfile soundcloud soup sqlite tcpd twolame unicode vorbis wavpack wildmidi
+mikmod modplug mpg123 musepack +network ogg openal oss pipe pulseaudio recorder
+sid sndfile soundcloud soup sqlite tcpd twolame unicode vorbis wavpack wildmidi
 zeroconf zip"
 
 REQUIRED_USE="|| ( alsa ao fifo jack network openal oss pipe pulseaudio )
 	|| ( aac audiofile ffmpeg flac fluidsynth mad mikmod modplug mpg123 musepack
 			ogg flac sid vorbis wavpack wildmidi )
 	network? ( || ( audiofile flac lame twolame vorbis ) )
+	recorder? ( || ( audiofile flac lame twolame vorbis ) )
 	lastfmradio? ( curl )"
 
 RDEPEND="!<sys-cluster/mpich2-1.4_rc2
@@ -88,8 +89,7 @@
 src_configure() {
 	local mpdconf="--disable-despotify --disable-documentation --disable-ffado
 		--disable-gme --disable-mvp --disable-roar --enable-largefile
-		--enable-recorder-output --enable-tcp --enable-un
-		--docdir=${EPREFIX}/usr/share/doc/${PF}"
+		--enable-tcp --enable-un --docdir=${EPREFIX}/usr/share/doc/${PF}"
 
 	if use network; then
 		mpdconf+=" --enable-shout $(use_enable vorbis vorbis-encoder)
@@ -135,6 +135,7 @@
 		$(use_enable oss) \
 		$(use_enable pipe pipe-output) \
 		$(use_enable pulseaudio pulse) \
+		$(use_enable recorder recorder-output) \
 		$(use_enable sid sidplay) \
 		$(use_enable sndfile sndfile) \
 		$(use_enable soundcloud) \
Comment 10 Christoph Mende (RETIRED) gentoo-dev 2012-07-11 09:58:09 UTC
I implemented the changes slightly different, partly because the recorder plugin also fulfills the output plugin requirement - and because the REQUIRED_USE was getting too large.
The reason this was enabled unconditionally first was because there was no obvious new dependency pulled in by this, of course I forgot about the encoder plugin requirement.
Anyway, thanks for the work done here and the report, I just committed the fix to the CVS tree.
Also, just FYI, the procedure (post emerge --info, post build.log, post config.log) is the standard procedure during bug triage, sometimes, like in this case, it is indeed unneeded ;)