Понадобилось мне поставить сервер CS 1.6 на родную фрю. Эмулятор линукса уже стоял, поэтому особо не заморачивался. Запускаю бинарник… и нифига:
./steam: error while loading shared libraries: /usr/lib/librt.so.1: ELF file OS ABI invalid
Кому интересно – идем под кат. Остальные – не парьтесь ;)
Старый добрый гуглеж навел на мысль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Running /compat/linux/bin/date for instance gives: /compat/linux/bin/date: error while loading shared libraries: /usr/lib/librt.so.1: ELF file OS ABI invalid I think I've found the cause though. "/compat/linux/sbin/ldconfig -p" gives the following for librt.so.1: librt.so.1 (libc6, OS ABI: Linux 2.4.20) => /lib/librt.so.1 Changing the compat.linux.osrelease sysctl value from 2.4.2 to 2.4.20 solves the problem (matlab works in console mode, there's still a problem with java however so no graphical mode). The advice in /usr/ports/UPDATING mentioned that this sysctl value shouldn't be changed though, so perhaps this is simply a typo in the default value? |
Перевожу на русский: версия библиотеки не совпадает с версией ядра эмулятора. Посему через sysctl выставляем нужную версию (у меня была как раз 2.4.2, а нужна 2.4.20), и наслаждаемся :)