Mam program z końcówką RUN i za żadne skarby nie chce się zainstalować. Próbowałem z sh ./plik.run , sudo -i , ale wyskakują błędy
Metoda z ./plik.run pojawia się komunikat
cezary@SuperTux:~/Pobrane$ ./tenebrae.quake_1.04-english-2.run
Verifying archive integrity… All good.
Uncompressing Tenebrae 1.04-english Installer…
/home/cezary/.setup6598: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
Tutaj brakuje biblioteki ale nie wiem jak ją doinstalować. Poleceniem apt-get nie działa.
Z kolei metoda sh też zgłasza błędy
cezary@SuperTux:~/Pobrane$ sh ./tenebrae.quake_1.04-english-2.run
Verifying archive integrity… All good.
Uncompressing Tenebrae 1.04-english Installer…
/home/cezary/.setup6804: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
Tutaj też jest problem z biiblioteką
I w końcu metoda sudo su root ./tenebrae.quake_1.04-english-2.run. Też zgłasza błąd z biblioteką
cezary@SuperTux:~/Pobrane$ sudo su root ./tenebrae.quake_1.04-english-2.run
Verifying archive integrity… All good.
Uncompressing Tenebrae 1.04-english Installer…
/root/.setup6940: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
Jakim poleceniem doinstalować brakującą bibliotekę?
Skrypt instalatora poprawnie się zachowuje, jeżeli masz aktualny system to pewnie obecna jest co najwyżej biblioteka libgtk-3.so należąca do pakietu gtk3 i libgtk-2.so należąca do pakietu gtk2.
Nawet jeżeli znajdziesz bibliotekę w wymaganej wersji (a w repozytorium na pewno jej nie ma) to zależności pojawi się znacznie więcej.
Tenebrae Quake zainstalujesz, co najwyżej na jakiejś archiwalnej dystrybucji Linux.
Tak poza tym używanie instalatorów RUN to proszenie się o kłopoty to tak przy okazji.
System rozwiązywania zależności wtedy nie ma informacji o zainstalowanej w ten sposób aplikacji (&bibliotekach) i przy pierwszej lepszej aktualizacji może wysypać się, albo sama aplikacja, albo nawet system.
Są sposoby na obejście tego…
Wrzucasz sobie przede wszystkim obsługę architektury 32bitowej, bo bez tego zapomnij, że takie stare gierki w ogóle ruszą.
Potem można przelinkować nawet i do pustego pliku o takiej nazwie, jakiej wymaga installer.
Można też w ów pusty podlinkowany plik wrzucić po prostu zawartość z takiej samej biblioteki tyle, że z gtk3
Niektóre apki ruszają w ten sposób.
Można sobie zainstalować coś co ma obsługę wymaganych libsów… np.ePSXe - emulatorek taki pleja.
Czasem po czymś takim i restarcie system potrafi “zobaczyć” te libsy.
To zależy… próbuj, kombinuj. Jeśli ci się chce
Odpowiem tylko na ten kawałek - nie chce mi się, jak widziałem co ten gościu robi, to spasowałem, to raz. Dwa, będę aktualizował system i nie chcę zawracać sobie głowy niepotrzebnymi rzeczami, tym bardziej że są przestarzałe.
Oczywiście dziękuje koledze za wysiłek i trud jaki włożył w znalezienie możliwego rozwiązania, ale jak zobaczyłem co trzeba robić to spasowałem i wolałem inne rozwiązanie. Teraz to już i tak za późno ponieważ będę aktualizował system i nie chcę zawracać sobie głowy przestarzałymi rzeczami.
Zainstaluj sobie przez np. systemd-nspawn starszą dystrybucję, która ma taką bibliotekę. Ja instalowałem Ubuntu, rozpakowując system plików, który był na płytce Ubuntu do jakiegoś katalogu i wykonując inne kroki (nie pamiętam, jakie),
Nie mam pojęcia, od której wersji Ubuntu korzysta z systemd.
Nie wiem, która wersja Ubuntu/Debiana ma tę bibliotekę
Możliwe, że ta biblioteka jest tak stara, że nie ma dystrybucji z systemd, która by ją miała - w takim wypadku zainteresuj się innymi rozwiązaniami do konteneryzacji, docker chyba nie ma wymagań co do składników kontenera, a systemd dla flagi -b wymaga zainstalowanego systemd w kontenerze. Możesz także rozważyć nie korzystanie z flagi -b i nie instalowanie systemd w kontenerze (czytaj dalej), lecz wtedy będziesz korzystać z opcji do uruchomienia basha w kontenerze.
Systemd-nspawn jest rozwiązaniem do konteneryzacji (możesz instalować sobie system w kontenerze, jednak na Linuksach dotyczy to tylko innych Linuksów; konteneryzacja jest o wiele szybsza od wirtualizacji).
Mówiąc szczerze nie wiem co to jest konteneryzacja i nie wiem czy mi jest potrzebna.
Jak wyżej. System będę instalował zwykle bez konteneryzacji.
Znowu jak wyżej. System będę instalował na czysto. Tej gry nie będę już instalował bo to strata czasu na projekt, który jest przestarzały. Temat uważam za zamknięty. Wszystko co chciałem, dostałem.