06.30.08

Компиляция програм в Linux

Рубрика: Ubuntu, memory tagged , , в 00:09 от Engraver

Ситуация, когда программа доступна только в исходниках бывает очень огорчительна, когда не знаешь что с ними делать. Здесь отличный мануал по основным проблемам. Как итог, захотелось вкратце записать отдельно.

  1. Перед сборкой (если собирается ядро) будет скопировать распакованные из архива исходники в /usr/src и далее возиться с ними там или же в где-то в домашнем каталоге юзера.
  2. Если отсутствует configure, собираем его командами bootstrap или autogen.sh. Если нет и таких скриптов, то пробуем
    aclocal
    autoheader
    automake --gnu --add-missing --copy --foreign
    autoconf -f -Wall
  3. Дальше — классика:
    ./configure
    make

    И из под рута
    make install

От себя отмечу полезную опцию для владельцев многоядерных процессоров. Команду make можно запускать с ключем -j N, где N — количество задач, запускаемых во время компиляции одновременно. Даже на одном ядре скорость компиляции существенно повышалась.

Комментарии (4) »

  1. LG.BALUKATION сказал,

    права root’а как правило нужны только для установки (make install), отличия от этого правила не есть хороший тон…

  2. Engraver сказал,

    Если выполнять компиляцию в домашнем каталоге, то права рута действительно не нужны. Но если я собираю в /usr/src, то мне ж туда с правами на данный каталог по умолчанию система просто не позволит писать. Или какие-то права юзеру можно кошерно добавить?

  3. LG.BALUKATION сказал,

    Не обязательно собирать всё в /usr/src, но если так уж хочется – можно дать юзеру право писать туда. Обычно такие моменты решаеются на уровне групп, но при большом желании можно и ACL задействовать.

    На самом деле сейчасвроде толькоодин компонент системы имеет смысл там собирать – ядро. Просто некоторая его сборочная инфа нужна всяким сторонним драйверам бывает и они тогда смотрят в классическом /usr/src/linux. Например в Gentoo вообще весь софт собирается в недрах временных директорий и потом толькокопируются результаты.

    Про праа рута просто этой весной забавную штуку слышал, что ведь на самом деле многие делают конфиг/сборку/установку от имени суперюзера – типа удобно и запар никаких… Но ведь никто почти не смотрит, что именно там делается, а власть рута очень обширна и так можно специально/случайно систему не хило подпортить.

  4. Engraver сказал,

    Благодарю за инфу, подправил заметку :)


Добавить комментарий