FreeBSD Linux compatible mode

Понадобилось мне поставить сервер CS 1.6 на родную фрю. Эмулятор линукса уже стоял, поэтому особо не заморачивался. Запускаю бинарник… и нифига:

./steam: error while loading shared libraries: /usr/lib/librt.so.1: ELF file OS ABI invalid

Кому интересно – идем под кат. Остальные – не парьтесь 😉

Старый добрый гуглеж навел на мысль:

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), и наслаждаемся 🙂

Leave a Reply