Как на самом деле узнать, какие пакеты нужны для сборки другого пакета? (Для запуска ./configure, если быть точным.)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
жучара
Сообщения: 1138
ОС: Debian 12

Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение жучара »

Друзья! Зачем-то решил сконфигурировать пакет 389-ds-base. Сперва установил пакеты, необходимые (будто бы) для его сборки:

Shell

user@astra:~/389-ds-base-1.3.5.17$ sudo apt-get build-dep 389-ds-base > /dev/null
user@astra:~/389-ds-base-1.3.5.17$
Ну, короче, там нормально всё встало. Потом качнул исходники 389-ds-base и полез их конфигурировать (20 последних строк вывожу).

Shell

user@astra:~/389-ds-base-1.3.5.17$ sudo ./configure 2>&1 | tail -n 20
checking for pkg-config... /usr/bin/pkg-config
checking for nspr with pkg-config... using system NSPR
configure: checking for NSS...
checking for --with-nss... yes
checking for --with-nss-inc... no
checking for --with-nss-lib... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for nss with pkg-config... using system NSS
configure: checking for OpenLDAP...
checking for --with-openldap... no
checking for --with-openldap-inc... no
checking for --with-openldap-lib... no
checking for --with-openldap-bin... no
configure: checking for Mozilla LDAPSDK...
checking for --with-ldapsdk... yes
checking for --with-ldapsdk-inc... no
checking for --with-ldapsdk-lib... no
checking for --with-ldapsdk-bin... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for mozldap with pkg-config... configure: error: LDAPSDK not found, specify with --with-ldapsdk-inc|-lib|-bin.
user@astra:~/389-ds-base-1.3.5.17$
Посмотрим, что такое specify with --with-ldapsdk-inc|-lib|-bin:

Shell

user@astra:~/389-ds-base-1.3.5.17$ ./configure --help
...
--with-ldapsdk[=PATH] Mozilla LDAP SDK directory
--with-ldapsdk-inc=PATH Mozilla LDAP SDK include directory
--with-ldapsdk-lib=PATH Mozilla LDAP SDK library directory
--with-ldapsdk-bin=PATH Mozilla LDAP SDK binary directory
...
То есть я так понимаю, для сборки нужно по меньшей мере ещё мозиллу какую-то ставить (а потом смотреть, где там у ней соответствующие директории). Это помимо того, что установлено с помощью build-dep.

/////////////////////////////////////////////////////////////////////////

кстати говоря, если допустить, что build-dep устанавливает только часть необходимых пакетов для сборки- (для чего-то же build-dep нужна)-, то как получить имена пакетов ХОТЯ БЫ ИЗ ЭТОЙ ЧАСТИ- неполной части, естессно, я так и не понял. Допустим. получаем эти пакеты без установки:

apt-get -d build-dep 389-ds-base

Потом куда-толезем и смотри их список, а потом удаляем. Но во-первых, так себе занятие скачивать сколько-то там пакетов, просто чтобы узнать их имена, а во-вторых, если они будут установлены, то они не скачаются. И как в этом случае узнать их список? Никак. Такие дела.)

/////////////////////////////////////////////////////////////////////////

Ну, коль скоро apt-get build-dep 389-ds-base со своей работой не справляется (она же не скачивает никакой мозиллы, необходимой для удачной работы ./configure), отсюда и сабж. Спасибо, кто откликнется. Астралинукс Орёл 2.12
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21433
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение Bizdelnick »

жучара писал(а):
11.03.2020 23:06
То есть я так понимаю, для сборки нужно по меньшей мере ещё мозиллу какую-то ставить (а потом смотреть, где там у ней соответствующие директории).
Скорее всего, только второе.
И что за манера — отправить вывод команды в /dev/null, а потом утверждать, что она якобы «не справляется со своей работой»?
Добавлено (23:39):
https://salsa.debian.org/freeipa-team/389-ds-base/-/blob/debian/1.3.8.2-1/debian/rules#L54
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1138
ОС: Debian 12

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение жучара »

