LINUX.ORG.RU

Gentoo x64 и libSDL x32

 , , ,


0

2

Попробовал установить новую версию любимого рогалика DF, но посыпались многочисленные ошибки. Недолгое гугление показало необходимость установки 32 битных библиотек, а так как система у меня 64 битная, это подводит меня к такому понятию как Multilib.

Собственно вопрос, как мне установить 32 битную libsdl?

Строка media-libs/libsdl abi_x86_32 в portage.use не помогает, как собственно и ABI_X86=«64 32» в make.conf. Флаг в профиле не замаскирован.

$ eix emul-linux- sdl                                                                                                                                           ~
* app-emulation/emul-linux-x86-sdl
     Available versions:  20131008^s 20140406-r2^s 20140508^s {+development ABI_X86="32"}
     Homepage:            http://dev.gentoo.org/~pacho/emul.html
     Description:         Provides precompiled 32bit libraries

Вроде как ABI_X86 имеют смысл только на тестовой ветке.

$ eix libsdl | grep Installed                                                                                                                                   ~
     Installed versions:  1.2.15-r7(09:55:12 20.07.2014)(X aalib alsa dga joystick opengl pulseaudio sound video xv -custom-cflags -fbcon -libcaca -nas -oss -static-libs -tslib -xinerama ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32")
     Installed versions:  2.0.3(09:56:23 20.07.2014)(X alsa dbus joystick mmx opengl pulseaudio sound sse sse2 threads udev video -3dnow -altivec -custom-cflags -fusionsound -gles -haptic -nas -oss -static-libs -tslib -wayland -xinerama -xscreensaver ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32")

NeverLoved ★★★★★
()

1) emerge emul (как в первом посте)
2) libz надо подгружать еще нормальную.

env LD_PRELOAD=/lib32/libz.so.0 ./df_linux

takino ★★★★★
()
Ответ на: комментарий от NeverLoved

emul-linux-x86-sdl ставил, но появились другие ошибки связанные с libpng. Который тоже в свою очередь нужен 32 битный.

Majesty911
() автор топика
Ответ на: комментарий от takino
env LD_PRELOAD=/lib32/libz.so.1 ./df

Выдает ошибку, но все же запускается. Забавно.

ERROR: ld.so: object '/lib32/libz.so.1' from LD_PRELOAD cannot be preloaded: ignored.

Majesty911
() автор топика

Работает, спасибо за помощь.

Majesty911
() автор топика
Ответ на: комментарий от Majesty911

ты запускаешь не бинарь, а скрипт.
Скрипт df_linux.
он запускается 64'х битным /bin/sh, которому ядро пытается подсунуть 32битную либку, что генерит ошибку.
Потом в есть скрипте ./libs/Dwarf_Fortress, и ядро подгружает уже к нему 32хбитную libz.so, и это происходит успешно.
Проблема не в png, а в bundled libz.so, слишком старом для использования современного libpng.so. Можно поправить скрипт, чтобы там было

env LD_PRELOAD=/lib32/libz.so.1 ./libs/Dwarf_Fortress

takino ★★★★★
()
Ответ на: комментарий от NeverLoved

это zlib.

[I] sys-libs/zlib
     Available versions:  1.2.3-r1 (~)1.2.4 (~)1.2.5 1.2.5-r2 1.2.5.1-r2 1.2.6 (~)1.2.7 1.2.8-r1 {minizip static-libs ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32"}
     Installed versions:  1.2.8-r1(12:49:17 AM 07/05/2014)(minizip -static-libs ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="64 -32 -x32")
     Homepage:            http://www.zlib.net/
     Description:         Standard (de)compression library

takino ★★★★★
()
Ответ на: комментарий от NeverLoved
$ eix emul-linux- sdl
     Available versions:  20131008^s 20140406-r2^s 20140508^s {+development ABI_X86="32"}
     Installed versions:  20140508^s(16:15:04 02.08.2014)(development ABI_X86="-32")
     Homepage:            http://dev.gentoo.org/~pacho/emul.html
     Description:         Provides precompiled 32bit libraries
root# eix libsdl | grep Installed 
     Installed versions:  1.2.15-r4(16:31:17 01.08.2014)(X alsa joystick opengl sound video xv -aalib -custom-cflags -dga -directfb -fbcon -ggi -libcaca -nas -oss -ps3 -pulseaudio -static-libs -svga -tslib -xinerama)

Я думал, что ты мне показал как оно у тебя выглядет, лол.

Majesty911
() автор топика
Ответ на: комментарий от anonymous

Так понятно же что ТС не знает что никакого x64 не существует, а то что он назвал x32 совсем не то о чём он думал.

haku ★★★★★
()
Ответ на: комментарий от takino

скрипты не всегда пашут.. не помню какая нативка, но проще бинарник было запустить..

ЗЫ:: правка тоже не всегда дает резалты, если не кардинальная, конечно..

TODD ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.