Ad Widget

Collapse

Сборка агента под Solaris9 x86

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Yuras
    Junior Member
    • Jan 2014
    • 3

    #1

    Сборка агента под Solaris9 x86

    Добрый день уважаемые.
    Скорее это вопрос к разработчику (уже отписал), суть такая.
    Пытаюсь собрать агента под Solaris9 x86, получаю следующую ошибку:

    gcc -DHAVE_CONFIG_H -I. -I../../../../include -I../../../../src/zabbix_agent/ -g -O2 -MT libspecsysinfo_a-proc.o -MD -MP -MF .deps/libspecsysinfo_a-proc.Tpo -c -o libspecsysinfo_a-proc.o `test -f 'proc.c' || echo './'`proc.c
    proc.c:28: error: parse error before '*' token
    proc.c: In function `check_procstate':
    proc.c:30: error: `zbx_proc_stat' undeclared (first use in this function)
    proc.c:30: error: (Each undeclared identifier is reported only once
    proc.c:30: error: for each function it appears in.)
    proc.c:36: error: `psinfo' undeclared (first use in this function)
    proc.c:36: error: `SRUN' undeclared (first use in this function)
    proc.c:36: error: `SONPROC' undeclared (first use in this function)
    proc.c:38: error: `SSLEEP' undeclared (first use in this function)
    proc.c:40: error: `SZOMB' undeclared (first use in this function)
    proc.c: In function `PROC_MEM':
    proc.c:55: error: `psinfo_t' undeclared (first use in this function)
    proc.c:55: error: parse error before "psinfo"
    proc.c:121: error: `psinfo' undeclared (first use in this function)
    proc.c: In function `PROC_NUM':
    proc.c:174: error: `psinfo_t' undeclared (first use in this function)
    proc.c:174: error: parse error before "psinfo"
    proc.c:238: error: `psinfo' undeclared (first use in this function)
    *** Error code 1
    make: Fatal error: Command failed for target `libspecsysinfo_a-proc.o'
    Current working directory /export/home/zabbix/zabbix-2.0.10/src/libs/zbxsysinfo/solaris
    *** Error code 1
    make: Fatal error: Command failed for target `check-recursive'
    Current working directory /export/home/zabbix/zabbix-2.0.10/src/libs/zbxsysinfo
    *** Error code 1
    make: Fatal error: Command failed for target `check-recursive'
    Current working directory /export/home/zabbix/zabbix-2.0.10/src/libs
    *** Error code 1
    make: Fatal error: Command failed for target `check-recursive'
    Current working directory /export/home/zabbix/zabbix-2.0.10/src
    *** Error code 1
    make: Fatal error: Command failed for target `check-recursive'

    Т.е незадекларированы переменные в proc.c.
    В сях не силен, может кто подскажет?
    Привожу часть кода из proc.c:

    static int check_procstate(psinfo_t *psinfo, int zbx_proc_stat)
    {
    if (zbx_proc_stat == ZBX_PROC_STAT_ALL)
    return SUCCEED;

    switch (zbx_proc_stat)
    {
    case ZBX_PROC_STAT_RUN:
    return (psinfo->pr_lwp.pr_state == SRUN || psinfo->pr_lwp.pr_state == SONPROC) ? SUCCEED : FAIL;
    case ZBX_PROC_STAT_SLEEP:
    return (psinfo->pr_lwp.pr_state == SSLEEP) ? SUCCEED : FAIL;
    case ZBX_PROC_STAT_ZOMB:
    return (psinfo->pr_lwp.pr_state == SZOMB) ? SUCCEED : FAIL;
    }

    return FAIL;
    }

    Если есть спецы, помогите плиз, хотя это конечно к разработчику.
  • bga83
    Senior Member
    • Sep 2011
    • 268

    #2
    готовый бинарник не пробовал брать? - правда он выложен только для 10-й соляры, но не думаю что разница между системи существена

    Comment

    • Yuras
      Junior Member
      • Jan 2014
      • 3

      #3
      Originally posted by bga83
      готовый бинарник не пробовал брать? - правда он выложен только для 10-й соляры, но не думаю что разница между системи существена
      Готовой сборки под i386 нет.

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

      Comment

      • Yuras
        Junior Member
        • Jan 2014
        • 3

        #4
        Решено

        Вообщем все решилось и агент собрался. и работает уже.
        Пришлось полдня хорошо погуглить и немного повспоминать си.
        Решение здесь:

        и здесь:
        http://www.zabbix.jp/node/88
        Суть в чем. Для компилятора надо было поправить (восстановить) заголовочные файлы, т.к. версия компилятора новее.
        Так же можно было поставить новую версию компилятора, но я не стал этого делать, система в работе, лучше не трогать.
        На Солярке 10 под i386 вообще все сразу собралось.
        Эти операционки ставил не я, но компиляторы я так понял стандартые, комплектные, которые идут пакетом Sunfreeware (общим, там еще утили разные, типа top, screen и т.д.).
        Вообщем заново 9-ку не пришлось ставить... Хотя наверное немного позже и поставлю, поиграюсь, а то бинарник шибко толстый получился под 6мБ, под 10 - пару десятков кБ. Но и там и там работает. В памяти около 4мБ занимают.

        Comment

        Working...