Dobrodošli na wiki srpske Slackware zajednice. Za izmenu sadržaja je neophodno registrovati nalog. Pre uređivanja ili dodavanja sadržaja poigrajte se sa wiki sintaksom u igralištu.

Multilib Slackware64

Napomena: Prevod članka Erica Hameleersa (poznatijeg u Slackware zajednici kao Alien BOB) na temu podešavanja multilib okruženja u 64-bitnom izdanju Slackware-a.

Ovo uputsvo sadrži instrukcije za pretvaranje „čistokrvnog“ 64-bitnog izdanja Slackware-a u multilib. Multilib 64-bitni Linux sistem može pokretati i 64-bitni i 32-bitni softver. Standard koji se odnosi na hijerarhiju fajlsistema precizira najbolji način za jasno odvajanje 64-bitnog i 32-bitnog softvera na jednom sistemu. Odlučili smo usvojiti ovaj standard kod Slackware64, te je od početka putanja za 64-bitne biblioteke u folderima /lib64 i /usr/lib64. Iz ovog razloga je Slackware64 već pogodan za multilib - iako je putanja za 32-bitne biblioteke u /lib i /usr/lib, Slackware64 ne instalira ništa od 32-bitnog softvera. Potrebno je preduzeti još jedan korak kako bi Slackware64 postao multilib.

To ćemo postići na sledeći način:

  • Prvo treba da prebacimo na multilib verzije
    • glibc (glibc koji podržava pokretanje 32-bitnih i 64-bitnih binarnih datoteka) i
    • gcc (podržava kompajliranje i 32-bitnog i 64-bitnog softvera).
  • Potom ćemo preuzeti sistemske biblioteke sa 32-bitnog Slackware-a i instalirati ih na 64-bitni Slackware, čime završavamo proces stvaranja 32-bitnog softverskog sloja.

Slackware za x86_64 arhitekturu (skraćeno Slackware64) je „čistokrvan“ 64-bitni operativni sistem, ali lako nadogradiv na multilib. Podrazumjevano („fabrički“), Slackware64 može kompajlirati i pokretati samo 64-bitni softver.

Slackware64 ima prednost naspram svojih 64-bitnih derivata. Ovi derivati dodaju 32-bitni sloj ponovnim kompajliranjem mnoštva paketa kao 32-bitnih binarnih datoteka. Nasuprot tome, Slackware je distribucija koja se već sastoji iz 32-bitnih i 64-bitnih verzija koje se razvijaju paralelno. Što znači, ne morate kompajlirati 32-bitne pakete „od nule“ kako bi ste dobili multilib na svom 64-bitnom sistemu. Jednostavno, preuzećete pakete sa 32-bitne verzije Slackware. Ovo je jedan od razloga zašto nismo dodali multilib na Slackware64 - stvorili smo sve preduslove, ali se od korisnika zahtjeva da djeluje, u slučaju da mu/joj treba multilib.

Nadalje ću objasniti kako možete pretvoriti 32-bitni Slackware paket (npr. „mesa“) u paket koji možete instalirati na Slackware64 (u konkretnom primjeru, „mesa-compat32“).

Prednosti multilib sistema

Navešću primjere programa kojima je potrebna multilib podrška kako bi radili na 64-bitnom Slackware-u, inače neće moći raditi ili se iskompajlirati ako već ne postoji 32-bitni sloj:

  • Wine
    Većina programa za Windows je još uvijek 32-bitna, stoga kako bi ste ih pokretali na Linuxu uz pomoć Wine-a, potrebna vam je 32-bitna verzija Wine-a.
  • VirtualBox
    Popularni softver za virtualizaciju. Iako je (djelimično) open source, još uvijek zahtijeva 32-bitne biblioteke na 64-bitnoj verziji Slackware-a.
  • Skype, Citrix client, …
    Ovo su vlasnički programi zatvorenog izvornog koda. Stoga, da li će 64-bitne verzije biti dostupne ili ne, prevashodno zavisi od njihovih programera. Navedeni programi još uvijek postoje samo u 32-bitnim verzijama.

