# Jak wymusić kompilację biblioteki 32 bit na arch. amd64?

## Jacekalex

Witam

Jakiś czas temu instalowałem Adobe-air i Iplę, i oczywiście Ipla wymaga 32 bitowego gnome-keyring.

Sciągnąłem z thinderboxa bibliotekę, wypakowałem do /usr/lib32 i gotowe.

Jednak chciałbym wiedzieć, na przyszłość, jak wymusić w Portage kompilację bilblioteki i386 na arch x86_64, kiedy taka jest potrzebna? - najlepiej tak,  żeby była uwzględniona w systemie aktualizacji (dodana do world).

PS:

Iplę podnoszę takim skryptem, jakby ktoś szukał:

```
#!/bin/bash

rm -rf ~/.appdata/Adobe/AIR/ELS

env LD_LIBRARY_PATH="/usr/lib32:$LD_LIBRARY_PATH" airstart /opt/Adobe/ipla/iplalite.air

```

Pozdrawiam

 :Cool: 

----------

## Garrappachc

Musiałbyś się zainstalować crossdevem, ewentualnie kompilować samemu z palca. Generalnie, cross-kompilacja to to, co Cię interesuje.

Portage wspiera takie tricki, aczkolwiek nie jest to wymarzone wsparcie. No ale jest dość rzadko używane.

Na Twoim miejscu, jeżeli instalujesz potrzebujesz jednego pakietu dla jednego programu, to ściągnąłbym pierwszego lepszego rmpa i wrzucił do systemu plików. Tak po prostu.

----------

## Jacekalex

Na razie zdażyło się z 1 (słownie jedną) biblioteką libgnome-keyring.  :Smile: 

Ale chciałem wiedzieć, czy jest wykonalne cos w stylu, np:

```
ARCH="x86" emerge .....
```

czy coś podobnego.

Nawiasem pisząc, nie wiem nawet, jak z palca kompilować i386 na x86_64.

Pytam o coś podobnego do Debiana, gdzie po prostu instalujemy aptitude install paczka:i386 i gotowe.

Bo na razie ściągnąlem i wypakowalem "po prostu", ale w dokumentacji nie widzę sformulowania "po prostu"  :Smile: 

Pozdrawiam

 :Cool: Last edited by Jacekalex on Sat Jun 23, 2012 9:07 pm; edited 1 time in total

----------

## Garrappachc

Jest też grupa pakietów dla amd64, oznaczonych jako compat. Sprawdź, czy tam nie ma.

----------

## znal

Nie wiem czy to coś pomoże, ale jakiś czas temu instalowałem iplę (ebuild do niej i air wziąłem z http://gpo.zugaina.org/. Siedzę na ~amd64, ale nie posiadam gnome-keyring (używam KDE). Nie przypominam sobie, żebym musiał kombinować coś z ręcznym kopiowaniem plików do /usr/lib32.

Nie zagłębiałem się w dokładnie temat, ale ZTCW, to żeby mieć 32-bitowe biblioteki w 64-bitowym systemie obsługiwane przez portage, należy włączyć flagę multilib i zainstalować któryś z pakietów emul-linux-x86-*, a właściwie to powinny one być zależnościami danego ebuilda (air-sdk-bin, którego znalazłem tak ma).

----------

## Jacekalex

@znal

Multilib mam włącznony, emul-linux-* zaciągnął Skype, także nie tędy droga.

Tu wszystko jest w najlepszym porządku.

Natomiast Ipla w Gnome musi mieć 32-bitową bibliotekę libgnome-keyring, i nic na to nie można poradzić, piłeczka po stronie Ipli.

Z resztą ten temat dotyczy ogólnie zagadnienia instalacji biliotek 32 bit w systemie 64 bit, i dotyczy pozycji, które nie mają opcji lib32 czy multilib.

Ipla tylko spowodowała, że zainteresowałem się tematem, bo sama Ipla u mnie juz działa od bardzo dawna.   :Twisted Evil: 

Jak znam życie, to mogą się kiedyś pojawić podobne kffffiatki.

Pozdrawiam

 :Cool: 

----------

## SlashBeast

mozesz wyslac do gcc '-m32' ale musisz miec tez wszystkie depy 32bitowe, a to jest trudne w systemie gdzie *.so nie maja zadnego sufixu odnosnie tego czy sa x86 czy x86_64, gdybym ja mial cos takiego zrobic, zbudowal bym po prostu statycznie ten lib w 32bitowym chroocie i go skopiowal, najmniej dlubania.

----------

## Jacekalex

Wyjście ekstremalne, ale wykonalne  :Smile: 

Mam nadzieję, że nie będę miał wielu takich diabelstw, na razie tylko jedyny przypadek, bo budowanie w chroocie liba do środowiska graficznego typu Gnome zbyt wesoło nie wygląda.

Chyba jednak najmądrzejszym wyjściem (jabky w Thinderboxie czegoś brakowało) jest wypakowanie na żywca z paczki np deb albo rpm, byle z systemu o podobnych wersjach tego i owego.  :Wink: 

----------

