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