Srećom, podrška za 64-bitnu arhitekturu je svakim danom sve veća. Prošle godine, Adobe je pustio u distribuciju 64-bitnu verziju Flash plugina za web browsere, a Sun je objavio 64-bitnu verziju Java plugina za web browsere. Zadnji je ujedno i jedan od razloga za nastanak Slackware64.

Preuzimanje mulitlib paketa

Pakete spremne za instalaciju na multilib Slackware i dodatne skripte možete preuzeti sa mog web sajta: http://slackware.com/~alien/multilib/.

Izuzev nekoliko README datoteka (ovo upustvo je zasnovano na jednoj od tih README datoteka), u folderu „multilib“ pronaći ćete po jedan podfolder za svako izdanje 64-bitnog Slackware. Postoji još jedan folder sa nazivom „source“. Ovaj folder sadrži izvorni kod za pakete i njihove SlackBuild skripte.

Ono što vas stvarno zanima - binarni paketi - nalazi se u folderu <slackware_broj_izdanja>. Svaki od tih foldera sadrži i podfolder „slackware64/compat32“ gdje ćete pronaći set konvertovanih 32-bitnih Slackware paketa, spremnih za instalaciju na 64-bitni Slackware.

S ciljem da budete u toku, predlažem da redovno pratite Changelog koji održavam za svoje mulitilib pakete. Uglavnom, ažurirane verzije glibc i gcc paketa biće dostupne u roku od jednog dana po izbacivanju njihovih zvaničnih Slackware nadogradnji. Takođe, isprobajte alatku compat32pkg od Sėbastiena Balleta koja automatizuje ovaj proces, slično slackpkg-u.

Aktiviranje multilib podrške na Slackware64

Brzo i "prljavo" uputstvo

