Создание общего двоичного файла в Linux для все машины x86

Я пытаюсь скомпилировать двоичный файл проекта с открытым исходным кодом, чтобы нашим пользователям не приходилось компилировать это сами.

Я заметил, что некоторые двоичные файлы, созданные на одной 32-битной машине Ubuntu «A», не работают на 32-битной машине «B», при этом сообщается об ошибках, связанных с отсутствием файлов .so.

Однако, если Я компилирую с нуля на машине «B», тогда все ошибки исчезают.

Может быть какая-то причина, по которой компиляция кода на целевой машине устраняет эти ошибки? Я запускал только "./configure" и "make", но не "make-install", поэтому я не сделал эти файлы .so доступными глобально.

Может быть, компилятор обнаружит, что они есть. so файлы отсутствуют в системной библиотеке и в этом случае связывает статическую библиотеку с исполняемым файлом?

Как Ubuntu компилирует свои пакеты, чтобы пакет i386 работал на всех машинах x86?

5
задан Vadim Kotov 13 February 2018 в 11:41
поделиться