Компиляция программного обеспечения из источника: как собрать список зависимостей?

Я хотел бы скомпилировать Nginx 1.9.8 из исходного кода и установить его на сервер Ubuntu 14.04. Тем не менее, и это касается любого программного обеспечения, как мне выяснить, какие зависимости мне нужно установить в моей локальной системе для сборки программного обеспечения?

Скажем, я хотел бы скомпилировать Nginx. Я всегда могу сделать aptitude show nginx чтобы получить зависимости для текущего пакета, доступного через репозиторий. С другой стороны, это может быть неправильный список, поскольку хранилище может предлагать старую версию, в которой зависимости отличаются от новой версии, которую я хотел бы скомпилировать.

В общем, как мне собрать список зависимостей, которые мне нужно установить в системе для определенного программного обеспечения?

Учитывая, что зависимости могут различаться в зависимости от параметров компиляции, которые я предоставляю, это вопрос "методом проб и ошибок". То есть я должен попытаться скомпилировать, затем дождаться первой ошибки, посмотреть, на что она жалуется, добавить эту зависимость и повторить ту же итерацию?

1 ответ

Если вам повезло иметь программное обеспечение в своих репозиториях, вы можете установить зависимости с apt:

root # apt-get build-dep nginx 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libgd-dev' instead of 'libgd2-dev'
Note, selecting 'liblua5.1-0-dev' instead of 'liblua5.1-dev'
The following NEW packages will be installed:
  autotools-dev debhelper dh-apparmor dh-systemd geoip-bin gettext
  intltool-debian libcroco3 libfontconfig1-dev libfreetype6-dev libgd-dev
  libgeoip-dev libice-dev libice6 libjbig-dev libjpeg-dev libjpeg-turbo8-dev
  libjpeg8-dev liblua5.1-0 liblua5.1-0-dev liblzma-dev libmhash-dev libmhash2
  libpam0g-dev libpcre3-dev libpcrecpp0 libperl-dev libpng12-dev
  libpthread-stubs0-dev libreadline-dev libreadline6-dev libsm-dev libsm6
  libtiff5-dev libtiffxx5 libtinfo-dev libunistring0 libvpx-dev libx11-dev
  libxau-dev libxcb1-dev libxdmcp-dev libxml2-dev libxpm-dev libxslt1-dev
  libxt-dev libxt6 pkg-config po-debconf x11-common x11proto-core-dev
  x11proto-input-dev x11proto-kb-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 55 newly installed, 0 to remove and 0 not upgraded.
Need to get 12.6 MB of archives.
After this operation, 54.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Другие вопросы по тегам