Jelenlegi hely
Multi-lib, hogy is van ez?
Előre is elnézést, talán egy picit hosszú lesz.
Amikor megvettem a 64 bites gépem, akkor 64 bites linuxot is akartam rajta futtatni. Ezért hagytam ott a Slackwaret, és egy rövid időre visszaváltottam Debianra, majd kipróbáltam a Bluewhite64-t. Erről azért váltottam, mert a csomagkészlete meglehetősen szűkös volt és valahol a hivatalos oldalon azt olvastam, hogy ne használjuk a 32 bites csomagokat, így viszont nincs pl.: http://www.linuxpackages.net/ (ez később még fontos lesz!), az ilyen nem hivatalos tárolókon kívül viszont annyira kevés csomag van, hogy az állandó - és nem egyszer kevésbé sikeres - forgatások _számomra_ a rendszer használhatóságának ártott. Lényeg a lényeg: váltottam bw64-ről. Gentoora. Ez alapvetően tetszik, de van néhány dolog a Slackwareben ami ma már nekem minden disztróból hiányzik, ezért néztem meg a Slamd64 oldalát.
A Slamd64 oldalán egy érdekes dologra bukkantam:
Slamd64 is a multi-lib distribution, which means that you can run 32-bit applications easily, without a chroot. You can directly install most packages targeted at x86 Slackware®.
(forrás: http://www.slamd64.com/index.php?page=about)
Bw64-en és Gentoon az ls -al /
lrwxrwxrwx 1 root root 5 aug 20 00.35 lib -> lib64
drwxr-xr-x 3 root root 4096 aug 24 21.29 lib32
drwxr-xr-x 10 root root 4096 szept 29 14.32 lib64
Hasonló igaz a /usr/libX-re is. A lényeg, hogy a lib és a lib64 könyvtárak ugyan azok.
Gondolom ezért írta a Bw64 készítője, hogy ne telepítsünk Slackware-es csomagot, mert pl. ktorrent csomag tartalmaz libeket is és ezeket a /usr/lib-be másolja.
Ezek után persze furcsa volt a Slamd64 oldaláról idézett szöveg, ezért megpróbáltam utánaolvasni, hogy mi is a csízió.:)
Találtam néhány érdekes forum topicot, pl:
"/usr/lib64 should be symlinked to /usr/lib" (http://forums.slamd64.com/viewtopic.php?f=4&t=1255). A címmel ellentétben kiderül, hogy Slamd64-en:
"/usr/lib contains 32-bit binaries, /usr/lib64 contains 64-bit binaries. These should *NEVER* be symlinked."
Tehát ellentétben pl. a bw64-el, itt a "lib" az a "lib32", nem pedig a "lib64". Így v
Ez után két kérdésem maradt:
-Tényleg igaz, hogy a Slackware-es (32 bites) csomagok jók Slamd64 alá?
-Ha én forgatok vmit (értsd 64 bites lesz), akkor KÖTELEZŐ a ./configure-nek a libdir opciót megadnom, mert ha nem teszem ÉS libet is fordít / másol a ./configure, make, make install, akkor a 32 bites "lib" mappába 64 bites lib kerül, libdirrel, pedig megmondhatom hova rakja a libeket.
Ha valaki használ Slamd64-et kérem írja meg ezeket, ha működnek a 32 bites csomagok talán újra "slackwareeznék". :)
Előre is köszi.
- A hozzászóláshoz regisztráció és belépés szükséges

32-64
Annyit tudok ehhez neked hozzáfűzni, hogy a slackware (32) csomagok jók slamd64 és bluewhite alá is. Csak bluewhite-on is telepíteni kell a 32bit-es libeket. Úgy tudom, hogyha fordítasz akkor az alapból 64bit-es lesz és a lib64 könyvtárba is fog kerülni, viszont ha 32bit-es csomagot akarsz akkor a ./configure opcióban lehet megadni a prockó típusát, hogy a lib32-be kerüljön. Tehát mindent alapból oda pakol ahová azt kell, én legalább is így tudom.
Megis milyen csomagokat
Megis milyen csomagokat hianyolsz?
Csak azert kerdem mert en pont most kacerkodok a gondolattal hogy kiprobalom a BW64-t megfejelve slackbot alltal forditott Gnome-al es itt eleg szep lista van programokbol:
http://www.mkanet.de/content/buildscripts/index.html
Már nem emlékszem
Már nem emlékszem pontosan, hogy milyen csomagokat hiányoltam, de volt egy pár - és akkor még nem tudtam a http://www.mkanet.de/content/buildscripts/index.html oldalról.
Igaz pl. tvtime-ot ebben sem találtam, és emlékszem, hogy forrásból felraknom nem sikerült. Kdetv pedig fagy nálam, Slackware-en Bw64-n és Gentoon is, talán az ati (amd) videokártyám driverével van gond.
Az eredeti kérdésre visszatérve:
Ha forrásból fordítasz vmit, akkor alapból az a /usr/local-ba kerül, ezt esetleg a slackware csomag készítője átírja /usr-re, de ekkor ugye ha a csomag libet is telepít - pl. ktorrent - akkor az /usr/lib-be kerül.
Ez bw64-nél a 64 bites lib, amit nem kellene teleszemetelni 32 bits libekkel, és _HA_ jól értem, akkor ez az ami nem gond Slamd64-nél, mert ott a /usr/lib az a 32 bites.
Btw azt hiszem egy picit talán túlreagáltam a dolgot, a Slackware-es csomagok elvileg működnek minden "64 bites Slackware-n", egyedül talán azokra kell figyelni ami libet is telepít (ezeket lehet manuálisan kellene felpakolni a _megfelelő_ helyre).
Ja és köszi a http://www.mkanet.de/content/buildscripts/index.html oldalt, még átnézem egyszer alaposabban is.
Kipróbáltam néhány
Kipróbáltam néhány dolgot Bw64-en:
1)
http://www.linuxpackages.net/ -ről feltettem a - 32 bites - tvtime csomagot, tökéletesen működik.
2)
Viszont! Ugyan innen (tehát 32 bites) feltettem a ktorrentet, amiről tudtam, hogy a csomagnak része a libktorrent lib is. És igaznak bizonyult amitől tartottam, vagyis ezeket a /usr/lib-be tette, ami Bw64-en a "lib64".
(root@gep:/usr/lib# file libktorrent-2.2.6.so
root@gep:/usr/lib64# file libktorrent-2.2.6.so
libktorrent-2.2.6.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), stripped)
Ez így minimum csúnya, de így a ktorrent el sem indul (ktorrent: error while loading shared libraries: libgmp.so.3: wrong ELF class: ELFCLASS64)
Számomra ez annyit jelent, hogy igen lehet használni 32bites Slackware csomagokat Bw64-en, de amely csomag lib-et is tartalmaz, azt inkább manuálsian kellene átmásolni, és nem az installpkg-val feltenni. (+ ezeknek a libeknek lehet nincsenek fent a 32 bites lib függőségei stb.)