Ovaj odjeljak sadrži sve neophodne instrukcije za dodavanje pune multilib kompatibilnosti postojećem Slackware64 sistemu. Ako želite da podrobnije shvatite ovaj proces ili jednostavno saznati kako da sami kompajlirate 32-bitni softver na Slackware64, pročitajte i sledeći odjeljak.

  • Po preuzimanju paketa sa mog web sajta (link sam vam dao u prethodnom dijelu teksta), potrebno je nadograditi 64-bitne „gcc“ i „glibc“ pakete mojim multilib verzijama.
    Pokrenite sledeću komandu u folderu gdje ste snimili preuzete pakete:

    upgradepkg --reinstall --install-new *.t?z

    Prethodna komanda će takođe instalirati i dodatni paket sa nazivom „compat32-tools“.

  • Ako ste takođe preuzeli i pakete iz foldera slackware64-compat32, onda imate sreće, jer sam već izvršio potrebnu konverziju na njima. Sve što je potrebno je pokretanje sledeće komande:

    upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z

    Prethodna komanda će instalirati sve konvertovane 32-bitne Slackware pakete (ili će ih nadograditi u slučaju da ste imali instalirane starije verzije multilib paketa). To je to!

  • U slučaju da ne možete pronaći podfolder slackware64-compat32, konverziju paketa ćete morati izvršiti sami. Uopšte nije teško, potrebno je svega nekoliko minuta.
    • Najbrži način je ako imate lokalni folder sa originalnim 32-bitnim Slackware paketima. Oni koji su kupili zvanično DVD izdanje mogu jednostavno iskoristiti DVD: kako je dvostran, 32-bitno izdanje Slackware se nalazi na jednoj od strana. U ovom primjeru pretpostaviću da vam se lokalna kopija 32-bitnih Slackware paketa nalazi u /home/ftp/pub/slackware-13.37/slackware/. Ovaj folder bi trebao sadržavati sledeće podfoldere a, ap, d, l, n i x. (U slučaju da koristite pakete sa Slackware DVD-a, vaš folder će se najvjerovatnije nalaziti u /media/SlackDVD/slackware, ali tu lokaciju neću koristiti u primjeru koji slijedi).
    • Napravite novi folder (nazovimo ga „slackware64-compat32“) i pristupite mu:

      mkdir slackware64-compat32 ; cd slackware64-compat32
    • Pokrenite sledeću komandu kako bi ste napravili set 32-bitnih kompatibilnih paketa, pri tom koristite putanju do foldera koji sadrži originalne 32-bitne Slackware pakete:

      massconvert32.sh -i /home/ftp/pub/slackware/slackware-13.37/slackware/
    • Prethodni korak može potrajati. Kada završi sa izvršavanjem, možete instalirati 90 MB svježe konvertovanih 32-bitnih Slackware paketa smještenih u podfoldere vašeg trenutnog foldera:

      upgradepkg --install-new *-compat32/*.t?z
    • Gotovo! Možete započeti preuzimanje, instaliranje i korištenje 32-bitnih programa. Ovo nije bilo tako teško, zar ne?

U slučaju da koristite menadžer paketa poput slackpkg, moraćete dodati pakete glibc i gcc na „crnu listu“. U slučaju da to ne uradite, rizikujete da vaš menadžer paketa slučajno zamjeni multilib verzije paketa originalnim 64-bitnim verzijama!
Ako koristite Slackware 13.37 ili noviji, onda već instalirani slackpkg podržava regularne izraze u svojoj datoteci sa „crnom listom“. U tome slučaju, jedna dodana linija u /etc/slackpkg/blacklist će biti sasvim dovoljna da stavite sve moje pakete na „crnu listu“ (uključujući multilib verzije gcc i glibc paketa i sve compat32 pakete):

[0-9]+alien

Ako koristite Slackware 13.1 ili noviji, a preuzeli ste i instalirali paket compat32-tools za to izdanje, skripta massconvert32.sh može koristiti udaljeni server kako bi preuzela 32-bitne Slackware pakete, umjesto DVD-a ili lokalne kopije. Koristite parametar “-u“, a potom navedite putanju do servera na sledeći način:

massconvert32.sh -u http://nekiserver.org/putanja/do/slackware-13.37/slackware

Detaljnije instrukcije

Nadogradnja paketa glibc i gcc

Paketi glibc/gcc koji slijede su zamjena - ne dodatak - standardnim Slackware paketima. Koristite „upgradepkg“ alatku kako bi postojeće verzije gcc i glibc paketa nadogradili mojim multilib verzijama. Trebate ih kako bi ste mogli pokretati (glibc) i kompajlirati (gcc) 32-bitni softver na 64-bitnom Slackware sistemu:

Slackware64 13.0

  • GCC pribor za kompajliranje:
    • gcc-4.3.3_multilib-x86_64-4alien.txz
    • gcc-g++-4.3.3_multilib-x86_64-4alien.txz
    • gcc-gfortran-4.3.3_multilib-x86_64-4alien.txz
    • gcc-gnat-4.3.3_multilib-x86_64-4alien.txz
    • gcc-java-4.3.3_multilib-x86_64-4alien.txz
    • gcc-objc-4.3.3_multilib-x86_64-4alien.txz
  • GNU libc biblioteke:
    • glibc-2.9_multilib-x86_64-3alien.txz
    • glibc-i18n-2.9_multilib-x86_64-3alien.txz
    • glibc-profile-2.9_multilib-x86_64-3alien.txz
    • glibc-solibs-2.9_multilib-x86_64-3alien.txz
    • glibc-zoneinfo-2.9_multilib-noarch-3alien.txz

Slackware64 13.1

  • GCC pribor za kompajliranje:
    • gcc-4.4.4_multilib-x86_64-1alien.txz
    • gcc-g++-4.4.4_multilib-x86_64-1alien.txz
    • gcc-gfortran-4.4.4_multilib-x86_64-1alien.txz
    • gcc-gnat-4.4.4_multilib-x86_64-1alien.txz
    • gcc-java-4.4.4_multilib-x86_64-1alien.txz
    • gcc-objc-4.4.4_multilib-x86_64-1alien.txz
  • GNU libc biblioteke:
    • glibc-2.11.1_multilib-x86_64-3alien.txz
    • glibc-i18n-2.11.1_multilib-x86_64-3alien.txz
    • glibc-profile-2.11.1_multilib-x86_64-3alien.txz
    • glibc-solibs-2.11.1_multilib-x86_64-3alien.txz
    • glibc-zoneinfo-2.11.1_multilib-noarch-3alien.txz

Slackware64 13.37

  • GCC pribor za kompajliranje:
    • gcc-4.5.2_multilib-x86_64-2alien.txz
    • gcc-g++-4.5.2_multilib-x86_64-2alien.txz
    • gcc-gfortran-4.5.2_multilib-x86_64-2alien.txz
    • gcc-gnat-4.5.2_multilib-x86_64-2alien.txz
    • gcc-java-4.5.2_multilib-x86_64-2alien.txz
    • gcc-objc-4.5.2_multilib-x86_64-2alien.txz
  • GNU libc biblioteke:
    • glibc-2.13_multilib-x86_64-3alien.txz
    • glibc-i18n-2.13_multilib-x86_64-3alien.txz
    • glibc-profile-2.13_multilib-x86_64-3alien.txz
    • glibc-solibs-2.13_multilib-x86_64-3alien.txz
    • glibc-zoneinfo-2.13_multilib-noarch-3alien.txz

Slackware64 current

  • GCC pribor za kompajliranje:
    • gcc-4.5.3_multilib-x86_64-2alien.txz
    • gcc-g++-4.5.3_multilib-x86_64-2alien.txz
    • gcc-gfortran-4.5.3_multilib-x86_64-2alien.txz
    • gcc-gnat-4.5.3_multilib-x86_64-2alien.txz
    • gcc-java-4.5.3_multilib-x86_64-2alien.txz
    • gcc-objc-4.5.3_multilib-x86_64-2alien.txz
  • GNU libc biblioteke:
    • glibc-2.13_multilib-x86_64-5alien.txz
    • glibc-i18n-2.13_multilib-x86_64-5alien.txz
    • glibc-profile-2.13_multilib-x86_64-5alien.txz
    • glibc-solibs-2.13_multilib-x86_64-5alien.txz
    • glibc-zoneinfo-2.13_multilib-noarch-5alien.txz

Postoji jedan dodatni paket koji instalirate pomoću alatke „installpkg“:

  • „32-bitni komplet alata“ (skripte koje omogućavaju pravljenje 32-bitnih paketa)
    • compat32-tools-2.0-noarch-1alien.tgz

Slamd64 je imao odvojene 64-bitne i 32-bitne gcc/glibc pakete.
Međutim, vjerujem da je čistiji način držati ove neophodne multilib pakete spojenim. Pratio sam koncept koji je ranije korišten u paketu binutils za Slackware64, koji u jednom paketu sadrži i 32-bitne i 64-bitne mogućnosti.

Dodavanje 32-bitnih Slackware biblioteka

Nadogradnja postojećih, prethodno opisanih, glibc i gcc paketa, mijenja vaš sistem iz „multilib-spreman“ u „multilib-sposoban“. Sve što trebate sada uraditi je instalirati 32-bitne verzije Slackware sistemskog softvera, kako bi programi koje budete instalirali i/ili kompajlirali u budućnosti mogli pronaći 32-bitne biblioteke koje su im potrebne da rade.

Ovo nije tako jednostavno kao što je bilo preuzimanje 32-bitnih Slackware paketa i njihovo instaliranje na Slackware64:

  • Prije svega, doći ćete u situaciju gdje će postojati više paketa sa istim imenom (dva „mesa“ paketa, dva „zlib“ paketa, itd…) što će izgledati zbunjujuće i vama i slackpkg menadžeru paketa
  • Nadalje, ako 32-bitni paket sadrži izvršne datoteke (npr. /usr/bin/foo), 64-bitne kopije će biti prepisane istim u trenutku kada instalirate 32-bitni paket. Ovako nešto može dovesti do ozbiljnih oštećenja sistema.

Potrebno je dodatno obratiti pažnju kako bi se nepotrebne/nepoželjne datoteke uklonile iz 32-bitnih paketa prije njihove instalacije. Ono što vam je potrebno je 32-bitni paket koji nije u konfliktu sa nečim što je već prisutno na postojećem 64-bitnom Slackware sistemu. Dakle, odatle ime „32-bitni kompatibilni paket“.

Odlučio sam da bi bio nepotreban utrošak protoka kad bih ja pravio 32-bitne kompatibilne verzije Slackware paketa. Na kraju krajeva, vjerovatno ste kupili Slackware 13.37 DVD, stoga već posjedujete i 64-bitnu i 32-bitnu verziju Slackware… U suprotnom, 32-bitni Slackware paketi su dostupni za besplatno preuzimanje, naravno.

Umjesto toga, napisao sam nekoliko skripti (dijelovi tih skripti su napisani od strane Freda Emmotta tvorca Slamd64) i zapakovao ih u paket „compat32-tools“. Njihova svrha je da vam omoguće otpakivanje sadržaja bilo kojeg 32-bitnog Slackware paketa i iskoristite ga za pravljenje novog paketa koji ćete moći bez problema instalirati na svoj 64-bitni Slackware.

Paket „compat32-tools“ zahtjeva podrobnije objašnjenje. Pročitajte README datoteku koja sadrži sve detalje i nalazi se u /usr/doc/compat32-tools-*/ folderu, pomoći će vam u budućem radu sa ovim alatima. Ovo su tri korisne skripte koje ovaj paket instalira:

  • /etc/profile.d/32dev.sh
    Identična skripti koja se isporučuje sa Slamd64. Rekonfiguriše vaše shell okruženje kako bi se stvorili uslovi za kompajliranje 32-bitnog softvera (preferiranjem 32-bitnih kompajlera i biblioteka)
  • convertpkg-compat32
    Ova skripta kao input uzima 32-bitni Slackware paket i konvertuje ga u “-compat32“ paket koji možete slobodno instalirati (upotrebom komande „installpkg“) na Slackware64, uporedo sa 64-bitnom verzijom istog paketa. Npr. pretpostavimo da su vam potrebne 32-bitne biblioteke koje se nalaze u mesa paketu. Preuzećete mesa paket za 32-bitni Slackware (x/mesa-7.5-i486-1.txz) i uraditi sledeće:

    convertpkg-compat32 -i /putanja/do/mesa-7.5-i486-1.txz

    Ovo će napraviti novi paket sa nazivom mesa-compat32-7.5-x86_64-1.txz. Ovaj novi paket (koji će biti smješten u /tmp folderu osim ako ne navedete neku drugu putanju) je u principu isti onaj stari 32-bitni paket, ali koji ne sadrži sve one nepotrebne datoteke. Izmjenjeno osnovno ime (mesa je promjenjeno u mesa-compat32) dozvoljava instalaciju ovog novog paketa na Slackware64, odnosno njegovu koegzistenciju sa 64-bitnim mesa paketom tj. bez presnimljavanja njegovih datoteka. Skripta ostavlja privremene datotetke u folderu /tmp/paket-<naziv softvera>-compat32 koje možete slobodno obrisati.

  • massconvert32.sh
    Ova skripta sadrži internu listu 32-bitnih paketa koji sadrže sve one, po meni, neophodne stvari. Koristi gorepomenutu skriptu „convertpkg-compat32“ kako bi preuzela svaki paket sa interne liste, a potom vrši konverziju u “-compat32“ pakete. Pokrenućete je samo jednom, npr. na sledeći način (u primjeru se pretpostavlja da vam je 32-bitni Slackware DVD montiran na /mnt/dvd putanji):

    massconvert32.sh -i /mnt/dvd/slackware -d ~/compat32

    Ovaj korak će dovesti do cca. 60 MB novih paketa, smještenih u novi folder ~/compat32 (izbor foldera je proizvoljan, ova putanja se koristi samo u ovom primjeru). Ovi paketi sadrže 32-bitnu komponentu vašeg multilib Slackware64 sistema. Potrebno ih je instalirati upotrebom „installpkg“, čime dobijate poprilično kompletan 32-bitni kompatibilni sloj na vašem Slackware64:

    installpkg ~/compat32/*/*.t?z

    U slučaju da vršite nadogradnju na noviju verziju (zato što se npr. nadogradili svoj 64-bitni Slackware na novije izdanje), onda naravno nećete koristiti „installpkg“, već „upgradepkg –install-new“:

    upgradepkg --install-new ~/compat32/*/*.t?z

    Parametar “–install-new“ je potreban kako bi se instalirali novi compat32 paketi koji napravljeni za novo izdanje Slackware-a.

