LINUX.ORG.RU

Как узнать зависимые пакеты для сборки из исходников

 , , , ,


0

1

Всем доброго дня. OS-Debian 9 Решил собрать openssl из исходников Скачал пакет и распаковал. Зашел в директорий src и запустил команду dpkg-checkbuilddeps После чего получил ошибку «Не удалось прочитать debian/control: No such file or directory» Подскажите как будет правильней

А есть в папке файлик debian/control?

goingUp ★★★★★
()
Ответ на: комментарий от alexbalkan

Я не совсем понял что именно тебе нужно и что ты хочешь сделать.

Если тебе требуется собрать пакет из тех исходников, которые доступны в дистрибутиве, то тебе нужно скачать Source-пакет и делать по инструкции:

https://wiki.debian.org/BuildingTutorial#Get_the_source_package

Если тебе нужно просто скомпилировать openssl из исходного кода, не делая пакета – нужно просто скачать ванильные исходники openssl, сконфигурировать их, скомпилировать и установить туда, куда тебе нужно.

Если ты хочешь сделать DEB-пакет из того, что ты собрал из ванильных исходников, то скорее всего тебе поможет утилита checkinstall, погугли информацию про неё в интернете. Но checkinstall далеко не панацея, ибо проектом Debian на ванильные исходники OpenSSL накладываются патчи и проводится процесс дебианизации.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Просто собрать openssl из исходного кода. Но когда начинаешь собирать вечно проблемы с нехваткой чего-то, потом гугление и доустановка нужного. Где-то в мануалах пишут поставить одно, где-то другое. А как перед установкой узнать зависимые пакеты и установить только требуемое а не зас...ть ОС ? Спасибо!

alexbalkan
() автор топика
Ответ на: комментарий от alexbalkan

Подключаешь репу с исходными текстами и

sudo apt-get build-dep openssl
mkdir openssl-build
cd openssl-build
fakeroot apt-get -b source openssl
rm *dbg*.deb
Twissel ★★★★★
()
Ответ на: комментарий от alexbalkan

Для сборки OpenSSL из ванильного кода будет достаточно пакетов build-essential и gcc.

EXL ★★★★★
()
Ответ на: комментарий от alexbalkan

А как перед установкой узнать зависимые пакеты и установить только требуемое

sudo apt-get build-dep openssl
Twissel ★★★★★
()
Ответ на: комментарий от Twissel

Я вот тоже не понял, что он пытается сделать. Такое ощущение, что скачал он исходный код с сайта и пытается узнать какие зависимости нужны для их сборки через Debian’овские утилиты для построения Deb-пакетов.

К слову, для сборки пакета требуется гораздо больше зависимостей, чем для сборки ванили. Всякие там dpkg-dev и debhelper, см. Build-Depends:

https://sources.debian.org/src/openssl/1.1.1a-1/debian/control/

По этому Build-Depends и можно приблизительно ориентироваться, что нужно ванильным сорцам.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от alexbalkan

У меня не хватает опыта, начинающий

Начинающий говоришь. Все начинают с ./configure и make, а ты сразу deb-пакет лепить. Что-то здесь не то?

Deleted
()
Ответ на: комментарий от alexbalkan

Подскажите а как добавить репу на исходники? Я скачал исходники https://www.openssl.org/source/openssl-1.1.1b.tar.gz

Я вижу, вы совсем новичок.

Касательно Debian, существует два варианта исходного кода. Ванильный – это тот, что вы скачали. Из этого кода мейнтейнеры Debian делают второй вариант исходного кода, дебианизированный. Именно из этих исходников и создаются все нужные DEB-пакеты с библиотекой OpenSSL. Этот код приправлен специальными патчами для корректной работы в дистрибутиве и поставляется со всеми необходимыми для сборки рецептами.

Подскажите а как добавить репу на исходники?

Репа добавляется не на исходники, а в ваш дистрибутив. Здесь рассказано как:

https://wiki.debian.org/BuildingTutorial#configure_apt

После этого вы можете с помощью команд, которые опубликовал @Twissel, получить дебианизированный исходный код, из которого можно сделать DEB-пакет.

EXL ★★★★★
()
Ответ на: комментарий от Deleted

Уважаемые ! Прочтите что я спросил в самом начале. Никакие .deb пакеты я не собираю. С сайта проекта openssl скачал исходники, распаковал. Я знаю ./config | make | make install Речь о другом. У меня чистая ОС минимальная установка. Как узнать зависимости необходимые для компиляции openssl ? Помимо make gcc Спасибо

alexbalkan
() автор топика
Ответ на: комментарий от alexbalkan

Как узнать зависимости необходимые для компиляции

./confugure тебе об этом раскажет. Или его нет?

Deleted
()
Ответ на: комментарий от alexbalkan

я не собираю deb

В том то и дело, что собираешь, сам того не понимая.

Deleted
()
Ответ на: комментарий от alexbalkan

Автоматически – никак. У каждого проекта свои заморочки. Где-то может использоваться одна зависимость, где-то вторая. Некоторые могут конфликтовать между собой и они отключаются.

Так что ответом на вопрос:

Как узнать зависимости необходимые для компиляции openssl ?

Может быть лишь одно: чтение документации openssl, его гайда для сборки.

Второй вариант с хитростью – найти дебианизированные исходники на https://sources.debian.org и посмотреть их зависимости в Build-Depends, но это гарантирует только получение нужных для сборки пакетов лишь для конкретного дистрибутива.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Аааа понял. Дебианизированный исходный код это есть. Хочу установить stunnel с поддержкой openssl-1.1.1a И наверное совсем не в тему будет сказано, но попробую. С сайта проекта скачал stunnel-5.5(win32) c поддержкой openssl-1.1.1a На сервере Linux нужно установить stunnel. Из репов Debian -встала 5.39 с поддержкой openssl-1.1.0c Я так же скачал исходники stunnel-5.5 stunnel так же нужно откомпилить. Обязательно ли stunnel должен быть с поддержкой openssl-1.1.1a ?

alexbalkan
() автор топика
Ответ на: комментарий от alexbalkan

Обязательно ли stunnel должен быть с поддержкой openssl-1.1.1a ?

Это зависит от требований stunnel, поищите на его сайте в документации и гайдах для сборки, какой именно версии необходим OpenSSL для работы этой программы.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Но как говорится это уже другая песня. Спасибо. Буду возится с openssl. Так и не получил ответ как проверить зависимости перед компиляцией пакета. Документацию читал. Там вроде как нет такого что вам потребуется то или иное для компиляции.

alexbalkan
() автор топика
Ответ на: комментарий от alexbalkan

Так и не получил ответ как проверить зависимости перед компиляцией пакета.

Тебе же уже писали, что полностью автоматически список зависимостей для всех случаев не получить.

Алгоритм простой: запускаешь configure, он падает с сообщением о том, что ему чего-то не хватает. Ставишь нужную зависимость и повторяешь запуск configure еще раз и так до тех пор, пока configure полностью не отработает.

Поскольку ты не единственный в мире, кто собирает openssl, можно значительно упростить себе жизнь, выполнив apt build-deps openssl. Эта команда поставит все необходимые пакеты для сборки системного openssl. Те исходники, которые ты скачал, возможно потребуют еще чего-нибудь по мелочи, но основные зависимости у тебя уже будут установлены.

anonymous
()
Ответ на: комментарий от Deleted

там свой Configure, написанный на перле. и у него малость черезжопный интерфейс.

Iron_Bug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.