Ładny wygląd aplikacji 32-bitowych na systemie 64-bitowym (GTK2)

18/06/2008 – 16:59

Załóżmy, że mamy system 64-bitowy oraz korzystamy na nim z jakiś aplikacji 32-bitowych. Owe aplikacje są napisane przy pomocy biblioteki GTK2. Mamy sobie wybrane ładne theme dla GTK2, jednakże 64-b engine nie zawsze może chcieć współpracować z programami 32-b, przez co aplikacje wyglądają koszmarnie (poniżej zamieszczam przykład mojego wyglądu Firefoksa 3).

Rozwiązanie tego problemu jest bardzo proste – wystarczy wrzucić do odpowiedniego folderu dany, 32-bitowy engine. Wspomniany folder to najczęściej:

/usr/lib32/gtk-2.0/2.10.0/engines

Polecam pobrać paczkę ia32-libs-gtk, bo być może używany przez Ciebie engine, jest właśnie w tej paczuszce. Jeżeli takowego nie ma, to wystarczy pobrać 32-bitową paczkę .deb z debian.org, a następnie wrzucić odpowiednią bibliotekę do wcześniej wspomnianego katalogu.

Z niektórymi aplikacjami nawet po tym mogą być problemy. Wynika to z potrzeby wskazania odpowiedniego katalogu z 32-b lib’ami. Robimy to poprzedzając komendę uruchomienia danego programu, pewnym poleceniem – przykład:

GTK_PATH=/usr/lib32/gtk-2.0 ścieżka do programu

Poniżej prezentuję zrzut z Firefoksa 3, po uruchomieniu go powyższym poleceniem.

Dodam jeszcze, że w przypadku brzydkiego wyglądu aplikacji oraz braku pewności jakiej biblioteki brakuje, warto uruchomić daną aplikację z poziomu konsoli, gdzie powinny pojawić się „podpowiedzi” (niżej przykład ode mnie).

kaka@debian:~$ TMP/firefox/firefox

(firefox-bin:26150): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libubuntulooks.so: niewłaściwa klasa ELF: ELFCLASS64

(firefox-bin:26150): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libubuntulooks.so: niewłaściwa klasa ELF: ELFCLASS64
[…]

  1. komentarzy 9 dla “Ładny wygląd aplikacji 32-bitowych na systemie 64-bitowym (GTK2)”

  2. Połknąłeś literkę w tytule ;>

    By bartkorn on Cze 20, 2008

  3. Faktycznie, thx. :)

    By Kaka' on Cze 20, 2008

  4. Faktycznie firefox znalazł podrzucony plik w moim przypadku „libqtengine.so”
    ale nadal szuka czegoś:
    GTK_PATH=/usr/lib32/gtk-2.0 ~/Pobrane/firefox-3/firefox/firefox

    firefox-bin:6132): Gtk-WARNING **: libqt-mt.so.3: nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu

    (firefox-bin:6132): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/immodules/im-uim.so: niewłaściwa klasa ELF: ELFCLASS64
    Z tym drugim będzie łatwiej bo taki plik jest tylko że „im-uim.la”
    Ale „libqt-mt.so.3” to już trochę trudniej

    By zomer on Cze 26, 2008

  5. kaka@debian:~$ apt-file search im-uim.so
    libuim5-dbg: /usr/lib/debug/usr/lib/gtk-2.0/2.10.0/immodules/im-uim.so
    mlterm-im-uim: /usr/lib/mlterm/libim-uim.so
    uim-gtk2.0: /usr/lib/gtk-2.0/2.10.0/immodules/im-uim.so
    kaka@debian:~$

    no i:

    kaka@debian:~$ apt-file search libqt-mt.so.3
    libqt3-mt: /usr/lib/libqt-mt.so.3
    libqt3-mt: /usr/lib/libqt-mt.so.3.3
    libqt3-mt: /usr/lib/libqt-mt.so.3.3.8
    libqt3-mt: /usr/share/qt3/lib/libqt-mt.so.3
    libqt3-mt: /usr/share/qt3/lib/libqt-mt.so.3.3
    qt-x11-free-dbg: /usr/lib/debug/usr/lib/libqt-mt.so.3.3.8
    kaka@debian:~$

    Więc chyba jednak nie ma żadnego problemu :))

    By Kaka' on Cze 26, 2008

  6. Tylko jak to połączyć
    GTK_PATH=/usr/lib32/gtk-2.0 && GTK_PATH=/usr/lib/libqt-mt.so.3 ~/Pobrane/firefox-3/firefox/firefox
    Bez efektu.
    GTK_PATH=/usr/lib32/gtk-2.0 –with=/usr/lib/libqt-mt.so.3 ~/Pobrane/firefox-3/firefox/firefox
    Brak dostępu do usr/lib/libqt-mt.so.3

    By zomer on Cze 27, 2008

  7. GTK_PATH=/usr/lib/libqt-mt.so.3

    No ale moment, jak zmienna dla GTK ma wskazywać na bibliotekę QT? :)) Tak w żadnym wypadku być nie może.

    Musisz poszukać jakiej zmiennej używa QT i do niej wpisać powyższą wartość.

    By Kaka' on Cze 27, 2008

  8. Bardzo interesujący blog, z pewnością będę tutaj zaglądał częściej. Dzięki. Pozdrowienia

    By Fajny blog on Wrz 7, 2010

  9. Bardzo ciekawy blog, na 100% będę tutaj zaglądał częściej. Dzięki. Pozdrawiam

    By Fajny blog on Wrz 7, 2010

  10. Witam, bardzo fajnie tu u Ciebie :) Z pewnością czasem tu zajrzę.

    By Fan Gothic on Paź 23, 2010

Napisz komentarz