Bizdelnick писал:
11.03.2020 23:30
И что за манера — отправить вывод команды в /dev/null, а потом утверждать, что она якобы «не справляется со своей работой»?

Shell

user@astra:~/389-ds-base-1.3.5.17$ sudo apt-get build-dep 389-ds-base
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
autoconf automake autopoint autotools-dev comerr-dev debhelper dh-autoreconf dh-strip-nondeterminism dh-systemd file gettext gettext-base
icu-devtools intltool-debian krb5-multidev libarchive-zip-perl libbz2-dev libcroco3 libdb-dev libdb5.3-dev libfile-stripnondeterminism-perl
libgssrpc4 libicu-dev libkadm5clnt-mit11 libkadm5srv-mit11 libkdb5-8 libkrb5-dev libldap2-dev libmagic-mgc libmagic1 libpci-dev libpcre16-3
libpcre3-dev libpcre32-3 libpcrecpp0v5 libperl-dev libsasl2-dev libsensors4 libsensors4-dev libsigsegv2 libsnmp-base libsnmp-dev libsnmp30
libssl-dev libsvrcore-dev libsvrcore0 libsystemd-dev libtimedate-perl libtool libudev-dev libwrap0 libwrap0-dev m4 po-debconf zlib1g-dev
0 upgraded, 55 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/30.6 MB of archives.
After this operation, 130 MB of additional disk space will be used.
Do you want to continue? [Y/n]
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "",
LC_ALL = (unset),
LANG = "ru_RU.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Extracting templates from packages: 100%
E: Can not write log (Is /dev/pts mounted?) - posix_openpt (19: No such device)
Selecting previously unselected package libpcrecpp0v5:amd64.
(Reading database ... 19453 files and directories currently installed.)
Preparing to unpack .../00-libpcrecpp0v5_2%3a8.39-3_amd64.deb ...
Unpacking libpcrecpp0v5:amd64 (2:8.39-3) ...
Selecting previously unselected package libudev-dev:amd64.
Preparing to unpack .../01-libudev-dev_232-25+deb9u11astra.ce1_amd64.deb ...
Unpacking libudev-dev:amd64 (232-25+deb9u11astra.ce1) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../02-libmagic-mgc_1%3a5.30-1+deb9u1_amd64.deb ...
Unpacking libmagic-mgc (1:5.30-1+deb9u1) ...
Selecting previously unselected package libmagic1:amd64.
Preparing to unpack .../03-libmagic1_1%3a5.30-1+deb9u1_amd64.deb ...
Unpacking libmagic1:amd64 (1:5.30-1+deb9u1) ...
Selecting previously unselected package file.
Preparing to unpack .../04-file_1%3a5.30-1+deb9u1_amd64.deb ...
Unpacking file (1:5.30-1+deb9u1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../05-gettext-base_0.19.8.1-2_amd64.deb ...
Unpacking gettext-base (0.19.8.1-2) ...
Selecting previously unselected package libwrap0:amd64.
Preparing to unpack .../06-libwrap0_7.6.q-26_amd64.deb ...
Unpacking libwrap0:amd64 (7.6.q-26) ...
Selecting previously unselected package libsigsegv2:amd64.
Preparing to unpack .../07-libsigsegv2_2.10-5_amd64.deb ...
Unpacking libsigsegv2:amd64 (2.10-5) ...
Selecting previously unselected package m4.
Preparing to unpack .../08-m4_1.4.18-1_amd64.deb ...
Unpacking m4 (1.4.18-1) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../09-autoconf_2.69-10_all.deb ...
Unpacking autoconf (2.69-10) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../10-autotools-dev_20161112.1_all.deb ...
Unpacking autotools-dev (20161112.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../11-automake_1%3a1.15-6_all.deb ...
Unpacking automake (1:1.15-6) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../12-autopoint_0.19.8.1-2_all.deb ...
Unpacking autopoint (0.19.8.1-2) ...
Selecting previously unselected package libtool.
Preparing to unpack .../13-libtool_2.4.6-2_all.deb ...
Unpacking libtool (2.4.6-2) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../14-dh-autoreconf_14_all.deb ...
Unpacking dh-autoreconf (14) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../15-libarchive-zip-perl_1.59-1+deb9u1_all.deb ...
Unpacking libarchive-zip-perl (1.59-1+deb9u1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../16-libfile-stripnondeterminism-perl_0.034-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (0.034-1) ...
Selecting previously unselected package libtimedate-perl.
Preparing to unpack .../17-libtimedate-perl_2.3000-2_all.deb ...
Unpacking libtimedate-perl (2.3000-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../18-dh-strip-nondeterminism_0.034-1_all.deb ...
Unpacking dh-strip-nondeterminism (0.034-1) ...
Selecting previously unselected package libcroco3:amd64.
Preparing to unpack .../19-libcroco3_0.6.11-3_amd64.deb ...
Unpacking libcroco3:amd64 (0.6.11-3) ...
Selecting previously unselected package gettext.
Preparing to unpack .../20-gettext_0.19.8.1-2_amd64.deb ...
Unpacking gettext (0.19.8.1-2) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../21-intltool-debian_0.35.0+20060710.4_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.4) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../22-po-debconf_1.0.20_all.deb ...
Unpacking po-debconf (1.0.20) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../23-debhelper_10.2.5_all.deb ...
Unpacking debhelper (10.2.5) ...
Selecting previously unselected package icu-devtools.
Preparing to unpack .../24-icu-devtools_63.1-6_amd64.deb ...
Unpacking icu-devtools (63.1-6) ...
Selecting previously unselected package libgssrpc4:amd64.
Preparing to unpack .../25-libgssrpc4_1.15.2-2.astra4_amd64.deb ...
Unpacking libgssrpc4:amd64 (1.15.2-2.astra4) ...
Selecting previously unselected package libkdb5-8:amd64.
Preparing to unpack .../26-libkdb5-8_1.15.2-2.astra4_amd64.deb ...
Unpacking libkdb5-8:amd64 (1.15.2-2.astra4) ...
Selecting previously unselected package libkadm5srv-mit11:amd64.
Preparing to unpack .../27-libkadm5srv-mit11_1.15.2-2.astra4_amd64.deb ...
Unpacking libkadm5srv-mit11:amd64 (1.15.2-2.astra4) ...
Selecting previously unselected package libkadm5clnt-mit11:amd64.
Preparing to unpack .../28-libkadm5clnt-mit11_1.15.2-2.astra4_amd64.deb ...
Unpacking libkadm5clnt-mit11:amd64 (1.15.2-2.astra4) ...
Selecting previously unselected package comerr-dev.
Preparing to unpack .../29-comerr-dev_2.1-1.43.4-2+deb9u1_amd64.deb ...
Unpacking comerr-dev (2.1-1.43.4-2+deb9u1) ...
Selecting previously unselected package krb5-multidev.
Preparing to unpack .../30-krb5-multidev_1.15.2-2.astra4_amd64.deb ...
Unpacking krb5-multidev (1.15.2-2.astra4) ...
Selecting previously unselected package libbz2-dev:amd64.
Preparing to unpack .../31-libbz2-dev_1.0.6-8.1_amd64.deb ...
Unpacking libbz2-dev:amd64 (1.0.6-8.1) ...
Selecting previously unselected package libicu-dev:amd64.
Preparing to unpack .../32-libicu-dev_63.1-6_amd64.deb ...
Unpacking libicu-dev:amd64 (63.1-6) ...
Selecting previously unselected package libkrb5-dev.
Preparing to unpack .../33-libkrb5-dev_1.15.2-2.astra4_amd64.deb ...
Unpacking libkrb5-dev (1.15.2-2.astra4) ...
Selecting previously unselected package zlib1g-dev:amd64.
Preparing to unpack .../34-zlib1g-dev_1%3a1.2.8.dfsg-5_amd64.deb ...
Unpacking zlib1g-dev:amd64 (1:1.2.8.dfsg-5) ...
Selecting previously unselected package libpci-dev.
Preparing to unpack .../35-libpci-dev_1%3a3.5.2-1_amd64.deb ...
Unpacking libpci-dev (1:3.5.2-1) ...
Selecting previously unselected package libpcre16-3:amd64.
Preparing to unpack .../36-libpcre16-3_2%3a8.39-3_amd64.deb ...
Unpacking libpcre16-3:amd64 (2:8.39-3) ...
Selecting previously unselected package libpcre32-3:amd64.
Preparing to unpack .../37-libpcre32-3_2%3a8.39-3_amd64.deb ...
Unpacking libpcre32-3:amd64 (2:8.39-3) ...
Selecting previously unselected package libpcre3-dev:amd64.
Preparing to unpack .../38-libpcre3-dev_2%3a8.39-3_amd64.deb ...
Unpacking libpcre3-dev:amd64 (2:8.39-3) ...
Selecting previously unselected package libperl-dev.
Preparing to unpack .../39-libperl-dev_5.24.1-3+deb9u5_amd64.deb ...
Unpacking libperl-dev (5.24.1-3+deb9u5) ...
Selecting previously unselected package libsasl2-dev.
Preparing to unpack .../40-libsasl2-dev_2.1.27~101-g0780600+dfsg-3_amd64.deb ...
Unpacking libsasl2-dev (2.1.27~101-g0780600+dfsg-3) ...
Selecting previously unselected package libsensors4:amd64.
Preparing to unpack .../41-libsensors4_1%3a3.4.0-4_amd64.deb ...
Unpacking libsensors4:amd64 (1:3.4.0-4) ...
Selecting previously unselected package libsnmp-base.
Preparing to unpack .../42-libsnmp-base_5.7.3+dfsg-1.7+deb9u1_all.deb ...
Unpacking libsnmp-base (5.7.3+dfsg-1.7+deb9u1) ...
Selecting previously unselected package libsnmp30:amd64.
Preparing to unpack .../43-libsnmp30_5.7.3+dfsg-1.7+deb9u1_amd64.deb ...
Unpacking libsnmp30:amd64 (5.7.3+dfsg-1.7+deb9u1) ...
Selecting previously unselected package libwrap0-dev:amd64.
Preparing to unpack .../44-libwrap0-dev_7.6.q-26_amd64.deb ...
Unpacking libwrap0-dev:amd64 (7.6.q-26) ...
Selecting previously unselected package libsensors4-dev.
Preparing to unpack .../45-libsensors4-dev_1%3a3.4.0-4_amd64.deb ...
Unpacking libsensors4-dev (1:3.4.0-4) ...
Selecting previously unselected package libsnmp-dev.
Preparing to unpack .../46-libsnmp-dev_5.7.3+dfsg-1.7+deb9u1_amd64.deb ...
Unpacking libsnmp-dev (5.7.3+dfsg-1.7+deb9u1) ...
Selecting previously unselected package libssl-dev:amd64.
Preparing to unpack .../47-libssl-dev_1.1.0k-1~deb9u1~astra0u1_amd64.deb ...
Unpacking libssl-dev:amd64 (1.1.0k-1~deb9u1~astra0u1) ...
Selecting previously unselected package libsvrcore0:amd64.
Preparing to unpack .../48-libsvrcore0_1%3a4.1.2+dfsg1-3_amd64.deb ...
Unpacking libsvrcore0:amd64 (1:4.1.2+dfsg1-3) ...
Selecting previously unselected package libsvrcore-dev:amd64.
Preparing to unpack .../49-libsvrcore-dev_1%3a4.1.2+dfsg1-3_amd64.deb ...
Unpacking libsvrcore-dev:amd64 (1:4.1.2+dfsg1-3) ...
Selecting previously unselected package libsystemd-dev:amd64.
Preparing to unpack .../50-libsystemd-dev_232-25+deb9u11astra.ce1_amd64.deb ...
Unpacking libsystemd-dev:amd64 (232-25+deb9u11astra.ce1) ...
Selecting previously unselected package dh-systemd.
Preparing to unpack .../51-dh-systemd_10.2.5_all.deb ...
Unpacking dh-systemd (10.2.5) ...
Selecting previously unselected package libdb5.3-dev.
Preparing to unpack .../52-libdb5.3-dev_5.3.28-12+deb9u1_amd64.deb ...
Unpacking libdb5.3-dev (5.3.28-12+deb9u1) ...
Selecting previously unselected package libdb-dev:amd64.
Preparing to unpack .../53-libdb-dev_5.3.1_amd64.deb ...
Unpacking libdb-dev:amd64 (5.3.1) ...
Selecting previously unselected package libldap2-dev:amd64.
Preparing to unpack .../54-libldap2-dev_2.4.44+dfsg-5+deb9u2astra2_amd64.deb ...
Unpacking libldap2-dev:amd64 (2.4.44+dfsg-5+deb9u2astra2) ...
Setting up libldap2-dev:amd64 (2.4.44+dfsg-5+deb9u2astra2) ...
Setting up libgssrpc4:amd64 (1.15.2-2.astra4) ...
Setting up libbz2-dev:amd64 (1.0.6-8.1) ...
Setting up libperl-dev (5.24.1-3+deb9u5) ...
Setting up libarchive-zip-perl (1.59-1+deb9u1) ...
Setting up comerr-dev (2.1-1.43.4-2+deb9u1) ...
Setting up libtimedate-perl (2.3000-2) ...
Setting up libsigsegv2:amd64 (2.10-5) ...
Processing triggers for install-info (6.3.0.dfsg.1-1) ...
Setting up libssl-dev:amd64 (1.1.0k-1~deb9u1~astra0u1) ...
Setting up libsvrcore0:amd64 (1:4.1.2+dfsg1-3) ...
Setting up gettext-base (0.19.8.1-2) ...
Setting up m4 (1.4.18-1) ...
Setting up libsasl2-dev (2.1.27~101-g0780600+dfsg-3) ...
Setting up libmagic-mgc (1:5.30-1+deb9u1) ...
Setting up libmagic1:amd64 (1:5.30-1+deb9u1) ...
Setting up libcroco3:amd64 (0.6.11-3) ...
Setting up libdb5.3-dev (5.3.28-12+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
Setting up autotools-dev (20161112.1) ...
Setting up libkdb5-8:amd64 (1.15.2-2.astra4) ...
Setting up libsensors4:amd64 (1:3.4.0-4) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up libpcrecpp0v5:amd64 (2:8.39-3) ...
Setting up libpcre32-3:amd64 (2:8.39-3) ...
Setting up libkadm5clnt-mit11:amd64 (1.15.2-2.astra4) ...
Setting up libsystemd-dev:amd64 (232-25+deb9u11astra.ce1) ...
Setting up icu-devtools (63.1-6) ...
Setting up libpcre16-3:amd64 (2:8.39-3) ...
Setting up libsvrcore-dev:amd64 (1:4.1.2+dfsg1-3) ...
Setting up libudev-dev:amd64 (232-25+deb9u11astra.ce1) ...
Setting up autopoint (0.19.8.1-2) ...
Setting up libwrap0:amd64 (7.6.q-26) ...
Setting up zlib1g-dev:amd64 (1:1.2.8.dfsg-5) ...
Setting up libsnmp-base (5.7.3+dfsg-1.7+deb9u1) ...
Setting up libfile-stripnondeterminism-perl (0.034-1) ...
Setting up libdb-dev:amd64 (5.3.1) ...
Setting up libpcre3-dev:amd64 (2:8.39-3) ...
Setting up libsnmp30:amd64 (5.7.3+dfsg-1.7+deb9u1) ...
Setting up libwrap0-dev:amd64 (7.6.q-26) ...
Setting up gettext (0.19.8.1-2) ...
Setting up autoconf (2.69-10) ...
Setting up libicu-dev:amd64 (63.1-6) ...
Setting up file (1:5.30-1+deb9u1) ...
Setting up intltool-debian (0.35.0+20060710.4) ...
Setting up libsensors4-dev (1:3.4.0-4) ...
Setting up automake (1:1.15-6) ...
update-alternatives: using /usr/bin/automake-1.15 to provide /usr/bin/automake (automake) in auto mode
Setting up libkadm5srv-mit11:amd64 (1.15.2-2.astra4) ...
Setting up libpci-dev (1:3.5.2-1) ...
Setting up libtool (2.4.6-2) ...
Setting up po-debconf (1.0.20) ...
Setting up libsnmp-dev (5.7.3+dfsg-1.7+deb9u1) ...
Setting up krb5-multidev (1.15.2-2.astra4) ...
Setting up libkrb5-dev (1.15.2-2.astra4) ...
Setting up dh-autoreconf (14) ...
Setting up dh-strip-nondeterminism (0.034-1) ...
Setting up debhelper (10.2.5) ...
Setting up dh-systemd (10.2.5) ...
Processing triggers for libc-bin (2.24-11+deb9u4) ...
user@astra:~/389-ds-base-1.3.5.17$
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение Hephaestus »

жучара писал(а):
11.03.2020 23:06
для чего-то же build-dep нужна
Если я правильно помню, она нужна для сборки из исходников, полученных из deb-src.
То есть будет скачан пакет исходников для последующей сборки командой вроде apt-get --build source package_name
И вот сборочные зависимости как раз подтягиваются с помощью build-dep.
А поскольку из deb-src прилетает сборочный пакет (а не просто тарбол), то там будут применены патчи, опции configure, соблюдены условия политки Debian и т.д. И в результате всё нормально соберется.

Если же Вы просто руками запустили ./configure - это будет несколько иной сценарий сборки и build-dep тут поможет лишь частично.
жучара писал(а):
11.03.2020 23:06
как получить имена пакетов ХОТЯ БЫ ИЗ ЭТОЙ ЧАСТИ- неполной части, естессно
Если Вы затеваете самостоятельную сборку (не с помощью apt-get source),
то есть распаковываете тарбол, запускаете ./configure и т.д.,
то состав зависимостей нужно выяснять из файлов README и INSTALL, входящих в тарбол
и дальше уже решать, что делать (какие-то пакеты скачивать, а какие-то зависимости отключать при помощи опций ./configure).
Как я уже сказал, утилита build-dep здесь частично может помочь, скачав какие-то пакеты, но вообще она про другое.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21433
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение Bizdelnick »

Ну вот:
жучара писал(а):
12.03.2020 00:45
libldap2-dev
Что надо для сборки пакета, установилось. Только конфигурируется он с опцией --with-openldap. Смысл её, я надеюсь, худо-бедно описан в ./configure --help.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1138
ОС: Debian 12

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение жучара »

Bizdelnick писал:
12.03.2020 12:38
Ну вот:
жучара писал(а):
12.03.2020 00:45
libldap2-dev
Что надо для сборки пакета, установилось. Только конфигурируется он с опцией --with-openldap. Смысл её, я надеюсь, худо-бедно описан в ./configure --help.
это для меня тёмный лес, к сожалению

...Пакет 389-ds-base (не сырцы, а натуральный пакет, который есть в репозитории) собран КАК-ТО. И то самое КАК-ТО всё и решило бы, если было описано. Да хватило бы послесборочного файла config.log:

Shell

user@astra:~/389-ds-base-1.3.5.17$ cat config.log | head -n 7
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by dirsrv configure 1.0, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ ./configure --with-openldap
user@astra:~/389-ds-base-1.3.5.17$
Так ведь нет его. Собрали с ./configure --with-openldap (похоже на то), и молчат, а ты мучайся.

Shell

user@astra:~/389-ds-base-1.3.5.17$ apt-file list 389-ds-base 2>/dev/null | grep "^389-ds-base:" | grep config.log
user@astra:~/389-ds-base-1.3.5.17$
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21433
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение Bizdelnick »

жучара писал(а):
12.03.2020 13:24
И то самое КАК-ТО всё и решило бы, если было описано.
Оно описано, причём неоднократно.

https://debian-handbook.info/browse/ru-RU/stable/debian-packaging.html
https://www.debian.org/doc/manuals/maint-guide/
жучара писал(а):
12.03.2020 13:24
Собрали с ./configure --with-openldap (похоже на то), и молчат, а ты мучайся.
Я, по-Вашему, из астрала это узнал?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение Hephaestus »

жучара писал(а):
12.03.2020 13:24
...Пакет 389-ds-base (не сырцы, а натуральный пакет, который есть в репозитории) собран КАК-ТО. И то самое КАК-ТО всё и решило бы, если было описано.
Он собран с помощью apt-get source.
Я так понимаю вот это можно было не писать. Вы всё равно не читаете.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1138
ОС: Debian 12

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение жучара »

Hephaestus писал:
12.03.2020 15:13
жучара писал(а):
12.03.2020 13:24
...Пакет 389-ds-base (не сырцы, а натуральный пакет, который есть в репозитории) собран КАК-ТО. И то самое КАК-ТО всё и решило бы, если было описано.
Он собран с помощью apt-get source.
Я так понимаю вот это можно было не писать. Вы всё равно не читаете.
глазами пробежался. Как собран- стало ещё более неважно ввиду предположения, что всё нужное я и так скачал а не собирается из-за неправильных параметров ./configure. Грубо говоря, не там я рыл. Кстати говоря, теперь, после помощи, нужные параметры я получаю так:

Shell

user@astra:~/389-ds-base/389-ds-base-1.3.5.17$ dh_auto_configure --no-act
./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking
user@astra:~/389-ds-base/389-ds-base-1.3.5.17$
И плюсом сюда идут параметры из файла debian/rules:
override_dh_auto_configure:
dh_auto_configure -- \
--with-openldap \
--with-systemd \
--with-systemdsystemunitdir=/lib/systemd/system \
--with-systemdsystemconfdir=/etc/systemd/system \
--with-systemdgroupname=dirsrv.target \
--with-tmpfiles-d=/etc/tmpfiles.d \
--enable-autobind
===============================================================

То же самое можно получить (и по некоторым смутным соображениям это даже правильнее):

dpkg-buildpackage -us -uc

Там портянка вылезает, среди которой:
./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --libexecdir=\${prefix}/lib/x86_64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking --with-openldap --with-systemd --with-systemdsystemunitdir=/lib/systemd/system --with-systemdsystemconfdir=/etc/systemd/system --with-systemdgroupname=dirsrv.target --with-tmpfiles-d=/etc/tmpfiles.d --enable-autobind
что и можно использовать. Всё равно вылезают ошибки, я сейчас с ними ковыряюсь.
Последний раз редактировалось жучара 15.03.2020 12:37, всего редактировалось 1 раз.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Hephaestus
Сообщения: 3728
Статус: Многоуважаемый джинн...
ОС: Slackware64-14.1/14.2

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение Hephaestus »

жучара писал(а):
14.03.2020 19:26
глазами пробежался
жучара писал(а):
14.03.2020 19:26
То же самое можно получить (и по некоторым смутным соображениям это даже правильнее)
Метод "глазами пробежался" ничего, кроме "смутных соображений" дать не может.
Если бы Вы прочитали нормально,
да ещё не торопясь, вдумчиво освоили бы материал по ссылкам, которые дал Bizdelnick, то "смутные соображения" превратились бы в твердые знания.
Пускай скрипят мои конечности.
Я - повелитель бесконечности...
Мой блог
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1138
ОС: Debian 12

Re: Как на самом деле узнать, какие пакеты нужны для сборки другого пакета?

Сообщение жучара »

Hephaestus писал:
15.03.2020 09:22
жучара писал(а):
14.03.2020 19:26
глазами пробежался
жучара писал(а):
14.03.2020 19:26
То же самое можно получить (и по некоторым смутным соображениям это даже правильнее)
Метод "глазами пробежался" ничего, кроме "смутных соображений" дать не может.
Если бы Вы прочитали нормально,
да ещё не торопясь, вдумчиво освоили бы материал по ссылкам, которые дал Bizdelnick, то "смутные соображения" превратились бы в твердые знания.
прочёл: знай всё.
Ну да, нужно знать всё, кто же спорит?
Я просто читаю маны.
Спасибо сказали: