LINUX.ORG.RU
решено ФорумAdmin

squid с "--enable-ssl-crtd": fail при сборке.

 , ,


0

1

В продолжении темы - надыбал на ссылки о динамической генерации сертификатов (для того, чтобы проксировать 443-й порт) - нужен ключ --enable-ssl-crtd при сборке. Компилим:

...
g++ -DHAVE_CONFIG_H  -I../.. -I../../include -I../../src -I../../include -I/usr/include   -I/usr/include/libxml2 -D_FORTIFY_SOURCE=2 -I/usr/include/libxml2 -Wall -Wpointer-arith -Wwrite-strings -Wcomments -Werror -fhuge-objects -D_REENTRANT -m64 -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -c -o certificate_db.o certificate_db.cc
g++: warning: switch ‘-fhuge-objects’ is no longer supported
certificate_db.cc: In destructor ‘Ssl::FileLocker::~FileLocker()’:
certificate_db.cc:48:17: error: ‘close’ was not declared in this scope
make[4]: *** [certificate_db.o] Ошибка 1
make[4]: Leaving directory `/root/sources/squid3-3.1.20/src/ssl'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Leaving directory `/root/sources/squid3-3.1.20/src'
make[2]: *** [all] Ошибка 2
make[2]: Leaving directory `/root/sources/squid3-3.1.20/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/root/sources/squid3-3.1.20'
make: *** [debian/stamp-makefile-build] Ошибка 2
dpkg-buildpackage: ошибка: debian/rules build возвратил код ошибки 2
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc -b failed

Печалька. Кто-нибудь сталкивался? Или, если можно обойтись без сборки с этим ключиком, ткните в мануал, где можно запилить динамическую генерацию сертификатов.

UPD. Решение: требуется строка в src/ssl/certificate_db.cc (заморочка gcc 4.7):

#include <unistd.h>

Пакеты собрались, вечером приступлю к тестированию.

Собралось наверное потому, что сегодня д/р этого замечательного дистрибутива...:-)

★★★★★

Я собираю на дебиане сквиз пакет себе без проблем.

Сквид 3.3.5 (он у меня не кеширующий, поэтому всякая шняга отключена связанная с кешем).

debian/rules такой:

override_dh_installdocs:


override_dh_auto_test:


override_dh_installchangelogs:


override_dh_auto_configure:
        ./configure \
        --prefix=/opt/squid \
        --sysconfdir=/etc/squid \
        --disable-loadable-modules \
        --disable-wccp \
        --disable-wccpv2 \
        --disable-eui \
        --disable-htcp \
        --disable-select \
        --disable-poll \
        --with-pthreads \
        --disable-storeio \
        --disable-disk-io \
        --disable-removal-policies \
        --enable-delay-pools \
        --disable-useragent-log \
        --disable-referer-log \
        --enable-ssl \
        --enable-ssl-crtd \
        --disable-cache-digests \
        --enable-icap-client \
        --disable-snmp \
        --disable-ident-lookups \
        --enable-auth \
        --enable-auth-basic="LDAP,PAM" \
        --enable-auth-ntlm="smb_lm" \
        --enable-auth-negotiate="kerberos" \
        --enable-auth-digest="LDAP,file" \
        --enable-external-acl-helpers="LDAP_group" \
        --enable-zph-qos \
        --with-openssl \
        --disable-ipv6

%:
        dh $@

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

Ты ручками из исходников, не пакет с сорцами и уже сгенереными правилами качаешь? Какие -dev пакеты используешь?

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

Да, просто качаю последние исходники сквида, делаю там

dh_make --native --single

Правлю debian/rules и потом

dpkg-buildpackage -us -uc -b -j12
как-то так.

Какие пакеты я хз, какие оно в конфигуре запрашивает у меня такие и доставляю.

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

Все, собрал. Ларчик просто открывался - погуглил по самой ошибке, и вот нашлись ответы - открываем src/ssl/certificate_db.cc и добавляем в первые include`ы строку:

#include <unistd.h>

Походу это заморочка gcc 4.7, а в визи именно он.

Пакеты собрались, вечером приступлю к тестированию.

Кстати, а как бы на багзиллу отписать дебиановскую? А то как добавить баг нихрена не понял.

