Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Piekło zależności, czyli nowe gry na starszych dystrybucjach

Jako użytkownik Debiana w wersji stabilnej na moim komputerze domowym nieraz spotykam się z przestępstem, jakim jest budowanie (w sensie, kompilacja) gier na dystrybucjach rozwojowych lub opartych na rozwojowych (developerzy kochają Ubuntu, a że zazwyczaj nie są specjalnie zaznajomieni z linuksami, to nie zawracają sobie głowy takimi sprawami, jak LTS, nie LTS). "Pff, Debian z gałęzi stable? Toż to przeżytek, na serwery z nim!". Jasne, spoko. Tylko, że dzięki temu rozwiązaniu posiadam system, który zawsze i niezależnie od warunków działa miło i stabilnie, a nie zdarza mu się psuć po aktualizacji.

I jest fajnie, póki nie przyjdzie mi do głowy instalować nowszych wersji oprogramowania. Nieoficjalne repozytoria, PPA z Ubuntu, .deb bezpośrednio od dostawcy oprogramowania, backporty, ręczne kompilacja i budowanie, Wine'owanie nowszych wersji softu, który ma wersje natywne - to wszystko już przerabiałem. Na wszystko jest sposób, czasami być może utrudniam sobie życie na siłę, jednak właśnie taki sposób korzystania z systemu mi odpowiada bardziej, niż wybór wersji rozwojowej (i nierzadko niestabilnej) dystrybucji.

A dlaczego o tym piszę? Niedawno na wyprzedaży kupiłem grę Fotonica, jakby nie patrzeć, z natywnym wsparciem dla GNU/Linuksa. Parę dni później postanowiłem w końcu ją wypróbować. Ok, ściągam, rozpakowuję, klikam binarkę: bam, nic się nie dzieje. Ok, odpalmy terminal i zobaczmy, co tam wypluwa:

$ ./fotonica.x86 ./fotonica.x86: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./fotonica.x86)

Oczywiście, mam za starą libstdc++, znowu ktoś tworzył linuksową wersję na łubuntu. Ok, bez paniki, a gdyby tak skorzystać z innej wersji z biblioteki niż zainstalowanej w systemie? Tylko skąd ją wziąć...

1. Włażę na wyszukiwarkę paczek Debiana: packages.debian.org, wybieram 'Przeszukiwanie katalogów z pakietami'2. Wpisuję 'libstdc++', wybieram wyszukiwanie spośród wszystkich gałęzi Debiana ('Dystrybucja: dowolna'), klik 'Szukaj'.3. 'libstdc++6', to pewnie to. Moja gałąź to stable, a więc klikamy w wersję paczki dla testinga.4. Scrolluję na dół strony, wybieram swoją architekturę (i386), pozostaje jeszcze wybór mirrora i jazda.5. W środku pobranej paczki .deb siedzi żądana biblioteka, jak ją stamtąd wydostać? Ja używam do tego konsolowego menedżera plików Midnight Commander (mc). Włażę do środka paczki, jakby to był normalny .tar.gz, .zip, czy .rar.6. Ok, CONTENTS/usr/lib/i386 i nareszcie mamy naszą bibliotekę. Rozszerzenie .so przynajmniej na to wskazuje. Przekopiowujemy toto (w tym przypadku dwa pliki) ze środka gdzieś indziej i wrzucamy do folderu z grą.

Teraz trzeba jeszcze pokazać grze, że biblioteka tu jest. Przypominam, że kropka oznacza folder, w którym jesteśmy obecnie.

$ LD_LIBRARY_PATH=. ./fotonica.x86

Yipee, gra działa i na staruszku Debianie!

Ostatnią rewelacją wśród gier indie jest survivalowa strzelanka top-down o dźwięcznej nazwie Teleglitch. Już po obejrzeniu trailera było jasne, że zechcę ową nowość wypróbować osobiście. Ze stronki gry pobrać można demo dla Windows oraz dla GNU/Linux na dwie najpopularniejsze architektury. Ściąganie, rozpakowywanie, o, jest i README. Hmmm, wymaga tego, tego i tego. Część już w systemie na pewno mam. Spróbujmy odpalić? Znowu nie rusza.

$ ./teleglitch32 ./teleglitch32: error while loading shared libraries: liblua5.2.so.0: cannot open shared object file: No such file or directory

