netxms-agent & LEDE (OpenWRT)

Started by bin, September 26, 2017, 07:17:19 PM

Previous topic - Next topic

bin

Здравствуйте!
У меня возникли проблемы из компиляцией версий netxms-2.1-RC1 из последней версией LEDE (форк OpenWRT). Также пытался скомпилировать с последней версией netxms-2.1.1.
Инструкцию и feed брал отсюда - https://github.com/netxms/openwrt-feed
Во-первых, там была ошибка в Makefile, указана хеш сумма была не в MD5 а в SHA1

-PKG_MD5SUM:=a89376cbe282800503e602350bd9f4ef
+PKG_MD5SUM:=6a48230e9a3d86112d8f5050b1c68f18a2ef5868


а нужно (для исходников netxms-2.1-RC1):

-PKG_MD5SUM:=a89376cbe282800503e602350bd9f4ef
+PKG_MD5SUM:=33b858f920e6bfc24f2498b551a5a044


Во-вторых, версия 2.1-RC1 перемещена в архив, и, соотвественно, недоступна по пути https://www.netxms.org/download/netxms-2.1-RC1.tar.gz а должно быть https://www.netxms.org/download/archive/netxms-2.1-RC1.tar.gz
(хорошо было бы, переносить в архив так же те версии что были мейнстрим, и ссылку сразу указывать из архива, тогда не будет ломаться совместимость билдсистем для старых версий)

Ну и еще возникла проблема на отсутствующую библиотеку libssh

checking libssh/libssh.h usability... no
checking libssh/libssh.h presence... no
checking for libssh/libssh.h... no
configure: error: libssh is required for SSH support. Check that it is installed or use --disable-ssh option


Исправленный Makefile - прикрепляю.

После всех исправлений, вот такие ошибки при компиляции (для двух версий):

netxms-2.1-RC1
make[8]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1/src/libtre'
make[7]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1/src/libtre'
Making all in libnetxms
make[7]: Entering directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1/src/libnetxms'
  CXX      libnetxms_la-array.lo
In file included from /home/bin/lede/source/staging_dir/toolchain-aarch64_cortex-a53_gcc-5.4.0_musl/include/pthread.h:30:0,
                 from ../../include/nms_threads.h:529,
                 from ../../include/nms_util.h:38,
                 from libnetxms.h:28,
                 from array.cpp:24:
/home/bin/lede/source/staging_dir/toolchain-aarch64_cortex-a53_gcc-5.4.0_musl/include/sched.h:76:17: error: conflicting declaration of 'void nx_free(void*)' with 'C' linkage
void free(void *);
                 ^
In file included from libnetxms.h:27:0,
                 from array.cpp:24:
../../include/nms_common.h:1215:13: note: previous declaration with 'C++' linkage
inline void nx_free(void *p)
             ^
