SuSE Linux: Verzió 8.1
Szeretnénk telepíteni a Borland JBuilder vagy Limewire programokat, vagy ezekhez hasonlót, amely az Install Anywhere programot használják telepítőként, de a telepítés leáll az alábbihoz hasonló hibákkal:
error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
A régebbi Java verzióknak problémájuk van az úgynevezett 'lebegő veremmel' (floating stack), amely az i686-ra optimalizált glibc-ben taláható. Kikerülő megoldásként erre a problémára kipróbálhatunk egy trükköt, amely azonban nem működik a SuSE Linux 8.1-ben található i686-ra optimalizált glibc-re. Sajnos a glibc visszautasítja az együttműködésr és megint csak a hibaüzeneteket látjuk. Erre a trükkre nincs szükség akkor, ha a SuSE Linux 8.1-ben található Java verziót használjuk.
Nyissuk meg a telepítő szkriptet kedvenc szöveges szerkesztőprogramunkkal. A Borland JBuilder
personal edition esetében ez per_install.bin
, a LimeWire esetében ez
LimeWire-<
verziószám>-Linux.bin
.
Mielőtt bármit szerkesztenénk bizonyosodjunk meg arról, hogy a szerkesztő felülírási (overwrite vagy replace) módban van. Ez szükséges lépés az install szkriptben tárolt tar fájlok pozíciójának eltolódása ellen.
Most keressünk rá a következő sorokra a szkriptben:
# glibc floating stack problem on Linux if [ `uname -s` = Linux ] then case `uname -r` in 2.[456]*) LD_ASSUME_KERNEL=2.2.5 export LD_ASSUME_KERNEL ;; esac fi
Mielőtt bármit szerkesztenénk, bizonyosodjunk meg arról, hogy a szerkesztő
felülírási módban van és tegyük megjegyzésbe a követekező bekezdést minden sor elé egy
kettőskereszt jelet (#
) beszúrva.
Ez szükséges lépés az install szkriptben tárolt tar fájlok
pozíciójának eltolódása ellen.
A kód ezután így fog kinézni:
+#f [ ^Uname -s = Linux ] +#hen +# case ^Uname -r in +# 2.[456]*) +# LD_ASSUME_KERNEL=2.2.5 +# export LD_ASSUME_KERNEL +# ;; +# esac +#i
Miután mentettük a fájlt, a telepítés sikeresen megkezdhető.