Скомпилируйте для CentOS на Ubuntu

Я могу установить более старую версию gcc/g ++ (4.1.3) на последней Ubuntu (который идет 4.4.3), и используйте его для компиляции .so, который должен работать на CentOS? Двоичному файлу, скомпилированному с версией Ubuntu gcc, не удается загрузиться на CentOS из-за пропавших без вести импорта (GLIB_2_11...). Мне нужен C++ (включая исключения), таким образом, я не могу просто статически связаться против glibc, который я уже попробовал.

Я могу установить более старый gcc, не удаляя более новый? Как я иду об освобождении, необходимом более старым gcc?

Я в настоящее время разрабатываю код в CentOS, но это - такая боль для использования. Я действительно хочу переместиться в рабочий стол Ubuntu.

5
задан Meh 4 May 2010 в 11:45
поделиться

1 ответ

g ++ - 4.1 доступен для Ubuntu; просто запустите apt-get install g ++ - 4.1 , затем запустите g ++ - 4.1 вместо g ++ .Однако простое использование более старого компилятора может не решить всех проблем с вашей библиотекой.

Как сказал Йоахим Зауэр, лучше всего заняться разработкой на Ubuntu, а затем выполнить финальную компиляцию на CentOS.

Даже если вы используете C ++, статическая компоновка все равно должна быть вариантом. (Однако вам гораздо лучше компилировать на CentOS и использовать динамическое связывание.)

Изменить: Виртуальная машина - это самый простой способ создания на CentOS, но если вы хотите избежать накладных расходов на память и процессор для запуска виртуальной машины и не заботиться о различиях между ядром Ubuntu и CentOS, тогда вы можете создать подкаталог, содержащий файловую систему CentOS или Fedora, и chroot сделает это для ваших сборок. Эта запись в блоге содержит подробности.

5
ответ дан 14 December 2019 в 19:06
поделиться