Sziasztok!
Debian 2.6-os kernel.
Már sokadszor fordul elő, hogy némely csomagok (legutóbb Gaim) telepítése után más (legutóbb az imént telepített Gaim SEM!) alkalmazások nem indulnak, merthogy a libstdc++.so.5 (GLIBCPP_3.2.2)verziót hiányolják.
Googleban annyit találtam, hogy használjam a
readelf -s libstdc++.so.5 | grep GLIBCPP_3.2.2
parancsot, ez tényleg megmutatja, hogy a libstdc++.so.5 tartalmazza-e a GLIBCPP_3.2.2 szimbólumot.
Az /etc/apt/sources.list csak a "hivatalos" ftp és http helyeket tartalmazza.
Ha a jelenség fellép, akkor egy másik gépről (azon is Debian van) kimásolom a libstdc++.so.5.0.7 fájlt (erre mutató link a libstc++.so.5), de nem ezt érzem a legelegánsabb megoldásnak! :-)
Egyébként hogyan lehetséges az, hogy egy újonnan telepített csomag felülír egy ilyen fontos állományt (egyáltalán valóban felülírja-e)?
Szóval mi a fene történhet ?
Köszönettel, foxmulder
- 1149 megtekintés
Hozzászólások
Szerintem: a gcc 4.x nem kompatibilis teljesen a gcc 3.x verziókkal. Eddig erre az eltérésre pont ennél a libnél figyeltem fel én is. A gcc 3.x-s rendszer nem futtatja a a gcc 4.x verzióval fordított olyan programokat, amelyekben ez a lib ( gcc 4.x ) is szerepel.
- A hozzászóláshoz be kell jelentkezni
Ezek szerint tehát frissítenem kéne a gcc-t?
- A hozzászóláshoz be kell jelentkezni
Ezer ördög és pokol! (most nagyon finom voltam!)
Az történik, hogy a témaindításban említett hiba előfordulásakor
readelf -s libstdc++.so.5 | grep GLIBCPP_3.2.2
paranccsal ellenőrzöm és megállapítom, hogy "Jé, valóban nincs ilyen!".
Kicserélem a másik gépem Debianjának megfelelő fájljával, amiben "Jé, van...".
Minden szép, minden jó.
Gyanútlanul telepítek egy akármilyen csomagot, most épp a xawtv-t és (mivel megint nem indul egy régebbi program (most épp gnomemeeting)), megint ellenőrzöm:
readelf -s stb...
és nincs benne az a nyamvadt GLIBCPP_3.2.2 szimbólum!
Parajelenségre gyanakszom...
Mert az rendben van, hogy egy újabb gcc verzióval fordított program nem szeret egy régebbi libet, de ki az a gonosz kis mamó, aki minden telepítéskor kicserél egy libet, amiben benne volt valami, olyanra amiben nincs benne az a valami?!
- A hozzászóláshoz be kell jelentkezni
Hat, pl. ldconfig? Az a *.so.5 szvsz csak egy symlink kene, hogy legyen. Nezd mar meg, milyen csomagverziok vannak a ket gepen telepitve (es NE a linket nezd, hanem azt, amire mutat, pl. dpkg -S `readlink /usr/lib/...`)
- A hozzászóláshoz be kell jelentkezni