GLIBCXX

Post Reply
Message
Author
User avatar
Jejy69
Posts: 710
Joined: Thu 20 Jan 2011, 18:10
Location: Perpignan

GLIBCXX

#1 Post by Jejy69 »

Bonjour à tous !

J'essaye de faire fonctionner un logiciel mais je bloque toujours sur le même problème.
Après avoir installé une bonne quainzaine de dépendances, j'aboutis à chaque fois sur "GLIBCXX_3.4.10 not found".
Je tiens à préciser qu'apparaît aussi les versions 3.4.11 et 3.4.14
J'ai parcouru pas mal de forum, sans succès.
Je met un screen pour illustrer la chose.

Bref, je tourne en rond...

Si vous quelqu'un peut m'aider ! SoS ! Mayday !

Cordialement,
Attachments
a.png
(25.33 KiB) Downloaded 212 times

Médor

#2 Post by Médor »

Bonsoir Jejy69,

Vérifie ta version de la libstdc++.so.6

Sur ma Lucid :

Code: Select all

root@puppypc ~ 
# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
root@puppypc ~ 
#
Pas toujours évident avec le C++ !

Cordialement,
Médor.

User avatar
Jejy69
Posts: 710
Joined: Thu 20 Jan 2011, 18:10
Location: Perpignan

#3 Post by Jejy69 »

Bonsoir Médor !

Merci de ta réponse !

J'ai entre-temps essayé avec d'autres libs, il me manque la GLIBCXX 3.4.11 et la .15, je pense que ça revient au même...

Donc j'ai essayé avec la commande que tu m'as montrée et j'obtiens donc :

Code: Select all

# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX 
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
# 
C'est donc le C++, j'avoue pas très aisé quand on l'a jamais étudié. :mrgreen: J'avance un peu à l'aveugle.

Médor

#4 Post by Médor »

Bien, il faut que tu installes la libstdc++.so.6.0.15 ou plus !
Ici, j'ai en réserve la 6.0.16, en modifiant le lien pointant sur "l'officielle" dans Lucid 528 (6.0.13), sur la .16 cela donne :

Code: Select all

# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_DEBUG_MESSAGE_LENGTH
root@puppypc ~ 
#



Cordialement,
Médor.

User avatar
Jejy69
Posts: 710
Joined: Thu 20 Jan 2011, 18:10
Location: Perpignan

#5 Post by Jejy69 »

Oups je me suis raté...
Suite à l'installation d'une lib ( la version 15 ), plantage avec écran noir.
C'est ballot j'étais en live-CD, va falloir retrouver les libs une par une :mrgreen: !

Est-ce qu'en installant des paquets .deb, car apparemment ce sont des libc++, ça peut aller ?
I'm Commander Shepard and this is my favorite Linux distrbution on the Citadel.

Médor

#6 Post by Médor »

Hummm :!:

Sur Lucid tu peux voir la description et les dépendances des paquets, ex :
http://packages.ubuntu.com/lucid/libstdc++6-4.4-dev

Vraiment pas sûr du tout que cela fonctionne sur Racy : libc inférieure, etc.

Cordialement,
Médor.

oui

#7 Post by oui »

bonjour


les librairies C sont les pistons du moteur des Linux :lol: . c'est vital! elles fournissent à tout du macro-code...

et l'intercompatibilité des versions est mauvaise: tu ne peux quasi pas changer de niveau.
Jejy69 wrote:Oups je me suis raté...
Suite à l'installation d'une lib ( la version 15 ), plantage avec écran noir.
C'est ballot j'étais en live-CD, va falloir retrouver les libs une par une :mrgreen: !

Est-ce qu'en installant des paquets .deb, car apparemment ce sont des libc++, ça peut aller ?
par contre, toutes les applications n'ont pas recours à toutes ces bibliothèques, parce qu'elles contiennent leur propre code.

mais en appelant les dépôts de Debian, il est clairement expliqué pour chaque application quelles dépendances/recommandations/suggestions simples sont prévues et en quelle version minimale!

quand à ton plantage, je te conseille de faire comme moi une remasteurisation progressive

mon exemple:

j'ai un disque de 500 Go avec 2 partitions (et un tout petit vide de 30 Go en fin de disque pour y installer Debian SID tout frais quand je veux l'utiliser)