leg0las ★★★★★
() автор топика
Последнее исправление: leg0las (всего исправлений: 1)
28 ноября 2013 г.
Ответ на: комментарий от leg0las

Файл src/ssl/certificate_db.cc

Смотрите: я в дебиане скачал исходник squid2.7 командой «apt-get source squid»

В папке /usr/src/squid-2.7.STABLE9/src нет папки ssl и файла certificate_db.cc

Вот и спрашиваю - что за файл, где его взять?

roman-info01
()
Ответ на: Файл src/ssl/certificate_db.cc от roman-info01

Вот что выдает....

ssl_support.o: In function `sslCreateServerContext': /usr/src/squid-2.7.STABLE9/src/ssl_support.c:451: undefined reference to `SSLv2_server_method' ssl_support.o: In function `sslCreateClientContext': /usr/src/squid-2.7.STABLE9/src/ssl_support.c:614: undefined reference to `SSLv2_client_method' collect2: error: ld returned 1 exit status make[4]: *** [squid] Ошибка 1 make[4]: Leaving directory `/usr/src/squid-2.7.STABLE9/src' make[3]: *** [all-recursive] Ошибка 1 make[3]: Leaving directory `/usr/src/squid-2.7.STABLE9/src' make[2]: *** [all] Ошибка 2 make[2]: Leaving directory `/usr/src/squid-2.7.STABLE9/src' make[1]: *** [all-recursive] Ошибка 1 make[1]: Leaving directory `/usr/src/squid-2.7.STABLE9' make: *** [build] Ошибка 2 dpkg-buildpackage: ошибка: debian/rules build возвратил код ошибки 2 debuild: fatal error at line 1357: dpkg-buildpackage -rfakeroot -D -us -uc -b failed

roman-info01
()
Ответ на: Вот что выдает.... от roman-info01

Я собирал 3.1 и 3.3. Советую 3.3, т.к. там работают плюшки для ssl. Ставишь все необходимое из визи + 2 либы с джесси - libecap2 и libecap2-dev (они не потянули у меня зависимостей на пол-дистрибутива). Качаешь свежий сквид и компилишь.

И да, ошибка несколько другая, чем у меня.

leg0las ★★★★★
() автор топика
Последнее исправление: leg0las (всего исправлений: 1)
20 января 2014 г.
Ответ на: комментарий от unkgsom

Проще собрать 3.3 и не заморачиваться - я сначала доставил недостающие зависимости, правда одна либа с тестинга таки понадобилась, и собственно сорц-пакет с тестинга. Собирается отлично.

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

пересборка squid

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

unkgsom
()
Ответ на: пересборка squid от unkgsom

Подрубить репу тестинга, попробовать поставить сквид. оно там вроде должно сказать о зависимостях. Отключить репу тестинга, поставить со сквизи все недостающие либы, подключить тестинг, поставить libecap2 и libecap2-dev (у меня они) и поставить сорц-пакет сквида. Во всяком случае подобную манипуляцию проделывал в августе-сентябре для squid-3.3.8.

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

пересборка squid

интересует сам процесс, он описан где либо? я пытался ставить, но получал ошибку

mkdir squid
cd squid/
wget http://mirror.switch.ch/ftp/mirror/squid/squid-3.4.1.tar.gz
tar xzf squid-3.4.1.tar.gz squid-3.4.1/
cd squid-3.4.1/
./configure --enable-ssl
make
make[3]: *** [basic_ncsa_auth] Error 1 
>>> make[3]: Leaving directory `...squid-3.4.1/helpers/basic_auth/NCSA' 
>>> make[2]: *** [all-recursive] Error 1 
>>> make[2]: Leaving directory `.../squid-3.4.1/helpers/basic_auth' 
>>> make[1]: *** [all-recursive] Error 1 
>>> make[1]: Leaving directory `.../squid-3.4.1/helpers' 
>>> make: *** [all-recursive] Error 1 

unkgsom
()
Ответ на: пересборка squid от unkgsom

http://packages.debian.org/ru/jessie/squid3 - 3.3.8-1, как и у меня, так что все Ок

Читать про сборку пакетов из исходников в дебиане стандартными средствами: https://wiki.debian.org/ru/DebianBuildPackages - читать до просветления.

Основное тут:

$ fakeroot ./debian/rules binary

или

$ dpkg-buildpackage -rfakeroot

или

#debuild

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