Gentoo Music Player Daemon (MPD) and ALSA installing: различия между версиями

Материал из AlexNook
Перейти к навигацииПерейти к поиску
Строка 6: Строка 6:


{{USEFlag|extended=yes| {{EnableFlag|aac}} {{EnableFlag|alsa}} {{EnableFlag|bzip2}} {{EnableFlag|cue}} {{EnableFlag|curl}} {{EnableFlag|flac}} {{EnableFlag|id3}} {{EnableFlag|ipv6}} {{EnableFlag|lame}} {{EnableFlag|network}} {{EnableFlag|sqlite}} {{EnableFlag|unicode}} {{EnableFlag|wavpack}} {{EnableFlag|zip}} {{DisableFlag|ao}} {{DisableFlag|audiofile}} {{DisableFlag|avahi}} {{DisableFlag|cdio}} {{DisableFlag|debug}} {{DisableFlag|ffmpeg}} {{DisableFlag|fifo}} {{DisableFlag|fluidsynth}} {{DisableFlag|jack}} {{DisableFlag|lastfmradio}} {{DisableFlag|libmms}} {{DisableFlag|libsamplerate}} {{DisableFlag|mad}} {{DisableFlag|mikmod}} {{DisableFlag|modplug}} {{DisableFlag|musepack}} {{DisableFlag|ogg}} {{DisableFlag|oss}} {{DisableFlag|pipe}} {{DisableFlag|profile}} {{DisableFlag|pulseaudio}} {{DisableFlag|sid}} {{DisableFlag|vorbis}} {{DisableFlag|wildmidi}} }}
{{USEFlag|extended=yes| {{EnableFlag|aac}} {{EnableFlag|alsa}} {{EnableFlag|bzip2}} {{EnableFlag|cue}} {{EnableFlag|curl}} {{EnableFlag|flac}} {{EnableFlag|id3}} {{EnableFlag|ipv6}} {{EnableFlag|lame}} {{EnableFlag|network}} {{EnableFlag|sqlite}} {{EnableFlag|unicode}} {{EnableFlag|wavpack}} {{EnableFlag|zip}} {{DisableFlag|ao}} {{DisableFlag|audiofile}} {{DisableFlag|avahi}} {{DisableFlag|cdio}} {{DisableFlag|debug}} {{DisableFlag|ffmpeg}} {{DisableFlag|fifo}} {{DisableFlag|fluidsynth}} {{DisableFlag|jack}} {{DisableFlag|lastfmradio}} {{DisableFlag|libmms}} {{DisableFlag|libsamplerate}} {{DisableFlag|mad}} {{DisableFlag|mikmod}} {{DisableFlag|modplug}} {{DisableFlag|musepack}} {{DisableFlag|ogg}} {{DisableFlag|oss}} {{DisableFlag|pipe}} {{DisableFlag|profile}} {{DisableFlag|pulseaudio}} {{DisableFlag|sid}} {{DisableFlag|vorbis}} {{DisableFlag|wildmidi}} }}
{{note| Для установки всех флагов их надо занести в {{root|nano /etc/portage/package.use}} }}
Однако, как обычно всё гладко не бывает в жизни. После установки всех необходимых сопуствующих программ система приступила к установке собственного самого mpd и на этом остановилась с ошибкой:
<syntaxhighlight lang="bash" line start="1" line="GESHI_FANCY_LINE_NUMBERS" enclose="div">
* ERROR: media-sound/mpd-0.15.15 failed.
* Call stack:
* ebuild.sh, line 49: Called pkg_setup
* mpd-0.15.15.ebuild, line 60: Called enewuser 'mpd' '' '' '/var/lib/mpd' 'audio'
* eutils.eclass, line 726: Called die
* The specific snippet of code:
* useradd -r ${opts} \
* -c "added by portage for ${PN}" \
* ${euser} \
* || die "enewuser failed"
* The die message:
* enewuser failed
</syntaxhighlight>
Подтверждение этой ошибки я нашёл вот [http://www.musicpd.org/mantis/view.php?id=3092 тут]. Если прочитать ошибку, то видно, что проблема в невозможности создать пользователя для mpd, что он не запускался от root'а. Далее я открыл на правку файл, который и вызвал этот затык и внёс в него следующие коррективы:
{{root|vim /usr/portage/eclass/eutils.eclass}}
{{File|/etc/conf.d/net|
<syntaxhighlight lang="bash" line start="729" line="GESHI_FANCY_LINE_NUMBERS" enclose="div">
if [[ -z $@ ]] ; then
useradd  ${opts} \
-c "added by portage for ${PN}" \
${euser} \
|| die "enewuser failed"
else
einfo " - Extra: $@"
useradd -r ${opts} "$@" \
${euser} \
|| die "enewuser failed"
fi
</syntaxhighlight>
}}





Версия 17:15, 7 марта 2011

Решил использовать свой gentoo server box для проигрывания музыки. Купил нужные провода для соединения с системой 5.1. Дальше встал вопрос - как проигрывать музыку удалённо, управляя сервером. ПОтратил некоторое время для поиска консольного плеера, чтобы запускать его по ssh, но случайно наткрунлся на клиент-серверную программу MPD. Прочитал о программе, крайне понравилась идея и огромное количество клиентов подовсе ОС, и даже, веб клиенты, что мне особенно понравилось! Решено, надо установить эту замечательную штуку.

Утсновка Music Player Daemon под Gentoo

Сперва надо выполнить стандартный

emerge -v mpd

Use Flags: aac alsa bzip2 cue curl flac id3 ipv6 lame network sqlite unicode wavpack zip -ao -audiofile -avahi -cdio -debug -ffmpeg -fifo -fluidsynth -jack -lastfmradio -libmms -libsamplerate -mad -mikmod -modplug -musepack -ogg -oss -pipe -profile -pulseaudio -sid -vorbis -wildmidi (?)

Note: Для установки всех флагов их надо занести в
nano /etc/portage/package.use

Однако, как обычно всё гладко не бывает в жизни. После установки всех необходимых сопуствующих программ система приступила к установке собственного самого mpd и на этом остановилась с ошибкой:

 * ERROR: media-sound/mpd-0.15.15 failed.
 * Call stack:
 * ebuild.sh, line 49: Called pkg_setup
 * mpd-0.15.15.ebuild, line 60: Called enewuser 'mpd' '' '' '/var/lib/mpd' 'audio'
 * eutils.eclass, line 726: Called die
 * The specific snippet of code:
 * useradd -r ${opts} \
 * -c "added by portage for ${PN}" \
 * ${euser} \
 * || die "enewuser failed"
 * The die message:
 * enewuser failed

Подтверждение этой ошибки я нашёл вот тут. Если прочитать ошибку, то видно, что проблема в невозможности создать пользователя для mpd, что он не запускался от root'а. Далее я открыл на правку файл, который и вызвал этот затык и внёс в него следующие коррективы:

vim /usr/portage/eclass/eutils.eclass
File: /etc/conf.d/net
if [[ -z $@ ]] ; then
	useradd  ${opts} \
	-c "added by portage for ${PN}" \
		${euser} \
		|| die "enewuser failed"
else
	einfo " - Extra: $@"
	useradd -r ${opts} "$@" \
		${euser} \
		|| die "enewuser failed"
fi