un sda1 de 2 Go, la taille de mon RAM, en SWAP, et tout le reste moins 30 Go, en ext3 (note: ext2 est la plaie en cas d'écran bleu, blocage de plugin, par exemple dans la cartographie de Microsoft BIM, quand tu redémarres après un «reset» tu te payes un «chkdsk» du tonnerre sur un disque de 500 Giga; ext4 est aussi la plaie avec tous les anciens puppys encore inaptes à opérer avec un tel système nouveau: tu peux juste les démarrer en frugal, mais n'a plus accès à la partition! quand à «reiser», je ne sais si c'est toujours proposé, mais fut un temps, ce fut en mode, je me payais un plantage à la queue leleu avec! savoir pourquoi...)

quand j'ai SID, donc en sda3, sda2 est /home pour SID et /mnt/sda2/f (f comme f/ichiers ) est mon home perso.

donc en SID, la racine de sda2 est quasi vide, SID n'y chercher qu'un seul et unique sous-répertoire, celui de mon home perso... le reste des répertoires dans la racine peut être dédié entièrement à tous mes puppys en frugal, avec en plus mes 5 sous-répertoires passe-partout: seamonkey, skype, spot, (in)stantbird, et wine: ce sont ces répertoires qui prennent une place inouie dans les sauvegardes :wink: . en plus, /mnt/sda2/seamonkey contient /mnt/sda2/seamonkey/seamonkey avec tout les fichiers du programme seamonkey. idem /mnt/sda2/stantbird contient /mnt/sda2/stantbird/instantbird (la messagerie instantanée dont le responsable du développement est francophone). et /mnt/sda2/spot contient notamment tout le bataclan de didiwiki... donc si je sécurise mes 4 sous-rép. commençant en «s» plus wine, je ne les ai toujours que 2 fois sur le disque dur, avec une très haute sécurité puisqu'avec sauvegarde facile à réaliser, 4 des sous-rép. sont l'un à côté de l'autre (d'où la nécessité d'estropier un peu instantbird), plus wine, à part, pas de tapette sur l'épaule, là, pour ne pas l'oublier, mais on n'a peut-être pas à sauvegarder wine (le contenu du sous-rép. caché normalement ici: /root/.wine) aussi souvent, selon ce qu'on y fait.

dans /mnt/sda2/f/ c'est l'inverse, je n'y ai qu'un seul sous-répertoire à moi: /mnt/sda2/f/0my (avec un zéro en tête, il est toujours bien visible devant tout le reste), et le reste, c'est rigoureusement ce que SID y met en plus, lui dans mon home personnel, donc une tapée de fichiers et sous-répertoire, cachés ou non

et dans /mnt/sda2/f/0my, j'ai tous les sous-répertoires utilisateur que le puppy's (ou plutôt leur créateurs) prévoient en /root de puppy donc...

et dans /root de puppy ces sous-rép. sont effacés et remplacés par des liens:

Code: Select all

ln -s /mnt/home/f/0my/My-documents /root/My-documents
ln -s /mnt/home/f/0my/My-applications /root/My-applications
etc si d'autres il y a

Code: Select all

ln -s /mnt/home/wine /root/.wine
ln -s /mnt/home/seamonkey /root/.mozilla/seamonkey
ln -s /mnt/home/skype /root/.Skype (piège! S majuscule!!!)
ln -s /mnt/home/spot /root/.spot
ln -s /mnt/home/standbird /root/instantbird
idem dans /urs/bin et /usr/lib

Code: Select all

rm /usr/bin/seamonkey ou seamonkey2
ln -s /mnt/home/seamonkey/seamonkey/seamonkey /usr/bin/seamonkey
etc.

idem avec les librairies correspondantes donc dans /usr/lib...

si c'est un puppy sans seamonkey, il faut l'installer avant, l'installeur fait tout le travail avec les liens, icônes, scripts etc. quand c'est fini, on efface uniquement dans /usr/bin et /usr/lib et remplace par des liens de dénomination identique au travail fait par l'installeur, et c'est parti mon kiki, tous est préinstallé impec...

et alors il faut remasteuriser:

d'abord, on se simplifie la vie, en ne gérant pas une entrée par version de puppy dans /boot/grub/menu.lst, mais en nommant toujours la version active de puppy

... puppy, pardi :idea:

et en lui donnant ce nom quand on change de version. aucun inconvénient, vu que l'ordi ne démarre jamais 2 linux simultanément hors virtualisation!

donc cela simplifie la gymnastique de remasteurisation, qui n'est plus bien compliquée:

Code: Select all

cd /mnt/home/puppy

mkdir newfs

cp -a /initrd/pup_ro2/* ./newfs
patience, ça dure... (on pourrait aussi ne copier que les sous-rép. utiles puisqu'on va en effacer rétroactivement, avec rox, ça va extrêmement vite, avec dolphin, par contre, c'est la plaie, la majeure partie, mais comme ça, sans fatiguer le contenu des méandres du cerveau, on est sûr de ne rien oublier)

puis on efface ce que l'on a modifié :lol:

en général /mnt/home/puppy/newfs/user, souvent aussi /mnt/home/puppy/newfs/etc, voir /mnt/home/puppy/newfs/opt

et copie dedans l'équivalent en prise sur son ordi:

Code: Select all

cp -a /usr/* /mnt/home/puppy/newfs/usr
et le cas échéant

Code: Select all

cp -a /etc/* /mnt/home/puppy/newfs/etc
et ainsi de suite!

on modifie le contenu de /mnt/home/puppy/newfs/root en y mettant les fameux liens :wink: et virant les contenus, si contenus il y avait préalablement

on change dans /mnt/home/puppy le nom du fichier pipapo.sfs en pipapo.sfs.last

et

on squash le nouveau système de fichiers ainsi constitué

Code: Select all

cd /mnt/home/puppy

mksquashfs newfs pipapo.sfs
maintenant,

tu peux te permettre toute connerie impunie:

si écran bleu

tu redémarres un autre puppy

déclasses pipapo.sfs en pipapo.sfs.faux

et revaleurises pipapo.sfs.last en pipapo.sfs

mais tout ton travail est encore dans /mnt/home/puppy/newfs :idea: :!:

et tu redémarres puppy et corriges ta boulette, complètes, modifies encore, jusqu'à ce que newfs soit à tes yeux parfait!

(remarque1: partout où j'ai raccourci en /mnt/home/puppy il faut écrire le nom de la vraie partition si on n'a pas démarré avec un fichier de sauvegarde pipapo.2fs !!!

remarque2: dans tous tes rép de puplets, tu trouveras donc ultérieurement un sous-rép tout prêt et bien garni newfs et éventuellement les constituants voulus en créant un autre sous-rep. gamelle-d'os avec les *.pet's, *.deb's, scripts modifiés qui marchent, un *.sfs initial et un *.sfs.last

remarque3: si tu as cette technique de liens remplaçant des classeurs prévus dans ta version actuelle de Puppy, selon comment tu les crées, il se peut qu'à la remasteurisation ce ne soient pas les liens mais le répertoire in extenso vers lequel ils pointent qui entre dans la remasteurisation! alors tu peux de payer des *.sfs de bien plus d'une centaine de Mo de trop, d'une part, et copier inconsciemment une tapée de tes fichiers perso dans la remasteurisation!... il faut donc vérifier après avoir squashé le nouveau système de fichiers quelle est la taille du *.sfs, si réaliste, ou non, et y jeter un coup d'oeil critique au moins. comme tous les puppy's n'ont pas vraiment exactement la même gestion de /initrd :wink: , il est recommandable de squasher en étant dans un autre puppy présentant cette particularité par rapport au premier: alors, ne trouvant pas la cible, c'est bien le lien et que le lien qui est pris! ces derniers temps j'étais dans l'admirable lupu_528 hispanisé et KDEisé impec de Josep2424 et donc je squashais en partant du Racy actuel :D . pour visionner les liens, l'outil le plus pratique est le gestionnaire de répertoire nain «clex», télécharger le *.deb, en CLI! les indirections y apparaissent en clair!)

User avatar
Jejy69
Posts: 710
Joined: Thu 20 Jan 2011, 18:10
Location: Perpignan

#8 Post by Jejy69 »

Merci pour vos réponses ! :)

@ oui, merci, je vais donc essayer la technique que tu m'as décrite ci-dessus.
Ça peut être une excellente solution en cas de problème inopiné...

Donc, pour ce qui est du logiciel, il vaut mieux éviter d'installer les libcxx ?
Je vais m'inspirer du site où se trouvent les paquets .deb.

Cordialement,
I'm Commander Shepard and this is my favorite Linux distrbution on the Citadel.

oui

#9 Post by oui »

bonsoir
oui wrote:ces derniers temps j'étais dans l'admirable lupu_528 hispanisé et KDEisé impec de Josep2424
je pense que Lupu, que Josejp2424 a utilisé pour son puplet hispanisé, est très complet au niveau de ces bibliothèques (mais, comme disent les allemands, «Im Detail steckt der Teufel», c'est au niveau des détails qu'on se heurte au diable!)

alors, il faut essayer toi même. D'ailleurs un vrai plaisir, car Josejp2424 a réussi à installer une éblouissante base du KDE4 dans ce sens qu'absolument sans lourdeur, extrêmement rapide et fluide...

j'ai d'ailleurs reçu aujourd'hui le dernier message automatique de son site d'info, des tonnes et des tonnes de d'os de la meilleure qualité pour améliorer la vie d'un chien!

http://www.puppylinuxjosejp2424.com/201 ... conos.html

amusez vous bien en les utilisant!
Jejy69 wrote:Ça peut être une excellente solution en cas de problème inopiné...
pas seulement en cas de problème!

c'est toujours SUPER INTÉRESSANT, car cela te permet de fignoler, de bichonner ta remasteurisation vraiment jusqu'au point, où tu peux en dire «oui, cette fois, ça y est, vu mes capacités, elle est parfaite! je ne peux vraiment pas mieux!»

mais si, oh terreur, 8 jours après tu te rends compte qu'une crotte de chien, un menu détail t'a échappé

(par exemple, tu as oublié de mettre dans

/root/bash_history

du code préventif pour faciliter la vie en ligne de commande :wink:

voilà ce que j'y mets actuellement

Code: Select all

ln -s /initrd/mnt/dev_ro2 /mnt/home
setxkbmap -layout us -variant intl &
qemu -m 64 -fda fd.img w.qcow -boot a
mcopy -i fd.img loer2.xls ::loer2.xls
qemu -m 64 w.qcow -boot c
cd /mnt/home/f/0my/qemu
)

et bien, ce n'est pas un drame

tu complètes dans /mnt/home/puppy/newfs/root :wink:

et relances la masteurisation juste avant de passer à table,

et quand tu reviens le ventre plein, ton puppy est encore plus parfait :P

Post Reply