Résultat souhaitable:
compilez un fichier binaire avec openssl 1.0.1e lié de manière statique mais lié dynamiquement glibc, stdc ++, etc. Le fichier binaire doit s'exécuter sur la plupart des serveurs, par exemple Ubuntu 11.04 ou RHEL 6, CentOS 6.4.
Problème:
Le code que je veux compiler dépend de openssl 1.0.1e. Openssl 1.0.1e dépend de la glibc trouvée dans les versions les plus récentes d’Ubuntu (comme 12.04, glibc 2.13) et ne compile pas contre celle de Ubuntu 11.04.
Le binaire compilé sur Ubuntu 12.04 ne peut pas s'exécuter sur Ubuntu 11.04 avec le message d'erreur suivant:
$BINARY: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by $BINARY)
Comment puis-je compiler mon binaire afin qu'il fonctionne sur les anciens Ubuntus et RHEL6, CentOS 6.4?
Bienvenue sur Superuser !, vous avez peut-être déjà sous Unix et Linux, la réponse est peut-être là
50-3 le
Pourquoi ne pas simplement passer à Ubuntu 12.04?
Braiam
@Braiam hi là-bas, ce n'est pas mon choix, je distribue le binaire aux utilisateurs finaux fournis avec l'application. Il n'y a aucun moyen de forcer tous les utilisateurs à mettre à jour leur Ubuntus :)
imslavko