Зачем компилировать RPM из исходного кода?

Зачем компилировать RPM из исходного кода?

Что я знаю: src.rpm обычно содержит некий tar или сжатый исходный код для приложения/библиотеки/пакета. Иногда люди рекомендуют компилировать из исходного кода, если пакет не работает.

Чего я не знаю: Зачем перекомпилировать из исходников? Что мне нужно для компиляции из исходников? gcc? xlc?

Что я хотел бы узнать: гипотетически, если у вас есть исходный RPM-файл, можете ли вы скомпилировать этот RPM-файл для запуска в Fedora, а затем перенести тот же исходный RPM-файл в AIX и скомпилировать его для запуска в AIX?

решение1

Ну, .src.rpm содержит исходный кодиинформация о том, куда следует копировать (устанавливать) различные файлы и исполняемые файлы.

Итак, да, вы должны иметь возможность компилировать исходный код как на Fedora, так и на AIX. Однако это не означает, что вы также можете «установить rpm». Установка состоит из копирования файлов в различные системные папки, такие как /usr, /etcи так далее. Различные операционные системы ожидают, что определенные файлы будут находиться в разных местах, поэтому нет никакой гарантии, что .rpm для Fedora сможет установиться на AIX. На самом деле, это крайне маловероятно.

Что касается компиляции, вы можете захотеть скомпилировать из исходников, чтобы получить двоичный файл, оптимизированный для вашего конкретного оборудования, или активировать определенные флаги компиляции, такие как расположение определенных библиотек. В общем, если вы не знаете, почему вам следует компилировать из исходников, то вам, вероятно, не следует этого делать.

Если вы решите компилировать, вам понадобится соответствующий компилятор. Это может быть (среди прочих) gccили xlcдля программного обеспечения, написанного на C или C++, javacдля Java и т. д. Какой из них вам следует использовать, зависит от устанавливаемого вами программного обеспечения и ваших личных предпочтений. Иногда программное обеспечение было написано с учетом определенных компиляторов (использующих определенные параметры во время компиляции), и они будут жаловаться, если вы попытаетесь скомпилировать их другим.

Наконец, большинство исходных tar-архивов *nix включают Makefile и скрипт конфигурации. Вам понадобятся необходимые инструменты для их использования. Скрипт конфигурации обычно представляет собой простой скрипт BLASH, поэтому, если у вас установлен BASH, все должно быть в порядке. Для использования Makefile нужна команда make. Также вам понадобятся некоторые другие базовые инструменты (такие как autoconf и automake и другие). Я много лет не работал с дистрибутивом на основе RH, но если мне не изменяет память, эта команда должна установить все, что вам нужно:

yum groupinstall "Development Tools" 

Связанный контент