J'essaie d'utiliser une bibliothèque précompilée fournie en tant que fichier .so.Recherche de symboles manquants dans libstdC++ sur Debian/squeeze
Ce fichier est lié dynamiquement contre quelques bibliothèques:
$ ldd /usr/local/test/lib/libtest.so
linux-gate.so.1 => (0xb770d000)
libstdc++-libc6.1-1.so.2 => not found
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb75e1000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7499000)
/lib/ld-linux.so.2 (0xb770e000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb747c000)
Malheureusement, dans Debian/squeeze, il n'y a pas libstdC++ - libc6.1-1.so fichier *.. Seul un fichier libstdC++. So. * Fourni par le paquet libstdC++ 6.
J'ai essayé de lier (en utilisant ln -s) libstdC++ - libc6.1-1.so.2 au fichier libstdC++. So.6. Cela ne fonctionne pas, un tas de symboles semble manquer quand j'essaye de ld mes fichiers .o avec cette lib.
/usr/local/test/lib/libtest.so: undefined reference to `__builtin_vec_delete'
/usr/local/test/lib/libtest.so: undefined reference to `istrstream::istrstream(int, char const *, int)'
/usr/local/test/lib/libtest.so: undefined reference to `__rtti_user'
/usr/local/test/lib/libtest.so: undefined reference to `__builtin_new'
/usr/local/test/lib/libtest.so: undefined reference to `istream::ignore(int, int)'
Que feriez-vous? Comment puis-je trouver dans quelle lib ces symboles sont exportés?
Merci pour la réponse. Mais je suis d'accord: utiliser un oldlib d'une version plus ancienne et obsolète de Debian est assez effrayant. – madflo
s'il vous plaît voir ma mise à jour –
Cela fonctionne ici aussi ... bonne idée! – madflo