PL/Linux 64: Difference between revisions
(Finito) |
|||
Line 24: | Line 24: | ||
<syntaxhighlight lang="lua">-sh: ./mta-server: Nie ma takiego pliku ani katalogu</syntaxhighlight> | <syntaxhighlight lang="lua">-sh: ./mta-server: Nie ma takiego pliku ani katalogu</syntaxhighlight> | ||
mimo faktu, że plik istnieje i ma prawa do uruchomienia ("chmody"). | 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 [http://www.debian.org/distrib/packages 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). |
Revision as of 15:57, 1 July 2010
Wprowadzenie
Poniższy artykuł jest mojej własnej roboty, a więc mogą znajdować się w nim błędy. Użytkownik wykonuje wszystkie operacje na własną odpowiedzialność.
Testowano na Linux Debian: Lenny (x64_86).
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).