Ad Widget

Collapse

zabbix-agent на openwrt

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mirlas
    Member
    • Aug 2009
    • 39

    #1

    zabbix-agent на openwrt

    Всем привет!

    Понимаю, что вопрос скорее на форум openwrt, но я на англ. врядли смогу описать проблему...
    Есть такая проблема: пытаюсь собрать новую версию zabbix-agent'а (1.8.2) для openwrt (ибо в портах для этой замечательной прошивки версия 1.6.2), компилятор вываливается с ошибкой:

    Code:
    checking for long long format... configure: error: cannot run test program while cross compiling
    See `config.log' for more details.
    ..Подскажите, куда копать?
  • mkolomiets
    Senior Member
    • Jul 2009
    • 134

    #2
    У меня собирается с backfire (Broadcom BCM947xx/953xx) для dir-320.

    Эта ошибка на сборку влиять не должна, она есть и у меня:
    $ make package/zabbix/compile V=99
    ...
    checking for union semun... no
    checking for long long format... configure: error: cannot run test program while cross compiling
    See `config.log' for more details.
    checking for socklen_t... yes
    ...
    Скорее всего ошибка в другом месте - у меня были проблемы с отстутствием dn_skipname в libresolv.

    Если Вам подойдет, попробуйте этот пакет (из архива) подложить вместо feeds/packages/admin/zabbix.
    Мейкфайл я немного поменял - перенес зависимость libcurl в секцию сервера, т.к. у меня не влазила прошивка в 4 метра флеша, убрал chown, т.к. при сборке образа с правами обычного пользователя лезла ругня.
    900-dn_skipname.patch - патч для устранения ругни на отсутствие символа __dn_skipname в libresolv.
    Джоб в крон - для учета трафика по WAN.

    Дефолтный конфиг агента правил - делайте изменения под себя.
    Скрипт 55-zabbix_send-wan.hotplug для получения имени и адреса интерфейса wan при поднятии в хотплаг (прошивка предназначена для работы через 3G), можно выбросить.
    Attached Files
    Last edited by mkolomiets; 26-07-2010, 23:17.

    Comment

    • mirlas
      Member
      • Aug 2009
      • 39

      #3
      mkolomiets, большое спасибо за подробный ответ и помощь!

      Я собираю на 8.09.2 для WRT54GL...
      С вашей сборкой тоже есть проблемы, но на этот раз:
      Code:
      checking for ICONV support... configure: error: Unable to find iconv.h "no"
      и сваливается...
      Я не программист, по этому такие ошибки для меня в какой-то мере новые...
      А может у Вас уже есть скомпилированный пэкедж?

      Comment

      • mkolomiets
        Senior Member
        • Jul 2009
        • 134

        #4
        В разделе libraries включить в сборку (*) libiconv

        Я не программист, ...
        Я не насильник, бабушка!
        А прийдется!
        (С) Старый анекдот

        Comment

        • mirlas
          Member
          • Aug 2009
          • 39

          #5
          "...Вы будете смеяться, но у вашего мужа было 2 сердечных приступа подряд" (ц)

          libiconv включал... Не помогло...

          Comment

          • mkolomiets
            Senior Member
            • Jul 2009
            • 134

            #6
            Originally posted by mirlas
            libiconv включал... Не помогло...
            Как[*] включали или [m]? Нужно первый вариант

            Что у вас даст такая комманда в корне исходников:
            [mike@mike backfire]$ find ./ -name iconv.h
            ./staging_dir/target-mipsel_uclibc-0.9.30.1/include/iconv.h
            ./staging_dir/target-mipsel_uclibc-0.9.30.1/usr/lib/libiconv/include/iconv.h
            ./build_dir/toolchain-mipsel_gcc-4.3.3+cs_uclibc-0.9.30.1/uclibc-0.9.30.1/include/iconv.h
            ./build_dir/target-mipsel_uclibc-0.9.30.1/libiconv-1.11/include/iconv.h
            ./build_dir/target-mipsel_uclibc-0.9.30.1/libiconv-1.11/ipkg-install/usr/include/iconv.h

            Comment

            • mirlas
              Member
              • Aug 2009
              • 39

              #7
              Пробовал и модулем и в прошивку включать.
              Сейчас, конечно, порпобую еще make clean сделать и скомпилить в прошивку ([*])
              поиск выдал следущее:
              Code:
              find ./ -name iconv.h
              ./build_dir/toolchain-mipsel_gcc4.1.2/uClibc-0.9.29/include/iconv.h
              ./build_dir/toolchain-mipsel_gcc4.2.4/uClibc-0.9.29/include/iconv.h
              ./staging_dir/mipsel/usr/lib/libiconv/include/iconv.h

              Comment

              • mkolomiets
                Senior Member
                • Jul 2009
                • 134

                #8
                Попробуйте до общей сборки принудительно libiconv пересобрать, в менюконфиг поставьте[*].

                Code:
                make package/libiconv/clean
                make package/libiconv/compile
                make package/libiconv/install
                а потом уже агента пересобрать.

                Comment

                • mirlas
                  Member
                  • Aug 2009
                  • 39

                  #9
                  ...Не помогло
                  Может попробовать другим gcc собрать и поновее ulibc указать? :/

                  Comment

                  • mkolomiets
                    Senior Member
                    • Jul 2009
                    • 134

                    #10
                    Еще как предположение...

                    У меня это хедер есть и в системе, ставился с пакетом glibc-headers (Федора). Попробуйте поставить его либо руками либо пакетом...

                    Путь:
                    Code:
                    [mike@mike backfire]$ locate iconv.h
                    /usr/include/iconv.h
                    Дурацкая идея, но...

                    Comment

                    • mirlas
                      Member
                      • Aug 2009
                      • 39

                      #11
                      Все то же... А у Вас на backfire завелось без проблем?
                      Просто мне критично именно 8.09.2 - порядка 640 точек ей залито

                      Comment

                      • mkolomiets
                        Senior Member
                        • Jul 2009
                        • 134

                        #12
                        Ну да, я с рабочей сборки этот пакет брал.

                        Дайте мне лог сборки, попробую глянуть что пишет.
                        Сделайте клин для пакета а затем компилить с V=99 и вывод стдоут с стдерр в файло:
                        make package/zabbix/clean
                        make package/zabbix/compile V=99 >make.log 2>&1

                        Покажите потом make.log и config.log из каталога сборки заббикса.

                        Comment

                        • mirlas
                          Member
                          • Aug 2009
                          • 39

                          #13
                          Вот логи... Правда, мне кажется там ничего повествующего на тему ошибок нет...
                          Я кстати попробовал 1.8.3rc2 собрать, результат тот же - в логах речь про него идет (думаю, разницы тогда нет, если ошибка одинаковая в двух версиях?)...
                          Attached Files

                          Comment

                          • mkolomiets
                            Senior Member
                            • Jul 2009
                            • 134

                            #14
                            Вот этой строки у меня нет, похоже что может быть причиной:
                            Code:
                            #error Attempted to include iconv.h when uClibc was built without locale support.
                            Имеет смысл поискать в опциях конфига "locale support" или что то в этом ключе.

                            Comment

                            • mkolomiets
                              Senior Member
                              • Jul 2009
                              • 134

                              #15
                              Резюме. Попробовал я самостоятельно собрать агента 1.8.2 в камикадзе - та же ошибка на счет поддержки локализации в ucLibc, пробовал в uClibc Version указать uClibc snapshot - пофиг дым.

                              Вижу два варианта:
                              - В опциях сборки uClibc где то в мейкфайле руками добавить опцию UCLIBC_HAS_LOCALE или же убрать проверку на наличие этой опции в iconv.h. К чему первое и второе может привести - ХЗ...
                              - Попробовать поставить мои пакеты, собранные с бакфайр (там особых проблем быть не должно, хотя кто знает...). Пакеты (агент и сендер) я вам соберу.

                              Comment

                              Working...