Może dla pewności sprawdźmy, czego jeszcze może brakować.

$ ldd ./teleglitch32 ./teleglitch32: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./teleglitch32) linux-gate.so.1 => (0xb78d3000) libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7806000) libSDL_image-1.2.so.0 => /usr/lib/libSDL_image-1.2.so.0 (0xb77ea000) liblua5.2.so.0 => not found libGL.so.1 => /usr/lib/libGL.so.1 (0xb7720000) libGLU.so.1 => /usr/lib/libGLU.so.1 (0xb76b0000) libglee.so.0d1 => not found libopenal.so.1 => /usr/lib/libopenal.so.1 (0xb7663000) libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb765a000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7565000) libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb753f000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7521000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb73da000) libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb73c0000) libasound.so.2 => /usr/lib/libasound.so.2 (0xb72f8000) librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb72ef000) libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb72eb000) libdirectfb-1.2.so.9 => /usr/lib/libdirectfb-1.2.so.9 (0xb7276000) libfusion-1.2.so.9 => /usr/lib/libfusion-1.2.so.9 (0xb726d000) libdirect-1.2.so.9 => /usr/lib/libdirect-1.2.so.9 (0xb7258000) libvga.so.1 => /usr/lib/libvga.so.1 (0xb71f7000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb71d7000) libtiff.so.4 => /usr/lib/libtiff.so.4 (0xb717c000) libz.so.1 => /usr/lib/libz.so.1 (0xb7168000) libnvidia-tls.so.260.19.36 => /usr/lib/tls/libnvidia-tls.so.260.19.36 (0xb7165000) libnvidia-glcore.so.260.19.36 => /usr/lib/libnvidia-glcore.so.260.19.36 (0xb5ab4000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb5997000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb5988000) libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb5960000) libogg.so.0 => /usr/lib/libogg.so.0 (0xb5959000) /lib/ld-linux.so.2 (0xb78d4000) libx86.so.1 => /lib/libx86.so.1 (0xb5956000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb593d000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb593a000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb5934000)

Aha, 'not found' przy liblua5.2, libglee i znowu, do diaska, mam za starą wersję libstdc++. Przynajmniej to ostatnie wystarczy przekopiować z folderu Fotoniki. Przeszukajmy na początek własne repozytoria.

$ aptitude search glee p glee-dev - extension loading library for OpenGL - dev p googleearth-package - utility to automatically build a Debian pa p libglee0d1 - extension loading library for OpenGL p libglee0d1-dbg - extension loading library for OpenGL - deb

Świetnie, libglee mamy, instalujemy.

# aptitude install libglee0d1

Teraz

$ aptitude search liblua5.2

Shit, tego nie ma. Trzeba znowu pobrać z debianowskiej wyszukiwarki paczek. Wskazówka na przyszłość jest taka, że można też skorzystać z takiej samej wyszukiwarki dla Ubuntu: packages.ubuntu.com - zwłaszcza, że niektórych ubunciarskich paczek w Debianie nie znajdziemy. No to pobieramy, wchodzimy do .debki przy użyciu mc i przekopiowujemy biblioteki do folderu z grą.

Sprawdźmy, czy po wskazaniu ścieżki wykryje nam wszystkie biblioteki:

$ LD_LIBRARY_PATH=. ldd ./teleglitch32 linux-gate.so.1 => (0xb7793000) libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb76c6000) libSDL_image-1.2.so.0 => /usr/lib/libSDL_image-1.2.so.0 (0xb76aa000) liblua5.2.so.0 => ./liblua5.2.so.0 (0xb7677000) libGL.so.1 => /usr/lib/libGL.so.1 (0xb75ae000) libGLU.so.1 => /usr/lib/libGLU.so.1 (0xb753e000) libglee.so.0d1 => /usr/lib/libglee.so.0d1 (0xb74bc000) libopenal.so.1 => /usr/lib/libopenal.so.1 (0xb746f000) libvorbisfile.so.3 => /usr/lib/libvorbisfile.so.3 (0xb7466000) libstdc++.so.6 => ./libstdc++.so.6 (0xb737a000) libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7354000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7336000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb71ef000) libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb71d5000) libasound.so.2 => /usr/lib/libasound.so.2 (0xb710d000) librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb7104000) libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7100000) libdirectfb-1.2.so.9 => /usr/lib/libdirectfb-1.2.so.9 (0xb708b000) libfusion-1.2.so.9 => /usr/lib/libfusion-1.2.so.9 (0xb7081000) libdirect-1.2.so.9 => /usr/lib/libdirect-1.2.so.9 (0xb706d000) libvga.so.1 => /usr/lib/libvga.so.1 (0xb700c000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb6fec000) libtiff.so.4 => /usr/lib/libtiff.so.4 (0xb6f91000) libz.so.1 => /usr/lib/libz.so.1 (0xb6f7c000) libnvidia-tls.so.260.19.36 => /usr/lib/tls/libnvidia-tls.so.260.19.36 (0xb6f7a000) libnvidia-glcore.so.260.19.36 => /usr/lib/libnvidia-glcore.so.260.19.36 (0xb58c9000) libX11.so.6 => /usr/lib/libX11.so.6 (0xb57ac000) libXext.so.6 => /usr/lib/libXext.so.6 (0xb579d000) libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb5774000) libogg.so.0 => /usr/lib/libogg.so.0 (0xb576e000) /lib/ld-linux.so.2 (0xb7794000) libx86.so.1 => /lib/libx86.so.1 (0xb576b000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0xb5752000) libXau.so.6 => /usr/lib/libXau.so.6 (0xb574e000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb5749000)

Jest bezbłędnie. Startujemy Teleglitcha!

$ LD_LIBRARY_PATH=. ./teleglitch32

Na następne razy, żeby nie klepać ciągle w konsolę tego samego, warto przygotować sobie odpowiednie skrypciki do uruchamiania gry.

BOŻE wszystkich geeków, jaki ten Linuks porąbany! 

linux porady gry

Komentarze

0 nowych
xia   4 #1 09.12.2012 02:25

Dzięki za instrukcję. Może w końcu na Linuksa zagram w jakaś grę inną niż wbudowana ;).

  #2 09.12.2012 02:28

Nie mam zainstalowanego linuksa na komputerze, ale wydaje mi się, że gdybym miał taki problem z tymi grami to sam bym doszedł do tego samego rozwiązania co Ty. Nie ma w tym wpisie nic odkrywczego. Dodatkowo gry na Windows też żebrzą o biblioteki typu directx, vc++/c# redistributable w wersjach 2005/2008/2010/2012, .net frameworki 2/3.5/4 i xna frameworki 3/4. Także tam też nie jest tak kolorowo. Ostatnie zdanie to chyba jakaś przynęta na trolle, a raczej "zadowolonych użytkowników linuksa".

mati75   6 #3 09.12.2012 09:37

Radziłbym się zainteresować apt-pinning, nie trzeba się pierdzielić z ustawianiem, dogrywaniem bibliotek, paczek itp. A tak poza tym proponuje przejść na testing.

Autor edytował komentarz.
msnet   18 #4 09.12.2012 10:24

Oto jeden z powodów, dla którego nie używam linuxa (choć jest ich oczywiście więcej) :)

OtherCoder   5 #5 09.12.2012 11:03

@msnet

Brak kilku bibliotek w starszej dystrybucji jest dla Ciebie powodem do nie używania Linuksa?
W sumie to nie powinieneś używać żadnego bo o każdym można powiedzieć to samo.

Autor edytował komentarz.
skandyn   9 #6 09.12.2012 11:19

Czasami zdarza mi się również tak, że muszę poświęcić troszeczkę czasu, żeby odpalić daną gierkę pod Linuksem. Bo trzeba właśnie m.in. doinstalować brakujące biblioteki, poprawić rozdzielczość gry - edytując odpowiednie plik, a także poszukać spolszczenia, jeśli oczywiście takie istnieje, itp. A całkiem niedawno w pewnej grze nie miałem dźwięku i naturalnie w Google trzeba było poszukać. Po prostu do systemów spod znaku pingwina trzeba mieć odpowiednie podejście, aby nie zniechęcić się zbytnio.

Poza tym czekam na kolejne recenzje linuksowych gier.

Pozdrawiam.

  #7 09.12.2012 11:26

ze zacytuje klasyka z forum:
"debian jest dobry zeby pogiercowac, bo sa tam biblioteki z czasow kiedy istnialo LOKIgames"
CANMSP

  #8 09.12.2012 12:07

@mati75 | 09.12.2012 9:37
"A tak poza tym proponuje przejść na testing."
Tak, super pomysł, żeby:
- poprawiać konfiguracje usług (czytaj: ręcznie przeglądać i edytować pliki tekstowe exim4, samba, apache2, proftpd, itd.) po każdej większej aktualizacji
- robić porządki po instalacji programów, bo np. jakiś program po instalacji nie działa z powodu iż ktoś na sztywno podał błędne ścieżki czy nie pomyślał o utworzeniu dowiązań symbolicznych
- czytać dokładnie changelogi, żeby wiedzieć, że od teraz jeśli chcemy, żeby usługi działały jak poprzednio trzeba w konfiguracji cyrus-sasl2 zmienić sterownik z "sql" na "mysql", w radius.conf dodać include do sql.conf, zmienić konfigurację php5.conf, w jeszcze innym pliku zmienić 1 na 1000 bo nagle ktoś wymyślił, że od teraz jakaś warto będzie oznaczać milisekundy a nie sekundy, itd.
- śledzić dokładnie co oferują aktualizacje, czytać dokładnie opisy pakietów i sprawdzać jakie wersje oferują; niektórzy nie mogą zrozumieć dlaczego ruby1.9.1 to tak naprawdę ruby w wersji 1.9.3 a linux-image-2.6-686 wcale nie oferuje jądra 2.6 dla procesorów 686 tylko jądro 3.2 dla procesorów 686 z obsługą PAE
- co jakiś czas przepisywać połowę konfiguracji bo zmienił się system skryptów startowych albo wywalono jakiś sterownik i dostępny jest nowy, ale w którym większość funkcji jeszcze nie działa (madwifi -> ath5k) i trzeba korzystać z jakiś haków na jądro, które oczywiście przestają działać po aktualizacji
- zastanawiać się, dlaczego przy aktualizacji apt chce nam usunąć programy z których korzystamy na co dzień, np. epiphany-browser, openoffice.org-core, xserver-video-nv, apt-listbugs, g++4.3, gcc-4.3, nie mówiąc już o dziesiątkach bibliotek (libdpkg-ruby1.8, libcryptui0, libavfilter0, libevince3, librpm1, libtar)
- ugrząźć w bagnie pakietów i przeklinać deweloperów, że nie mogą zdecydować się w kwestii nazewnictwa (np. raz pakiet chromium może oznaczać przeglądarkę a za innym razem grę)
- za każdym razem zastanawiać się czy warto dokonać aktualizacji skoro połowa pakietów ma niezałatane bugi, w tym część krytycznych, luki bezpieczeństwa albo bugi powodujące niestabilność aplikacji
- przeszukiwać fora dyskusyjne w poszukiwaniu rozwiązania, dlaczego podstawowe funkcje systemu przestały działać i nie można dokonać aktualizacji (bo np. APT ma ustawiony za mały cache albo apt-listbugs blokuje instalacje/aktualizacje/usuwanie pakietów z powodu zrobienia bałaganu z pakietami ruby przez deweloperów)
- co chwila przepisywać własne skrypty, bo stabilne API w Linuksie nie istnieje - przykładowo API do zarządzania energią odnośnie urządzeń USB na przestrzeni jąder od 2.6.21 do 2.6.38 (takie wersje śledziłem, później dałem sobie spokój) zmieniało się w: 2.6.21, 2.6.22, 2.6.23, 2.6.32, 2.6.34, 2.6.35, 2.6.37 i 2.6.38
- co jakiś czas spędzać pół dnia, żeby naprawiać coś co działało przed aktualizacją a po niej przestało, np. program do nagrywania płyt k3b przestał widzieć nagrywarki w systemie, proftpd przestał udostępniać katalogi, Evolution nie chce się uruchomić wypluwając z siebie jedynie komunikat "Unable to find suitable fbconfig for the GLX context: Failed to find any compatible fbconfigs", itd.
- wkurzać się, dlaczego stare bugi nie zostały załatane od roku mimo ich zgłoszenia a doszły nowe, dlaczego xrdp działa raz na dwie próby użycia go, dlaczego podczas startu GNOME gnome-keyring-daemon przestał odblokowywać się domyślny keyring przez co program pocztowy pyta nas o 15 haseł do kont pocztowych a czytnik grup dyskusyjnych o hasła do serwerów NNTP, dlaczego Network-Manager i nm-applet przestały wykrywać połączenie ppp0 z siecią (mimo iż ono cały czas jest) przez co program pocztowy uruchamia się zawsze w trybie offline, dlaczego w pakiecie biurowym nagle przestaje działać funkcja sprawdzania pisowni a dokumenty gubią formatowanie po ponownym otwarciu, itd.
- załamać ręce, bo system nie nadaje się do celów produkcyjnych z powodu niestabilność; np. IBM Rational Team Concert 3 na 64-bitowym systemie wykrzacza się raz na kilkanaście minut i chodzi gorzej (wolniej) niż na znacznie słabszych sprzęcie pod Windows
- złościć się, że system zawiesza się całkowicie przy próbie obejrzenia filmów ze względu na błędy w sterowniku karty graficznej (po jego aktualizacji oczywiście)
- ręcznie kompilować programy i własnoręcznie tworzyć paczki bo deweloperom nie chce się poprawić krytycznych bugów np. "Segmentation fault" przy uruchamianiu Octave czy Scilab, bo jakaś paczka od której zależą ma krytyczną dziurę nie poprawioną od roku
- zastanawiać się, czego dotyczą wielce mówiące komunikaty błędów w stylu "[1943733.339862] generic-usb 0003:051D:0002.0001: can't reset device, 0000:00:10.3-2.2.2/input0, status -71" pojawiające się kilkadziesiąt razy na sekundę albo dlaczego jeden proces o mało mówiącej nazwie po aktualizacji zaczyna zjadać cały rdzeń procesora
- głowić się nad tym, dlaczego modem nagle przestaje działać a w logach pojawia się komunikat "firmware: requesting ueagle-atm/DSPep.bin" mimo, że firmware cały czas znajduje się w tym samym miejscu
- denerwować się z połowicznie działającego sprzętu, np. drukarek, które nie są w stanie podać stanu tuszy czy liczby wydrukowanych stron
- doświadczać regresji w obsłudze sprzętu, np. wywalenia modułu sane obsługującego nasz skaner po aktualizacji

etam   9 #9 09.12.2012 12:17

A ja ostatnio miałem przygodę ze starym komputerem i gdy chciałem mu podłączyć klawiaturę i myszkę, to się okazało, że nie ma portów USB. BOŻE jakie te komputery porąbane!

yuwo   7 #10 09.12.2012 12:18

Dobry przykład na to, dlaczego większość użytkowników nigdy nie przesiądzie się na Linuksa. I nie chodzi o to, że system jest zły. Jest dobry, a niekiedy nawet dużo lepszy od Windy. Ale chodzi o to, co się dzieje wokół niego. Czyli każdy sobie rzepkę skrobie i ma pozostałych w dupie, znaczy się użytkowników innych dystrybucji. O sterownikach już nie będę pisał, bo temat oklepany.

Humanoid   5 #11 09.12.2012 12:31

O! Dzięki za instrukcję, przyda się.

anakkin   5 #12 09.12.2012 12:52

To tak, jak by wymagać od WinXP, żeby DX11 na nim działał. Od siebie mogę polecić jedynie dystrybucje ciągłe jak np. Gentoo - tam ten problem praktycznie nie istnieje.

  #13 09.12.2012 12:59

@anakkin | 09.12.2012 12:52
Debian stable jest - jak sama nazwa wskazuje - stabilną gałęzią Debiana. Najnowszą wersją stabilną. Ba, jedyną wersją stabilną obecnie wspieraną.
DirectX 11 działa na najnowszej stabilnej wersji Windows - Windows 8.

  #14 09.12.2012 12:59

@anakkin | 09.12.2012 12:52
"Od siebie mogę polecić jedynie dystrybucje ciągłe jak np. Gentoo - tam ten problem praktycznie nie istnieje."
Ta, Gentoo sprawia zupełnie inne problemy. ;-)

13Van13   3 #15 09.12.2012 13:48

@mati75
Dzięki, o apt-pinning zapomniałem. Fajne rozwiązanie, no ale właśnie nie zmienisz sobie przy jego użyciu libc czy libstdc++

Testing nie :) Ilekroć go nie próbowałem na swojej głównej maszynie, miałem problemy i się zraziłem, to raz, a dwa, za dużo aktualizacji, przyzwyczaiłem się do ślimaczego tempa stable.

@yuwo oraz @msnet
Wybór Ubuntu lub Mint praktycznie rozwiązuje problemy opisane w artykule. To wyłącznie moje widzimisię, że wybrałem sobie dystrybucję o takiej, a nie innej polityce aktualizacji.

@anakkin
No właśnie, a w przeciwieństwie do Windows XP, tutaj da się :) Dystrybucjom ciągłym mówię nie, bo praktycznie zawsze są narażone na niestabilne oprogramowanie.


Ogólnie cieszę się, że komuś poradnik się podoba :)

  #16 09.12.2012 14:26

No właśnie, tutaj się po prostu da.

trux   10 #17 09.12.2012 16:35

Używałem kiedyś Stable, jednak po problemach ze starymi bibliotekami przesiadłem się na Archa.

  #18 09.12.2012 17:39

@xm (niezalogowany) | 09.12.2012 14:26
"No właśnie, tutaj się po prostu da."
To spróbuj zainstalować DirectX 11 na Debian 3.0 Woody - powodzenia ;-).

Druedain   13 #19 10.12.2012 01:06

Piszesz o starszych dystrybucjach, a we wpisie widzę tylko Ubuntu. Proponuję zmienić tytuł.

  #20 10.12.2012 03:46

@Druedain | 10.12.2012 1:06
"Piszesz o starszych dystrybucjach, a we wpisie widzę tylko Ubuntu. Proponuję zmienić tytuł."
Czytanie ze zrozumieniem nie jest Twoją mocną stroną.

  #21 10.12.2012 11:19

Jakby deweloperzy przykladowo Far Cry 3 nie wrzucili w instalator tej calej masy *.dll to by tez nikomu nie poszlo, to samo jakby wrzucili je w starej wersji. Musialbys robic identycznie te same czynnosci w Windowsie co w tym wpisie. No moze z wyjatkiem eksportu LD_LIBRARY_PATH, bo Linuks nie sprawdza biezacego katalogu w celu znalezienia w nim bibliotek. Tu dystrybucje nie maja nic do gadania. Jedyne rozwiazanie to wprowadzenie gry jako pakiet do dystrybucji, ale to doklada znowu roboty tworcom tej dystrybucji, nie mowiac juz o licencjach. Nie mam pojecia jak oni ogarniaja caly ten balagan z tymi pakietami. Racja jest, ze zaleznosci to pieklo. Co nie zmienia faktu, ze programista gry moze ten caly balagan ominac i byc calkowicie niezalezny od bibliotek w systemie. Jednak z jakiegos powodu, nie mam pojecia nawet z jakiego, wiekszosc tego nie robi i ludza sie, ze w danej dystrybucji bedzie wlasnie wersja biblioteki v.wx.yz

  #22 10.12.2012 12:26

Debian Squeeze nie jest starszą dystrybucją. To najnowsza (i jedyna aktualnie wspierana) stabilna wersja Debiana.

13Van13   3 #23 10.12.2012 21:58

@Anonim (niezalogowany) - 10.12.2012 12:26
Zgadzam się absolutnie, ale spróbuj przekonać tych fanbojów Ubuntu, Fedory i Debiana w wersji niestabilnej :) Niemalże cały linuksowy świat desktopów, zdaje się kręcić wokoł Ubuntu (Steam on Linux - Valve wybiera Ubuntu LTS, które jest zbudowane na Debianie testowym/niestabilnym). Jako debianowcowi pozostaje mi się cieszyć, że część tego, co z tego zainteresowania wynika spada też i na mnie...

przemek1234   7 #24 14.12.2012 21:34

@dp_reader:
Na Windowsie instalator porządnie zrobionej gry sam wgrywa wszystkie potrzebne biblioteki.

przemek1234   7 #25 14.12.2012 21:35

@OtherCoder :
Poczytaj o WinSxS w Windows NT.

  #26 12.02.2013 13:12

Aż dziwne że nikt nie wymyślił w Linuxie narzędzi do sprawdzania potrzebnych bibliotek i ich pobrani i instalacji.

Murphy   3 #27 12.02.2013 13:14

Aż dziwne że nikt w Linuxie nie zrobił narzędzia do sprawdzania potrzebnych bibliotek, ich ściągnięcia i instalacji w katalogu newralgicznego programu. Narzędzie "ldd" poniekąd pokazuje co brakuje, ale resztę niestety samemu trzeba zrobić.