Prilikom instalacije compat32 paketa, primjetićete poruke sa greškama o nedostajućim datotekama u /etc fodleru. Ovo je „fabrički“ i slobodno možete ignorisati te poruke. Prouzrokovane su činjenicom da datoteke iz foldera /etc su uklonjene iz “-compat32“ paketa za vrijeme konverzije (izuzev za pakete pango i gtk+2). Pretpostavljam da datoteke u folderu /etc su već instalirane prilikom instalacije originalnih 64-bitnih paketa.

Jedan primjer ovih „grešaka“ koje se javljaju prilikom instalacije cups-compat32 paketa:

Executing install script for cups-compat32-1.3.11-x86_64-1.txz.
install/doinst.sh: line 5: [: too many arguments
cat: etc/cups/interfaces: Is a directory
cat: etc/cups/ppd: Is a directory
cat: etc/cups/ssl: Is a directory
cat: etc/cups/*.new: No such file or directory
cat: etc/dbus-1/system.d/cups.conf.new: No such file or directory
chmod: cannot access `etc/rc.d/rc.cups.new': No such file or directory
cat: etc/rc.d/rc.cups.new: No such file or directory
Package cups-compat32-1.3.11-x86_64-1.txz installed.

U slučaju da ste razmišljali o upotrebi convertpkg-compat32 skripte kako bi konvertovali nezvanični Slackware paket u -compat32, moram vas savjetovati da to ne radite. Skripta je napisana sa samo jednom namjerom - da napravi 32-bitne verzije zvaničnih Slackware64 binarnih datoteka/biblioteka za upotrebu u multilib okruženju. Kao takva, skipta će ukloniti mnoštvo stvari koje postoje u originalnim 32-bitnim paketi - one stvari za koje se očekuje da budu instalirane sa 64-bitnom verzijom paketa.
U skoro svim slučajevima prilikom kojih bi trebali preuzeti neoriginalni 32-bitni Slackware paket i instalirati ga na Slackware64, najbolje moguće rješenje je da pronađete izvorni kod i iskompajlirate 64-bitnu verziju paketa. Kao drugo rješenje, instalirajte 32-bitni paket bez konverzije, a potom ga pokrenite iz konzole kako bi ste imali uvida u 32-bitne biblioteke koje mu nedostaju, a za koje možda možete iskoristiti zvanične Slackware pakete.

Korištenje 32-bitnog softvera

Kada ste već ispoštavali sve prethodno navedene korake, dalje korištenje 32-bitnog softvera je jednostavno. Samo preuzmite, instalirajte i pokrenite.

U nekim slučajevima, možete naići na softver koji zahtjeva određenu 32-bitnu Slackware biblioteku, a nemate je instaliranu. U tom slučaju, saznajte koji 32-bitni Slackware paket sadrži nedostajuću biblioteku. Potom iskoristite skriptu convertpkg-compat32 da konvertujete originalni 32-bitni Slackware paket, a zatim insalirajte paket nastao konverzijom na svoj Slackware64.

Kompajliranje 32-bitnog softvera

U slučaju da trebate kompajlirati 32-bitni program (wine i grub su dva primjera open source softvera koji su dostupni samo za 32-bitnu arhitekturu), morate prvo izvršiti konfiguraciju vašeg shell okruženje sledećom komandom:

. /etc/profile.d/32dev.sh

Obratite pažnju na „tačku“ ispred naziva datoteke - ona je zapravo obavezni dio komande. Pokretanjem ove komande mjenjate ili stvarate nekoliko varijabli okruženja. Efekat ovoga je preferiranje 32-bitnih verzija binarnih datoteka prilikom kompajliranja, naspram 64-bitnih - tj. vršićete 32-bitno kompajliranje. Efekat će trajati sve dok ne napustite shell.

U ovom izmjenjenom okruženju, moći ćete koristiti standardne SlackBuild skripte kako bi pravili 32-bitne pakete za Slackware64. Međutim, morate imati dve stvari na umu:

  1. Varijablu ARCH ćete i dalje definisati kao „x86_64“, bez obzira što vršite kompajliranje 32-bitnog softvera.
    Razlog za ovo je prvestveno parametar „$ARCH-slackware-linux“ koji se koristi prilikom izvršavanja komande „configure“. U slučaju da pokušate definisati ARCH kao „i486“, uvidjećete da će postojeća definicija CFLAGS-a rezultatirati greškama gcc-a poput „compiler can not create executables“/, odnosno „kompajler ne može kreirati izvršne datoteke“. Ovo je vezano za dizajn SlackBuild skripti. Umjesto da izmjenjujete SlackBuild skriptu i definišete svoje CFLAGS, možete uštediti vrijeme i jednostavno podesiti ARCH kao „x86_64“. Ostatak posla će završtiti 32dev.sh skripta.
  2. Moraćete izmjeniti SlackBuild skriptu u slučaju da želi da koristi „lib64/“ folder za „$ARCH=x86_64“, odnosno morate je natjerati da koristi „lib/“ folder. Obično se to postiže pronalaskom sledeće definicije u SlackBuild skripti:

    LIBDIRSUFFIX="64'

    i njenom izmjenom u

    LIBDIRSUFFIX=""

Upozorenja

  • Po instalaciji “-compat32“ paketa, možda ćete morati ponovo instalirati Nvidia i ATI grafičke drajvere. Ovi drajveri sadrže i 64-bitne i 32-bitne biblioteke kako bi mogli biti maksimalno korisni na 64-bitnom multilib operativnom sistemu. U slučaju da ste instalirali drajver za obje arhitekture, paket „mesa-compat32“ će presnimiti neke od 32-bitnih biblioteka.

    U suprotnom, ako ste instalirali samo 64-bitnu verziju drajvera za Nvidia/ATI grafičku karticu, preporučivo je poslije instalacije multilib paketa, ponovo instalirati drajver. Ovaj put, izaberite i 32-bitnu verziju drajvera. Grafički 32-bitni programi koje ćete koristiti na svojoj multilib instalaciji zahtijevaju neke od ovih 32-bitnih biblioteka. Stoga ćete se susresti sa rušenjem tih programa, u slučaju da nemate instalirane ispravne datoteke.
  • Ako sami kompajlirate 64-bitni kernel, obratite pažnju da uključite u konfiguraciju 32-bitnu emulaciju, inače multilib postavka neće raditi. To je sledeća stavka u konf. datoteci kernela: CONFIG_IA32_EMULATION

Paketi koje konvertuje skripta massconvert32.sh

Ovo je lista paketa koji se konvertuju u “-compat32“ verziju upotrebom skripte massconvert32.sh. Neki od navedenih paketa ne postoje na Slackware-u 13.0 i 13.1, jer su dodati na novijim verzijama Slackware-a. Stoga će vam biti prijavljena greška poput ”* FAIL: package 'package_name' was not found!” message when you run the script on an older release. The other way round is true as well - some packages have been removed in later versions of Slackware and they will also trigger the ”* FAIL: package 'package_name' was not found!” Nemojte brinuti o tome.

# A/ serija:
 
aaa_elflibs
bzip2
cups
cxxlibs
dbus
e2fsprogs
openssl-solibs
util-linux
 
# AP/ serija:
 
mpg123
mysql
 
# D/ serija:
 
libtool
 
# L/ serija:
 
alsa-lib
alsa-oss
atk
audiofile
cairo
dbus-glib
esound
expat
freetype
gamin
gdk-pixbuf2
glib2
gtk+2
gst-plugins-base
gst-plugins-good
gstreamer
hal
jasper
lcms
libart_lgpl
libelf
libexif
libglade
libgphoto2
libidn
libieee1284
libjpeg
libmng
libmpc
libpcap
libpng
libsndfile
libtermcap
libtiff
libusb
libxml2
libxslt
ncurses
pango
popt
qt
readline
sdl
seamonkey-solibs
svgalib
v4l-utils
zlib
 
# N/ serija:
 
curl
cyrus-sasl
gnutls
libgcrypt
libgpg-error
openldap-client
openssl
 
# X/ serija:
 
fontconfig
glew
libFS
libICE
libSM
libX11
libXScrnSaver
libXTrap
libXau
libXaw
libXcomposite
libXcursor
libXdamage
libXdmcp
libXevie
libXext
libXfixes
libXfont
libXfontcache
libXft
libXi
libXinerama
libXmu
libXp
libXpm
libXprintUtil
libXrandr
libXrender
libXres
libXt
libXtst
libXv
libXvMC
libXxf86dga
libXxf86misc
libXxf86vm
libdmx
libdrm
libfontenc
libxcb
mesa
pixman

Alatke treće strane

  • Sėbastien Ballet je napisao alatku pod nazivom compat32pkg. Na njegovom sajtu možete preuzeti ovu alatku i pročitati obimnu dokumentaciju na temu njene upotrebe na Slackware64.

    Citiram opis sa njegovog sajta:

    “Compat32pkg is an automated tool that provides all the necessary for managing (converting, installing, upgrading, removing) the 32-bit part of AlienBob's multilib for slackware-64, and all 32-bit packages from Slackware-32 for which users could find a needs into a 64-bit environment, like firefox, seamonkey, jre,…”

    „Compat32pkg je automatska alatka koja pruža sve neophonosti za upravljanje (konvertovanje, instaliranje, nadograđivanje, uklanjanje) 32-bitnog dijela AlienBob-ovog multiliba za Slackware64 i sve 32-bitne pakete sa 32-bitnog Slackware-a za koje korisnici mogu imati potrebe u 64-bitnom okruženju, poput firefox-a, seamonkey-a, jre,…“

Zahvalnost

  • Veliko hvala Fredu Emmottu, tvorcu Slamd64, nezvaničnog 64-bitnog Slackware derivata. Iako Slackware64 nije zasnovan na Fredovom radu, ipak sam većinu stvari koje znam o 32-bitnom dijelu mulitlib Linux-a naučio iz njegovih tekstova koji se mogu naći na Slamd64.
  • Cross Linux From Scratch.
    CLFS wiki (http://trac.cross-lfs.org/wiki/read#ReadtheCrossLinuxFromScratchBookOnline) je obavezno štivo ako želite da shvatite kako portovati Linux na novu arhitektruru. Preuzeo sam nekoliko ideja, koncepata i zakrpa od njih kako bih napravio Slackware64 od nule i opet kad sam pravio multilib gcc/glibc pakete od nule (moj README na temu „multilib-od-nule“ se nalazi u ./source folderu).

QR Code
QR Code osnovno:multilib_slackware64 (generated for current page)