PL/Linux 64
Contents
Wprowadzenie
Poniższy artykuł jest przygotowany przez użytkownika Multi Theft Auto, a zatem mogą znajdować się w nim błędy. Użytkownik wykonuje wszystkie operacje na własną odpowiedzialność.
Testowano na Linux Debian: Lenny (x64_86).
Team MTA nie wspiera serwera dla systemów innych niż 32-bitowe
Przygotowanie plików
Na początek będą nam potrzebne pliki MTA (nie pobieramy kodu źródłowego - bo jego skompilowanie jest niewykonalne na systemach innych niż 32-bitowe). Pobieramy je stąd. Ściągnięte pliki rozpakowujemy do folderów tak jak jest to opisane na powyższej stronie.
Potrzebne biblioteki
Instalujemy podstawowe biblioteki (które również potrzebne są do uruchomienia serwera na systemie 32-bitowym, ale w nieco okrojonej wersji):
apt-get install libtool libcurl4-openssl-dev libpcre3-dev libsqlite3-dev libreadline5-dev
"Klucz" do uruchomienia serwera na systemie 64-bitowym: ia32-libs
Aby cokolwiek ruszyło na naszym 64-bitowym systemie musimy zainstalować bibliotekę "ia32-libs". Jest to właściwie zbiór podstawowych bibliotek systemu 32-bitowego. Ową bibliotekę zainstalujemy w następujący sposób:
apt-get install ia32-libs
W przypadku braku tej biblioteki będziemy dostawać (niewiele mówiący) komunikat:
-sh: ./mta-server: Nie ma takiego pliku ani katalogu
mimo faktu, że plik istnieje i ma prawa do uruchomienia ("chmody").
W tym momencie serwer będzie się uruchamiał, plując błędami.
Ale sytuacja jest o tyle dobra, że wiemy o co chodzi (jakiej biblioteki/pliku brakuje).
Potrzebne biblioteki z systemu 32-bitowego
Jako, że nie mam możliwości dokładnie sprawdzenia jakie biblioteki instalowałem/były potrzebne do poprawnego uruchomienia serwera opiszę sposób w jaki je "zdobywałem".
Repozytorium debiana - Wyszukiwarka pakietów
Na tej stronie dostępna jest wyszukiwarka plików w pakietach .deb.
Przypuśćmy, że brakuje pliku libsqlite3.so.0. Wpisujemy nazwę tego pliku w wyszukiwarkę (tj. ta niżej) i wyszukujemy pakiet zawierający ten plik. Okazuje się, że znajduje się on w paczce libsqlite3-0.
Instalacja
Ściągamy tę paczkę, ale nie instalujemy (co zresztą byłoby niewykonalne). Rozpakowujemy paczkę, w katalogu CONTENTS/libs powinien znajdować się nasz plik. Kopiujemy go do katalogu /lib32.
Operacje tę powtarzamy jeśli serwer będzie domagał się innej biblioteki (pliku).
Uruchomienie serwera
Tak dobrnęliśmy po "walce na noże" (cyt. Jarosław Kaczyński) do końca. Serwer uruchamiamy klasycznie, poprzez:
./mta-server
i mamy działający serwer :).