Dansguardian #2

Добрый день, други

Возникла потребность поставить второй данс на ту же ось, где крутится первый.
Почитал умных людей в нете - попробовал скомпилировать так, как говорят - не получается, пишет ошибку компиляции:

... (text omitted)
Generating platform specific logrotate.d script...
creating ./config.status

[root@vm-rt1 dansguardian1]# make
g++ -O2 -Wall -c String.cpp
make: g++: Command not found
make: *** [String.o] Error 127

[root@vm-rt1 dansguardian1]# make install
cp -f ./filtergroupslist /etc/dansguardian1/filtergroupslist
cp -f ./dansguardianf1.conf /etc/dansguardian1/dansguardianf1.conf
cp -f ./dansguardian /usr/sbin/dansguardian1
cp: cannot stat `./dansguardian': No such file or directory
make: *** [install] Error 1

[root@vm-rt1 dansguardian1]#

Система - Красная шапочка.
Версия данса 2.8.0.6. Инструкцию по компиляции брал тут:
http://home.lewiscounty.com/~wp_tech/howtos/mult-dg-centos.html

Может быть кто-нибудь сталкивался с таким?
Спасибо

Изображение пользователя den2007.

И раз уж собираете,

то берите самую последнюю версию, со времен 2.8.0.6 целое море ошибок убрано было.

Изображение пользователя den2007.

Бывает...

и у меня была подобная мысль, но с помощью групп всё разруливается.
А вот зачем что-то собирать, когда в системе есть готовый, я когда-то два Squid пробовал запускать и всё работало, и Dans тоже заработает.

Просто создайте конфигурационные файлы для второго Dansguardian ( можно просто скопировать существующие), отредактируйте dansguardian.conf в области настроек сервера и др. (не должно быть одинаковых настроек (таких как IPC filename, PID filename, LOG location, порт на котором работает, и им подобным, не хочу все перечислять, просто нет под рукой конфигурационных файлов ) с другим Dansguardian)

Далее просто запускаете новый Dansguardian с опцией -с , которая говорит программе где расположен главный конфигурационный файл.
Обычно указание опции не требуется, так как пути уже заданы при сборке программы.

dansguardian -c /путь к новым конфигам/dansguardian.conf

Если не хотите вручную запускать/останавливать Dansguardian, создайте соответствующий скрипт инициализации вручную, как пример можно взять существующий, всего лишь отредактировав его.

Т.е чтобы иметь несколько отдельно работающих Dansguardian,Squid не требуется дополнительная их установка.

Вы можете таким способом запустить хоть двадцать, вопрос только зачем и сколько вся эта орава сожрёт ресурсов.

Вопрос в другом

Интересно а для чего Вам два Dansguardian на сервере?
Просто может можно решить Ваш вопрос с помощью одного.

Изображение пользователя Школяр.

Правильное

расширение рамок ситуации. На самом деле - зачем? :)

Изображение пользователя Школяр.

Судя по сообщению

в системе отсутствует компилятор g++
Может попробовать доустановить (переустановить) пакет?

Спасибо,

Спасибо, установил,
ну вот а теперь такое пишеть:

[root@vm-rt1 dansguardian1]# make
g++ -O2 -Wall -c String.cpp
g++ -O2 -Wall -c OptionContainer.cpp
OptionContainer.cpp: In member function ‘bool OptionContainer::read(const char*, int)’:
OptionContainer.cpp:161: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:164: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:167: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:173: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:176: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:179: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:183: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:186: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:190: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:194: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:197: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:200: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:203: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:206: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:210: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:216: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:219: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:222: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:225: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:228: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:231: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:244: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:247: warning: deprecated conversion from string constant to ‘char*’
OptionContainer.cpp:330: warning: deprecated conversion from string constant to ‘char*’
g++ -O2 -Wall -c FDTunnel.cpp
g++ -O2 -Wall -c ConnectionHandler.cpp
g++ -O2 -Wall -c DataBuffer.cpp
DataBuffer.cpp: In member function ‘bool DataBuffer::in(Socket*)’:
DataBuffer.cpp:93: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp: In member function ‘void DataBuffer::copytomemory(char*)’:
DataBuffer.cpp:166: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp: In member function ‘void DataBuffer::zlibinflate(bool)’:
DataBuffer.cpp:256: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp: In member function ‘bool DataBuffer::contentRegExp(int)’:
DataBuffer.cpp:314: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp:318: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp:323: error: ‘memcpy’ was not declared in this scope
make: *** [DataBuffer.o] Error 1

и итог тот же :(

Изображение пользователя Школяр.

Я не сильно продвинут

в данной тематике. Но могу предположить одно из двух:
- либо у вас нет какой-то библиотеки, в которой объявлен этот самый memcpy (а вернее - нет заголовочных файлов на эту библиотеку)
- либо вы не выполняли конфигурацию данного проекта для своей среды. В этом случае и библиотека, и заголовочные файлы есть, только make их не видит.

да, спасибо :)

да, спасибо :) установил geos-3.3.2 - там оно есть :)

Теперь затык вот такой:

[root@vm-rt1 dansguardian1]# make
g++ -O2 -Wall -c DataBuffer.cpp
DataBuffer.cpp: In member function ‘bool DataBuffer::in(Socket*)’:
DataBuffer.cpp:93: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp: In member function ‘void DataBuffer::copytomemory(char*)’:
DataBuffer.cpp:166: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp: In member function ‘void DataBuffer::zlibinflate(bool)’:
DataBuffer.cpp:256: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp: In member function ‘bool DataBuffer::contentRegExp(int)’:
DataBuffer.cpp:314: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp:318: error: ‘memcpy’ was not declared in this scope
DataBuffer.cpp:323: error: ‘memcpy’ was not declared in this scope
make: *** [DataBuffer.o] Error 1

Порыл инет на эту тему, но определённого ничего нет - есть решение на дебиан, но у меня же кр. шап. и решение увы, не подходит...
Ошибка описана здесь:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=455286

Может быть Вы знаете куда рыть дальше? :)
Спасибо!

Изображение пользователя Школяр.

В ссылке

что Вы привели, написано, что это есть проблема версии gcc, под которую была написана приблуда. В одних версиях эта оптимизирующая часть есть, в других нет. Шапка упомянута, как версия, в которой ее нету, но может быть найдена в патчах на gcc. поскольку с Шапкой я не работаю, мы в этом месте заходим в тупик. Предлагаю перейти к плоскости обсуждения, предложенной пользователем ПРИВЕТ.

:) Всё бы хорошо,

:)
Всё бы хорошо, но я имею только то, что имею - именно: работающий на предприятии в 300 человек данс, с которым экспериментировать просто никак :), а поиграть хоцца именно с чистой установкой, со своими блеклистами и прочим...
И по-идее, у людей же и 2, и 3, и 4 и более копий данса крутится...
буду рыть далее, если интересно - отпишу здесь как решил (или не решил :)) проблему...