Не смог установить Steam...

Что в оверлее 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 или что-то надо собрать вручную?

У меня стоит 2.0.0_pre7022 из steam-overlay. Используйте все-таки его.

Попробуйте включить USE audio для media-libs/libsdl. audio только для 1.x-версии.

У меня собрано с такими флагами:

X alsa asm mmx opengl pulseaudio sse sse2 threads video xcursor xinerama xinput xscreensaver

И попробуйте revdep-rebuild прогнать.

так для установки 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). Что ещё сделать?

Удалите gamerlay. Добавьте steam.

Внимательно просмотрите все записи в /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

Скиньте на wgetpaste всё, что у вас есть в /etc/portage/package.keywords

так же содержимое /var/lib/portage/world

Не собиралась 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.

B. X. wrote:

так для установки steam он требует именно libsdl-2.0.0_pre9999,
предыдущая-то версия нормально устанавливается… но с ней steam не устанавливается… сейчас же из gamerlay стоит libsdl-2.0.0_pre7001 (а требует самый последний)… libsdl-2.0.0_pre7001-r1

Это ОЧЕНЬ странно (скорее всего просто предлагает размаскировать последний из имеющихся), ибо по зависимостям:

 # grep libsdl-2 /var/lib/layman/gamerlay/games-util/*/*ebuild
/var/lib/layman/gamerlay/games-util/steam-client-meta/steam-client-meta-0-r20130314.ebuild:         >=media-libs/libsdl-2.0.0_pre6964:2[abi_x86_32]
/var/lib/layman/gamerlay/games-util/steam-client-meta/steam-client-meta-0-r20130314.ebuild:         >=media-libs/libsdl-2.0.0_pre6964
/var/lib/layman/gamerlay/games-util/steam-client-meta/steam-client-meta-0-r20130316.ebuild:         >=media-libs/libsdl-2.0.0_pre6964:2[abi_x86_32]
/var/lib/layman/gamerlay/games-util/steam-client-meta/steam-client-meta-0-r20130316.ebuild:         >=media-libs/libsdl-2.0.0_pre6964

 # grep libsdl-2 /var/lib/layman/steam/games-util/*/*ebuild
/var/lib/layman/steam/games-util/steam-client-meta/steam-client-meta-0-r20130316.ebuild:            >=media-libs/libsdl-2.0.0_pre6964:2[abi_x86_32]
/var/lib/layman/steam/games-util/steam-client-meta/steam-client-meta-0-r20130316.ebuild:            >=media-libs/libsdl-2.0.0_pre6964

Таким образом версии из обоих оверлеев требуют >=media-libs/libsdl-2.0.0_pre6964

В любом случае выше уже написал, что нуждно для «счастья».

B. X. wrote:

Попробовал.
Нашёл такую строчку в /etc/portage/package.use/
Она была вида: >=media-libs/libsdl-2.0.0_pre9999 abi_x86_32

Изменил её и получил то, что ниже…

В /etc/portage/package.keywords у вас должно быть

games-util/steam-*::steam-overlay       ~amd64

(~amd64 можете не писать)
В /etc/portage/package.use

games-util/steam-launcher       -steamruntime …
media-libs/libsdl:2         -nas …

(вместо … должны стоять ваши выбранные флаги или ничего)
Если флаг steamruntime включить (т.е. без минуса), то media-libs/libsdl:2 вообще не понадобится.

Ставить Steam из оверлея "gamerlay" вообще запретите (если не хотите удалять оверлей "gamerlay"), т.е.
В /etc/portage/package.mask

games-util/steam*::gamerlay

Всем спасибо!!! Наконец-то получилось, оказывается вся проблема была в 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

Может кому-то поможет, если он столкнётся с такими же проблемами.

B. X. wrote:

Всем спасибо!!! Наконец-то получилось, оказывается вся проблема была в package.use в который emerge почему-то требовал впихнуть кусок с этой библиотекой 9999…

И всё-равно не правильно.

=media-libs/libsdl-2.0.0_pre7022 ~amd64

будут проблемы (например при выходе новой версии sdl), надо так

media-libs/libsdl ~amd64

а ещё лучше без ~amd64, имхо.
и тут

media-libs/libsdl:2            -nas pulseaudio
…
=media-libs/libsdl-2.0.0_pre7022 abi_x86_32

заменить на одну строчку

media-libs/libsdl:2 abi_x86_32 -nas pulseaudio

а то так и будут плодится по 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 распостраняется… видео вроде тоже неплохое… надо попробовать…