Makefile:776: recipe for target 'libnetxms_la-array.lo' failed
make[7]: *** [libnetxms_la-array.lo] Error 1
make[7]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1/src/libnetxms'
Makefile:428: recipe for target 'all-recursive' failed
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1/src'
Makefile:483: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1'
Makefile:415: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1'
Makefile:118: recipe for target '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1/.built' failed
make[3]: *** [/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1-RC1/.built] Error 2
make[3]: Leaving directory '/home/bin/lede/source/feeds/netxms/admin/netxms'
package/Makefile:109: recipe for target 'package/feeds/netxms/netxms/compile' failed
make[2]: *** [package/feeds/netxms/netxms/compile] Error 2
make[2]: Leaving directory '/home/bin/lede/source'
package/Makefile:105: recipe for target '/home/bin/lede/source/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile' failed
make[1]: *** [/home/bin/lede/source/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/bin/lede/source'
/home/bin/lede/source/include/toplevel.mk:207: recipe for target 'world' failed
make: *** [world] Error 2


netxms-2.1.1
make[8]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1/src/libtre'
make[7]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1/src/libtre'
Making all in libnetxms
make[7]: Entering directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1/src/libnetxms'
  CXX      libnetxms_la-array.lo
  CXX      libnetxms_la-base64.lo
  CXX      libnetxms_la-bytestream.lo
  CXX      libnetxms_la-cc_mb.lo
In file included from cc_mb.cpp:24:0:
unicode_cc.h:45:2: error: #error Cannot determine valid UCS-2 codepage name
#error Cannot determine valid UCS-2 codepage name
  ^
unicode_cc.h:66:2: error: #error Cannot determine valid UCS-4 codepage name
#error Cannot determine valid UCS-4 codepage name
  ^
cc_mb.cpp: In function 'int mb_to_ucs2(const char*, int, short unsigned int*, int)':
cc_mb.cpp:148:19: error: 'UCS2_CODEPAGE_NAME' was not declared in this scope
    cd = IconvOpen(UCS2_CODEPAGE_NAME, g_cpDefault);
                   ^
Makefile:811: recipe for target 'libnetxms_la-cc_mb.lo' failed
make[7]: *** [libnetxms_la-cc_mb.lo] Error 1
make[7]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1/src/libnetxms'
Makefile:434: recipe for target 'all-recursive' failed
make[6]: *** [all-recursive] Error 1
make[6]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1/src'
Makefile:489: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1'
Makefile:421: recipe for target 'all' failed
make[4]: *** [all] Error 2
make[4]: Leaving directory '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1'
Makefile:118: recipe for target '/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1/.built' failed
make[3]: *** [/home/bin/lede/source/build_dir/target-aarch64_cortex-a53_musl/netxms-agent-nossl/netxms-2.1.1/.built] Error 2
make[3]: Leaving directory '/home/bin/lede/source/feeds/netxms/admin/netxms'
package/Makefile:109: recipe for target 'package/feeds/netxms/netxms/compile' failed
make[2]: *** [package/feeds/netxms/netxms/compile] Error 2
make[2]: Leaving directory '/home/bin/lede/source'
package/Makefile:105: recipe for target '/home/bin/lede/source/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile' failed
make[1]: *** [/home/bin/lede/source/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/bin/lede/source'
/home/bin/lede/source/include/toplevel.mk:207: recipe for target 'world' failed
make: *** [world] Error 2


Прошу помощи и рекомендаций по исправлению ошибок компиляции.
Спасибо.

wizarom

у меня все в точности так же... Не победили?


Making all in libnetxms
make[6]: Entering directory '/home/lede/sources-lede/source/build_dir/target-mips_24kc_musl/netxms-agent-nossl/netxms-2.1.2/src/libnetxms'
  CXX      libnetxms_la-array.lo
  CXX      libnetxms_la-base64.lo
  CXX      libnetxms_la-bytestream.lo
  CXX      libnetxms_la-cc_mb.lo
In file included from cc_mb.cpp:24:0:
unicode_cc.h:45:2: error: #error Cannot determine valid UCS-2 codepage name
#error Cannot determine valid UCS-2 codepage name
  ^
unicode_cc.h:66:2: error: #error Cannot determine valid UCS-4 codepage name
#error Cannot determine valid UCS-4 codepage name
  ^
cc_mb.cpp: In function 'int mb_to_ucs2(const char*, int, short unsigned int*, int)':
cc_mb.cpp:148:19: error: 'UCS2_CODEPAGE_NAME' was not declared in this scope
    cd = IconvOpen(UCS2_CODEPAGE_NAME, g_cpDefault);
                   ^
Makefile:854: recipe for target 'libnetxms_la-cc_mb.lo' failed
make[6]: *** [libnetxms_la-cc_mb.lo] Error 1
make[6]: Leaving directory '/home/lede/sources-lede/source/build_dir/target-mips_24kc_musl/netxms-agent-nossl/netxms-2.1.2/src/libnetxms'
Makefile:434: recipe for target 'all-recursive' failed
make[5]: *** [all-recursive] Error 1
make[5]: Leaving directory '/home/lede/sources-lede/source/build_dir/target-mips_24kc_musl/netxms-agent-nossl/netxms-2.1.2/src'
Makefile:489: recipe for target 'all-recursive' failed
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory '/home/lede/sources-lede/source/build_dir/target-mips_24kc_musl/netxms-agent-nossl/netxms-2.1.2'
Makefile:421: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/home/lede/sources-lede/source/build_dir/target-mips_24kc_musl/netxms-agent-nossl/netxms-2.1.2'
Makefile:119: recipe for target '/home/lede/sources-lede/source/build_dir/target-mips_24kc_musl/netxms-agent-nossl/netxms-2.1.2/.built' failed
make[2]: *** [/home/lede/sources-lede/source/build_dir/target-mips_24kc_musl/netxms-agent-nossl/netxms-2.1.2/.built] Error 2
make[2]: Leaving directory '/home/lede/sources-lede/source/feeds/netxms/admin/netxms'
package/Makefile:109: recipe for target 'package/feeds/netxms/netxms/compile' failed
make[1]: *** [package/feeds/netxms/netxms/compile] Error 2
make[1]: Leaving directory '/home/lede/sources-lede/source'
/home/lede/sources-lede/source/include/toplevel.mk:216: ошибка выполнения рецепта для цели «package/feeds/netxms/netxms/compile»
make: *** [package/feeds/netxms/netxms/compile] Ошибка 2

Victor Kirhenshtein

Это проблема кросс-компиляции в configure. Постараюсь исправить в течении нескольких дней.

wizarom

Есть какие то новости по этой проблеме?