Uruchamianie aplikacji na różnych dystrybucjach linuksa

0

Co trzeba zrobić, żeby aplikacja napisana w Lazarusie. (typ - Program (application/x-executable)) uruchomiała się na każdej dystrybucji linuksa? Należy napisać jakiś skrypt dla - Makefile i próbować instalowanie (configure. make, make install), czy wystarczy samo skopiowanie aplikacji i uruchomienie jej poleceniem - ./nazwa_aplikacji? Czy może jest jeszcze jakiś inny sposób? Zdaje się, że i tak "system" musi być jakoś poinformowany, że Lazarus wykorzystuje bibliotekę GTK odpowiedniej wersji. To chyba też się jakoś powinno uwzględnić?

4

Ja moje aplikacje w Lazarusie odpalam "po prostu" - czyli, jak piszesz - kopiuje plik wykonywalny, a potem ./aplikacja. Nie dam Ci gwarancji, że pójdzie wszędzie i zawsze, ale ja odpalałem tak stworzone aplikacje na kilku dystrybucjach (i na różnych wersjach w ciągu kilku lat) i nie było problemów.

Pytanie - interesujesz się tematem tak na zapas, czy trafiłeś na jakieś realne problemy?

0

Pytanie - interesujesz się tematem tak na zapas, czy trafiłeś na jakieś realne problemy?

Tak na zapas, bo poznaje dopiero środowisko i cieszy, że nie trzeba robić żadnej gimnastyki skryptowej by przenosić "egzeki" na różne dystrybucje (sam nie mam możliwości sprawdzenia, bo wszystkie nośniki mam wyłącznie debianopodobne).

2

Na pewno można to sobie pół-automatyzować , zanim uruchomisz ./nazwa_aplikacji trzeba uruchomić "COŚ" co sprawdzi dystrybucje/wersje i zaproponuje zainstalowanie wymaganych pakietów o ile ich brak
Zazwyczaj jednak nie ma takiej potrzeby bo działa

2

Jeżeli udostępniasz aplikację ze źródłem, to użytkownik zawsze może sobie skompilować sam, czy to wyklikując w Lazarusie, czy używając lazbuild. To drugie możesz wykorzystać do napisania jakiegoś Makefile.

0

OK napisał:

(typ - Program (application/x-executable))

wiec budowanie opada , a zresztą aby zbudować trzeba zainstalować tez brakujące pakiety , nawet wiece niż do uruchomienia :D

0

Tak jak reszta powiedziała, w szczęśliwym wypadku uruchomisz bez problemu.

Czasem może braknąć jakiejś biblioteki.
Tu nie jestem pewny, bo jak statyczna biblioteka to bez problemu, ale dynamiczna, no wypadało by, żeby system posiadał, ale to skrajne przypadki jakiś dziwnych bibliotek, bo libc jest domyślną i każdy system ją posiada.

A czasem może użytkownik korzystać z innego procesora i w ogóle nie zadziała będzie crash.

Dystrybucje linuxa działają na różnych procesorach amd64 jak intel i amd, ale także na arch64 czyli arm procesorach i pewnie innych też da się odpalić linuxa.

Taki make jest najbezpieczniejszą opcja, bo sobie skompiluje pod taki procesor z jakiego korzysta i make zadba o biblioteki jak dobrze napisany.

0

Może właśnie dlatego swego czasu Borland poległ na Kylixie

0

Prawdziwi Linuksuarze mnie obrzucą błotem za herezje zapewne. Ale jedyny sposób na taką gwarancję to przygotowaie pakietu snap lub flatpak. To, co pisze @cerrato nie zadziała wszędzie, wystarczy że docelowe distro będzie mieć starszą wersję libc i pozamiatane.

Alternatywnie, można przygotować standardowe pakiety dla różnych dystrybucji, z ustawionymi zależnościami. Albo się to zainstaluje i będzie działać, albo się nie zainstaluje z powodu zależności

1

wystarczy że docelowe distro będzie mieć starszą wersję libc i pozamiatane.

To trochę na zasadzie "będę korzystać z Reacta sprzed 5 lat, bo może ktoś korzysta z IE7 i wolę mieć pewność, że się poprawnie wyświetli" :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1