Хотя сопоставление разделяемых библиотек очень верно (используйте ldd
, чтобы получить список разделяемых библиотек, которые должны быть идентичными) в более общем плане, система должна быть той же архитектуры (или иметь библиотеки совместимости / ядра, установленные для исполняемые файлы x86 на архитектурах x86_64).
Одним из вариантов является статическое связывание (или предоставление собственных общих библиотек), чтобы вам была нужна совместимость только на уровне ABI ядра. Конечно, это означает, что системы / дистрибутивы, использующие нестандартные опции (NIS, LDAP и т. Д.), Вроде как запутались.
Другим вариантом является распространение файлов .a и выполнение окончательного связывания в целевой системе. Это, конечно, предполагает, что система имеет компилятор, но, вероятно, является наиболее переносимым для распределения объектов.
Однако во всех случаях у вас должна быть совместимость с архитектурой. x86 - самый низкий общий знаменатель, но ни в коем случае не единственный.