mk-livestatus 1.1.6p1 не может скомпилироваться в Ubuntu 12.04 (точно)

0

При попытке скомпилировать плагин CheckMK livestatus Nagios, я получаю сообщение об ошибке во время процесса "make":

g++ -DHAVE_CONFIG_H -I. -I..    -I../nagios -fPIC -g -O2 -MT livestatus_so-TableLog.o -MD -MP -MF .deps/livestatus_so-TableLog.Tpo -c -o livestatus_so-TableLog.o 'test -f 'TableLog.cc' || echo './''TableLog.cc
TableLog.cc: In member function ‘void TableLog::updateLogfileIndex():
TableLog.cc:250:21: error: expected primary-expression before ‘struct
TableLog.cc:250:36: error: ‘d_name was not declared in this scope
TableLog.cc:250:42: error: ‘offsetof was not declared in this scope
make[2]: *** [livestatus_so-TableLog.o] Error 1

Соответствующая часть TableLog.cc:

250         int len = offsetof(struct dirent, d_name)
251             + pathconf(log_archive_path, _PC_NAME_MAX) + 1;

Источник доступен по адресу http://www.mathias-kettner.de/download/mk-livestatus-1.1.6p1.tar.gz.

Там есть список рассылки по этой проблеме (http://permalink.gmane.org/gmane.network.nagios.checkmk/2560), но он остается без ответа.

Теги:
nagios

2 ответа

1
Лучший ответ

В TableLog.cc отсутствовал файл include файла stddef.h, который определяет макрос offsetof().

Просто добавьте

#include <stddef.h>

К началу таблицыLog.cc

0

как сказал omribahumi в предыдущем ответе, отредактируйте файл TableLog.cc

затем прокомментируйте строки 523, 524, 525 в setup.sh

523      #rm -rf $D

524      #mkdir -p $D

525      #tar xvzf $SRCDIR/livestatus.tar.gz -C $D

Затем выполните сценарий setup.sh еще раз.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню