Question

J'essaie de compiler un binaire d'un projet open-source afin que nos utilisateurs n'aient pas à le compiler eux-mêmes.

J'ai remarqué que certains binaires créés sur une machine Ubuntu 32 bits "a" Ne fonctionne pas sur la machine 32 bits "B", avec des erreurs concernant les fichiers .So manquants signalés.

Cependant, si je me compile à partir de zéro sur la machine "B", alors toutes les erreurs ont disparu.

Pourrait-il y avoir une raison pour laquelle la compilation du code sur la machine cible fait disparaître ces erreurs? Je n'ai couru que "./configure" et "faire" - pas "maquillage", donc ce n'est pas comme si je les rendais disponibles dans le monde.

Se pourrait-il que le compilateur détecte qu'il y ait des fichiers .So manquants dans la bibliothèque système et dans ce cas relie une bibliothèque statique dans l'exécutable?

Comment Ubuntu compile-t-il ses packages afin qu'un package i386 fonctionne sur toutes les machines x86?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top