Что в оверлее gamerlay, что в оверлее steam не получается обновить библиотеку libsdl до последней (в gamerlay это media-libs/libsdl-2.0.0_pre7001-r1, а в steam - media-libs/libsdl-2.0.0_pre9999), в обоих ситуациях не собирается:
collect2: выполнение ld завершилось с кодом возврата 1
make[2]: *** [libSDL2-2.0.so.0.0.0] Ошибка 1
make[2]: Выход из каталога `/var/calculate/tmp/portage/media-libs/libsdl-2.0.0_pre7001-r1/work/libsdl-2.0.0_pre7001-x86'
make[1]: *** [CMakeFiles/SDL2.dir/all] Ошибка 2
make[1]: Выход из каталога `/var/calculate/tmp/portage/media-libs/libsdl-2.0.0_pre7001-r1/work/libsdl-2.0.0_pre7001-x86'
make: *** [all] Ошибка 2
* ERROR: media-libs/libsdl-2.0.0_pre7001-r1 failed (compile phase):
* emake failed
Вот более полный лог:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libaudio.so when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libaudio.a when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libaudio.so when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libaudio.a when searching for -laudio
/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -laudio
collect2: выполнение ld завершилось с кодом возврата 1
make[2]: *** [libSDL2-2.0.so.0.0.0] Ошибка 1
make[2]: Выход из каталога `/var/calculate/tmp/portage/media-libs/libsdl-2.0.0_pre7001-r1/work/libsdl-2.0.0_pre7001-x86'
make[1]: *** [CMakeFiles/SDL2.dir/all] Ошибка 2
make[1]: Выход из каталога `/var/calculate/tmp/portage/media-libs/libsdl-2.0.0_pre7001-r1/work/libsdl-2.0.0_pre7001-x86'
make: *** [all] Ошибка 2
e[31;01m*e[0m ERROR: media-libs/libsdl-2.0.0_pre7001-r1 failed (compile phase):
e[31;01m*e[0m emake failed
e[31;01m*e[0m
e[31;01m*e[0m If you need support, post the output of `emerge --info '=media-libs/libsdl-2.0.0_pre7001-r1'`,
e[31;01m*e[0m the complete build log and the output of `emerge -pqv '=media-libs/libsdl-2.0.0_pre7001-r1'`.
e[31;01m*e[0m This ebuild is from an overlay named 'gamerlay': '/var/lib/layman/gamerlay/'
e[31;01m*e[0m The complete build log is located at '/var/calculate/tmp/portage/media-libs/libsdl-2.0.0_pre7001-r1/temp/build.log'.
e[31;01m*e[0m The ebuild environment file is located at '/var/calculate/tmp/portage/media-libs/libsdl-2.0.0_pre7001-r1/temp/environment'.
e[31;01m*e[0m Working directory: '/var/calculate/tmp/portage/media-libs/libsdl-2.0.0_pre7001-r1/work/libsdl-2.0.0_pre7001-x86'
e[31;01m*e[0m S: '/var/calculate/tmp/portage/media-libs/libsdl-2.0.0_pre7001-r1/work/libsdl-2.0.0_pre7001'
Может есть ещё оверлеи steam или что-то надо собрать вручную?
так для установки steam он требует именно libsdl-2.0.0_pre9999,
предыдущая-то версия нормально устанавливается… но с ней steam не устанавливается… сейчас же из gamerlay стоит libsdl-2.0.0_pre7001 (а требует самый последний)… libsdl-2.0.0_pre7001-r1
[U] media-libs/libsdl
Available versions:
(0) 1.2.14-r6 1.2.15-r2
(2) ~2.0.0_pre6963-r1[1] (~)2.0.0_pre7001[1] (~)2.0.0_pre7001-r1[1]
{3dnow X aalib alsa altivec aqua +asm +audio custom-cflags dga directfb fbcon fusionsound ggi gles +joystick libcaca mmx nas opengl oss ps3 pulseaudio sse sse2 static-libs svga +threads tslib +video xinerama xscreensaver xv ABI_X86="32 64 x32"}
Installed versions: 1.2.15-r2(00:34:08 11.01.2013)(X aalib alsa audio custom-cflags fbcon ggi joystick libcaca nas opengl video xinerama xv -dga -directfb -oss -ps3 -pulseaudio -static-libs -svga -tslib) 2.0.0_pre7001(2)[1](19:02:37 31.03.2013)(3dnow X alsa asm mmx nas opengl pulseaudio sse sse2 threads video xinerama -altivec -aqua -fusionsound -gles -oss -static-libs -tslib -xscreensaver ABI_X86="64 -32 -x32")
Homepage: http://www.libsdl.org/
Description: Simple Direct Media Layer
[1] "gamerlay" /var/lib/layman/gamerlay
Вот что установлено, а вот что требует:
Calculating dependencies... done!
[ebuild U ~] media-libs/libsdl-2.0.0_pre7001-r1:2::gamerlay [2.0.0_pre7001:2::gamerlay] USE="3dnow X alsa asm mmx nas opengl sse sse2 threads video xinerama (-altivec) (-aqua) -fusionsound -gles -oss -pulseaudio* -static-libs -tslib -xscreensaver" ABI_X86="32* (64) (-x32)" 0 kB
[ebuild N ~] games-util/steam-client-meta-0-r20130316::gamerlay USE="flash -trayicon" VIDEO_CARDS="intel" 0 kB
[ebuild N ~] games-util/steam-launcher-1.0.0.36::gamerlay USE="-steamruntime" 0 kB
[ebuild N ~] games-util/steam-meta-0-r20130312::gamerlay 0 kB
Total: 4 packages (1 upgrade, 3 new), Size of downloads: 0 kB
Would you like to merge these packages? [Yes/No] n
revdep-rebuild не помогает… проблема в требуемых зависимостях, которые есть, но не собираются…
вот я и хочу понять, как другие устанавливают steam и что я делаю не так?
Обновил мир (-uDn world), добавил оверлей steam или gamerlay, но ни в том, ни в том не удвётся установить последнюю версию libsdl (а без неё не устанавливается steam-meta). Что ещё сделать?
Внимательно просмотрите все записи в /etc/portage/package.keywords - libsdl-2.0.0_pre9999 не может быть размаскирована по-умолчанию. Вероятно, вы её размаскировали сами. (Особенно если использовали --autounmask-write).
У вас в keywords где-то есть похожая запись:
media-libs/libsdl ****
или
=media-libs/libsdl-2.0.0_pre9999 ****
замените её на
media-libs/libsdl ~amd64
Далее. Вам нужно ставить пакет games-util/steam-meta из steam оверлея. Версия games-util/steam-client-meta у меня 0-r20130316 (на данный момент последняя доступная в оверлее) и она не требует 9999 версии libsdl. Остальные пакеты steam вообще не требуют libsdl напрямую.
Попробовал.
Нашёл такую строчку в /etc/portage/package.use/
Она была вида: >=media-libs/libsdl-2.0.0_pre9999 abi_x86_32
Изменил её и получил то, что ниже, то есть он всё равно требует размаскировать её и опять же требует именно последнююю версию libsdl.
The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by @selected
# required by @world (argument)
=media-libs/libsdl-2.0.0_pre9999 **
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by games-util/steam-client-meta-0-r20130316::steam-overlay
# required by games-util/steam-meta-0-r20130312::steam-overlay
# required by steam-meta (argument)
>=media-libs/libsdl-2.0.0_pre9999 abi_x86_32
NOTE: The --autounmask-keep-masks option will prevent emerge
from creating package.unmask or ** keyword changes.
Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.
Версия games-util/steam-client-meta у меня 0-r20130316 (на данный момент последняя доступная в оверлее) и она не требует 9999 версии libsdl.
после emerge -av steam-meta у меня требует вот это:
[ebuild U *] media-libs/libsdl-2.0.0_pre9999:2::steam-overlay [2.0.0_pre7001:2::gamerlay] USE="3dnow X alsa asm mmx nas opengl sse sse2 threads video xcursor%* xinerama xinput%* (-altivec) (-aqua) -fusionsound -gles -oss -pulseaudio* -static-libs -tslib -xrandr% -xscreensaver -xvidmode%" ABI_X86="32* (64) (-x32)" 0 kB
[ebuild N ~] games-util/steam-client-meta-0-r20130316::steam-overlay USE="flash -trayicon" VIDEO_CARDS="intel" 0 kB
[ebuild N ~] games-util/steam-launcher-1.0.0.36::steam-overlay USE="-steamruntime" 0 kB
[ebuild N ~] games-util/steam-meta-0-r20130312::steam-overlay 0
Не собиралась media-libs/libsdl-2.0.0_… пока я не отключил флаг nas — Adds support for network audio sound.
С тех пор всё работает.
P.S.:
Устанавливаю из оверлея "steam-overlay". Сейчас стоит media-libs/libsdl-2.0.0_pre7022, но какая версия требовалась изначально уже не помню.
Да, если ставить Steam (и в частности games-util/steam-launcher) с флагом steamruntime, то libsdl2 приходит уже с ним (из убунты и ставится в хом) и ничего ставить отдельно не надо.
Всё это справедливо, если вы участник бета-тестирования — Steam -> Настройки -> Бета тестирование: Steam Beta Update. Если выйти из этого режима, то Steam не будет требовать (пока) libsdl2.
так для установки steam он требует именно libsdl-2.0.0_pre9999,
предыдущая-то версия нормально устанавливается… но с ней steam не устанавливается… сейчас же из gamerlay стоит libsdl-2.0.0_pre7001 (а требует самый последний)… libsdl-2.0.0_pre7001-r1
Это ОЧЕНЬ странно (скорее всего просто предлагает размаскировать последний из имеющихся), ибо по зависимостям:
(вместо … должны стоять ваши выбранные флаги или ничего)
Если флаг steamruntime включить (т.е. без минуса), то media-libs/libsdl:2 вообще не понадобится.
Ставить Steam из оверлея "gamerlay" вообще запретите (если не хотите удалять оверлей "gamerlay"), т.е.
В /etc/portage/package.mask
Всем спасибо!!! Наконец-то получилось, оказывается вся проблема была в package.use в который emerge почему-то требовал впихнуть кусок с этой библиотекой 9999…
Несмотря на то что написали, с даже флагом steamruntime установить libsdl всё равно потребовалось, правда не pre9999, а pre7022, теперь запись в package.use такая:
games-util/steam-launcher -steamruntime
media-libs/libsdl:2 -nas pulseaudio
# required by games-util/steam-client-meta-0-r20130316::steam-overlay
# required by games-util/steam-meta-0-r20130312::steam-overlay
# required by steam-meta (argument)
=media-libs/libsdl-2.0.0_pre7022 abi_x86_32
а в keywords такая:
games-util/steam-*::steam-overlay ~amd64
# required by games-util/steam-client-meta-0-r20130316::steam-overlay
# required by games-util/steam-meta-0-r20130312::steam-overlay
# required by steam-meta (argument)
=media-libs/libsdl-2.0.0_pre7022 ~amd64
Вот что требовало при установке, после того, как чере USE был отключён nas:
calculate harzah # emerge -av steam-meta --autounmask-write
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild NS ~] media-libs/libsdl-2.0.0_pre7022:2::steam-overlay [1.2.15-r2:0::gentoo] USE="3dnow X alsa asm mmx opengl sse sse2 threads video xcursor xinerama xinput (-altivec) (-aqua) -fusionsound -gles -nas -oss -pulseaudio -static-libs -tslib -xrandr -xscreensaver -xvidmode" ABI_X86="32 (64) (-x32)" 0 kB
[ebuild N ~] games-util/steam-client-meta-0-r20130316::steam-overlay USE="flash -trayicon" VIDEO_CARDS="intel" 0 kB
[ebuild N ~] games-util/steam-meta-0-r20130312::steam-overlay 0 kB
Total: 3 packages (2 new, 1 in new slot), Size of downloads: 0 kB
The following keyword changes are necessary to proceed:
(see "package.accept_keywords" in the portage(5) man page for more details)
# required by games-util/steam-client-meta-0-r20130316::steam-overlay
# required by games-util/steam-meta-0-r20130312::steam-overlay
# required by steam-meta (argument)
=media-libs/libsdl-2.0.0_pre7022 ~amd64
The following USE changes are necessary to proceed:
(see "package.use" in the portage(5) man page for more details)
# required by games-util/steam-client-meta-0-r20130316::steam-overlay
# required by games-util/steam-meta-0-r20130312::steam-overlay
# required by steam-meta (argument)
=media-libs/libsdl-2.0.0_pre7022 abi_x86_32
Может кому-то поможет, если он столкнётся с такими же проблемами.
Всем спасибо!!! Наконец-то получилось, оказывается вся проблема была в package.use в который emerge почему-то требовал впихнуть кусок с этой библиотекой 9999…
И всё-равно не правильно.
=media-libs/libsdl-2.0.0_pre7022 ~amd64
будут проблемы (например при выходе новой версии sdl), надо так
а то так и будут плодится по 100500 строчек для каждой версии и каждого флага
А steamruntime без libsdl у вас не пошёл, т.к. надо было abi_x86_32 вообще вынести в /etc/make.conf в USE="… abi_x86_64 abi_x86_32 -abi_x86_x32" (где … другие уже имеющиеся флаги) и убрать из /etc/portage/package.use.
Почему так? Да потому что фиг его знает какие ещё 32-битные библиотеки потребуются уже самим играм.
Ну и потом надо поставить эти 32-битные библиотеки все скопом — emerge -uDNpv world (pv — для проверки, для установки просто -uDN)
Не знаю, у меня заработало только так, как я описал.
Если я делаю как вы сказали (меняю на просто media-libs/libsdl ~amd64)
emerge сразу же требует прописать через --autounmask-write вот это:
# required by games-util/steam-client-meta-0-r20130316::steam-overlay
# required by games-util/steam-meta-0-r20130312::steam-overlay
# required by steam-meta (argument)
>=media-libs/libsdl-2.0.0_pre9999 abi_x86_32
Без этой записи он не устанавливается, а с этой записью не собирается сама библиотека… Так что, сделал как получилось… почему так не знаю, но работает и ладно… спасибо за помощь, сам бы не разобрался.
Да, ещё не плохо бы упомянуть (где-нибудь), что в первый раз Steam нужно запускать в терминале, чтобы подтвердить соглашение… а то это как бы неочевидно… хех…
Я из-за чего вообще его установил-то, в Steam появилась первая MMORPG для Linux: Champions of Regnum
Долго искал хоть одну нормальную (хоть какое-то видео чтоб было не прошлого века и геймплей хороший)… эта игра поддерживает RvR, что особо интересно и по Free to play распостраняется… видео вроде тоже неплохое… надо попробовать…