Проблемы со сборкой NetXMS 2.0.5 на Solaris 11.3 SPARC
-
Уважаемые разработчики!
По прошествии нескольких лет опять испытываю проблемы со сборкой NetXMS 2.0.5 на Solaris 11.3 SPARC. Проблемы, аналогичные описанным здесь https://www.netxms.org/forum/oe-oo/oem-o-oko-1-2-8-a-solaris-10-113-sparc/, только теперь не собирается как с поддержкой Unicode, так и без.
Сборка без поддержки Unicode:
root@xms:~/NetXMS/netxms-2.0.5# ./configure --with-server --prefix=/opt/netxms --with-pgsql=/opt/postgres/9.5-pgdg --with-agent --with-openssl --with-snmp checking for a BSD-compatible install... /usr/bin/ginstall -c ... checking for iconv.h... yes checking widec.h usability... yes checking widec.h presence... yes checking for widec.h... yes checking for wchar_t... yes checking for wint_t... yes checking size of wchar_t... 4 checking for wcslen... yes checking for wcsdup... yes checking for wcsncpy... yes checking for wcstoll... yes checking for wcstoull... yes checking for towupper... yes checking for towlower... yes checking for wcslwr... no checking for wcserror... no checking for wcserror_r... no checking for wfopen... no checking for wfopen64... no checking for fputws... yes checking for putws... yes checking for wopen... no checking for wstat... no checking for waccess... no checking for wgetenv... no checking for wrename... no checking for wunlink... no checking for wremove... no checking for wchdir... no checking for wmkdir... no checking for wrmdir... no checking for wsystem... no checking for wmkstemp... no checking for wpopen... no checking for wctime... no checking for wchmod... no checking for vwscanf... yes checking for vswscanf... yes checking for vfwscanf... yes checking for wcscasecmp... yes checking for wcsncasecmp... yes checking for wcstombs... yes checking for wcsrtombs... yes checking for mbstowcs... yes checking for mbsrtowcs... yes checking for itow... no checking for _itow... no checking for wcsftime... yes checking for wcstok... yes checking whether putws is declared... no checking whether wcsftime is working correctly... yes checking for libiconv_open in -liconv... no checking for iconv in -liconv... no checking for iconv... yes checking whether fgetws can be used with popen... yes checking whether iconv supports UCS-2-INTERNAL... no checking whether iconv supports UCS-2... yes checking whether iconv supports UCS2... yes checking whether iconv supports UCS-2BE... yes checking whether iconv supports UCS-2LE... yes checking whether iconv supports UTF-16... yes checking whether iconv supports UCS-4-INTERNAL... no checking whether iconv supports UCS-4... yes checking whether iconv supports UCS4... yes checking whether iconv supports UCS-4BE... yes checking whether iconv supports UCS-4LE... yes checking whether iconv supports UTF-32... yes checking whether iconv supports //IGNORE... yes checking whether iconv supports state reset... yes checking whether iconv descriptor cache is needed... yes checking for iconv declaration... const checking libpq-fe.h usability... yes checking libpq-fe.h presence... yes checking for libpq-fe.h... yes checking whether PGRES_SINGLE_TUPLE is declared... yes checking for floor in -lm... yes checking for PQconnectdb in -lpq... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile ... config.status: executing libtool commands Updating libtool --------------------------------------------------------------------- Configure results --------------------------------------------------------------------- Prefix : /opt/netxms Platform : SunOS Shared library suffix : .so IPv6 support : NO Build Server : YES Server libs : -lldap -llber -ltermcap LDAP support : YES XMPP support : YES ZeroMQ support : YES Encryption enabled : YES Build DB-Drivers : pgsql sqlite Build Clients : NO Build Agent : YES Subagents list : sunos netsvc Build Static Agent : NO UNICODE build : NO Use internal libexpat : NO Use internal libtre : YES Use internal libjansson : NO Use internal sqlite : NO Use internal zlib : NO Force 32bit build : NO C compiler : gcc C++ compiler : g++ CPPFLAGS : -D_THREAD_SAFE -DTRE_WCHAR=1 -I/opt/openssl/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__ -O2 -Wformat -Wno-unused-result -Werror=return-type -m64 -DPREFIX=\"${prefix}\" -DDATADIR=\"${pkgdatadir}\" -DBINDIR=\"${bindir}\" -DLIBDIR=\"${libdir}\" -DPKGLIBDIR=\"${pkglibdir}\" -DSTATEDIR=\"${localstatedir}/lib/netxms\" -DNDEBUG CXXFLAGS : -g -O2 -fno-rtti -fno-exceptions CFLAGS : -g -O2 LDFLAGS : -m64 -L/usr/local/lib -L/opt/openssl/lib LIBS : -lm -lkvm -lexpat -lz -lresolv -lkstat -ldl -lsocket -lxnet -lpthread -lssl -lcrypto PostgreSQL CPPFLAGS : -I/opt/postgres/9.5-pgdg/include PostgreSQL LDFLAGS : -L/opt/postgres/9.5-pgdg/lib PostgreSQL LIBS : -lpq root@xms:~/NetXMS/netxms-2.0.5# make ./tools/updatetag.sh make all-recursive Making all in . ... Making all in libnetxms CXX libnetxms_la-array.lo ... CXX libnetxms_la-tools.lo tools.cpp: In function ‘bool ExtractNamedOptionValueW(const wchar_t*, const wchar_t*, wchar_t*, int)’: tools.cpp:1635:31: error: ‘wcscasecmp’ was not declared in this scope if (!wcsicmp(option, temp)) ^ tools.cpp:1635:31: note: suggested alternative: In file included from ../../include/unicode.h:121:0, from ../../include/nms_common.h:72, from libnetxms.h:27, from tools.cpp:23: /usr/include/wchar.h:140:12: note: ‘std::wcscasecmp’ extern int wcscasecmp(const wchar_t *, const wchar_t *); ^ tools.cpp: In function ‘bool ExtractNamedOptionValueAsBoolW(const wchar_t*, const wchar_t*, bool)’: tools.cpp:1725:33: error: ‘wcscasecmp’ was not declared in this scope return !wcsicmp(buffer, L"yes") || !wcsicmp(buffer, L"true"); ^ tools.cpp:1725:33: note: suggested alternative: In file included from ../../include/unicode.h:121:0, from ../../include/nms_common.h:72, from libnetxms.h:27, from tools.cpp:23: /usr/include/wchar.h:140:12: note: ‘std::wcscasecmp’ extern int wcscasecmp(const wchar_t *, const wchar_t *); ^ *** Error code 1 The following command caused the error: echo " CXX " libnetxms_la-tools.lo;/bin/sh ../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -D_THREAD_SAFE -DTRE_WCHAR=1 -I/opt/openssl/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__ -O2 -Wformat -Wno-unused-result -Werror=return-type -m64 -DPREFIX=\"/opt/netxms\" -DDATADIR=\"/opt/netxms/share/netxms\" -DBINDIR=\"/opt/netxms/bin\" -DLIBDIR=\"/opt/netxms/lib\" -DPKGLIBDIR=\"/opt/netxms/lib/netxms\" -DSTATEDIR=\"/opt/netxms/var/lib/netxms\" -DNDEBUG -g -O2 -fno-rtti -fno-exceptions -MT libnetxms_la-tools.lo -MD -MP -MF .deps/libnetxms_la-tools.Tpo -c -o libnetxms_la-tools.lo `test -f 'tools.cpp' || echo './'`tools.cpp make: Fatal error: Command failed for target `libnetxms_la-tools.lo' Current working directory /root/NetXMS/netxms-2.0.5/src/libnetxms *** Error code 1 The following command caused the error: fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n '' && test -n '2'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs ]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo all-recursive | sed s/-recursive//`; \ case "all-recursive" in \ distclean-* | maintainer-clean-*) list='libtre libstrophe libnetxms tools install snmp appagent libnxlp db agent libnxmap libnxsl libnxcc server smsdrv nxscript' ;; \ *) list='libtre libstrophe libnetxms tools install snmp appagent libnxlp db agent libnxmap libnxsl libnxcc server smsdrv nxscript' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for target `all-recursive' Current working directory /root/NetXMS/netxms-2.0.5/src *** Error code 1 The following command caused the error: fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n '' && test -n '1'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs ]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo all-recursive | sed s/-recursive//`; \ case "all-recursive" in \ distclean-* | maintainer-clean-*) list='. m4 src doc tools contrib sql images' ;; \ *) list='. m4 src doc tools contrib sql images' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for target `all-recursive' Current working directory /root/NetXMS/netxms-2.0.5 *** Error code 1 make: Fatal error: Command failed for target `all' -
Сборка с поддержкой Unicode:
root@xms:~/NetXMS/netxms-2.0.5# ./configure --with-server --prefix=/opt/netxms --with-pgsql=/opt/postgres/9.5-pgdg --with-agent --with-openssl --with-snmp --enable-unicode checking for a BSD-compatible install... /usr/bin/ginstall -c ... checking wchar.h usability... yes checking wchar.h presence... yes checking for wchar.h... yes checking wctype.h usability... yes checking wctype.h presence... yes checking for wctype.h... yes checking iconv.h usability... yes checking iconv.h presence... yes checking for iconv.h... yes checking widec.h usability... yes checking widec.h presence... yes checking for widec.h... yes checking for wchar_t... yes checking for wint_t... yes checking size of wchar_t... 4 checking for wcslen... yes checking for wcsdup... yes checking for wcsncpy... yes checking for wcstoll... yes checking for wcstoull... yes checking for towupper... yes checking for towlower... yes checking for wcslwr... no checking for wcserror... no checking for wcserror_r... no checking for wfopen... no checking for wfopen64... no checking for fputws... yes checking for putws... yes checking for wopen... no checking for wstat... no checking for waccess... no checking for wgetenv... no checking for wrename... no checking for wunlink... no checking for wremove... no checking for wchdir... no checking for wmkdir... no checking for wrmdir... no checking for wsystem... no checking for wmkstemp... no checking for wpopen... no checking for wctime... no checking for wchmod... no checking for vwscanf... yes checking for vswscanf... yes checking for vfwscanf... yes checking for wcscasecmp... yes checking for wcsncasecmp... yes checking for wcstombs... yes checking for wcsrtombs... yes checking for mbstowcs... yes checking for mbsrtowcs... yes checking for itow... no checking for _itow... no checking for wcsftime... yes checking for wcstok... yes checking whether putws is declared... no checking whether wcsftime is working correctly... yes checking for libiconv_open in -liconv... no checking for iconv in -liconv... no checking for iconv... yes checking whether fgetws can be used with popen... yes checking whether iconv supports UCS-2-INTERNAL... no checking whether iconv supports UCS-2... yes checking whether iconv supports UCS2... yes checking whether iconv supports UCS-2BE... yes checking whether iconv supports UCS-2LE... yes checking whether iconv supports UTF-16... yes checking whether iconv supports UCS-4-INTERNAL... no checking whether iconv supports UCS-4... yes checking whether iconv supports UCS4... yes checking whether iconv supports UCS-4BE... yes checking whether iconv supports UCS-4LE... yes checking whether iconv supports UTF-32... yes checking whether iconv supports //IGNORE... yes checking whether iconv supports state reset... yes checking whether iconv descriptor cache is needed... yes checking for iconv declaration... const checking libpq-fe.h usability... yes checking libpq-fe.h presence... yes checking for libpq-fe.h... yes checking whether PGRES_SINGLE_TUPLE is declared... yes checking for floor in -lm... yes checking for PQconnectdb in -lpq... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile ... config.status: executing libtool commands Updating libtool --------------------------------------------------------------------- Configure results --------------------------------------------------------------------- Prefix : /opt/netxms Platform : SunOS Shared library suffix : .so IPv6 support : NO Build Server : YES Server libs : -lldap -llber -ltermcap LDAP support : YES XMPP support : YES ZeroMQ support : YES Encryption enabled : YES Build DB-Drivers : pgsql sqlite Build Clients : NO Build Agent : YES Subagents list : sunos netsvc Build Static Agent : NO UNICODE build : YES Use internal libexpat : NO Use internal libtre : YES Use internal libjansson : NO Use internal sqlite : NO Use internal zlib : NO Force 32bit build : NO C compiler : gcc C++ compiler : g++ CPPFLAGS : -D_THREAD_SAFE -DTRE_WCHAR=1 -I/opt/openssl/include -DUNICODE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__ -O2 -Wformat -Wno-unused-result -Werror=return-type -m64 -DPREFIX=L\"${prefix}\" -DDATADIR=L\"${pkgdatadir}\" -DBINDIR=L\"${bindir}\" -DLIBDIR=L\"${libdir}\" -DPKGLIBDIR=L\"${pkglibdir}\" -DSTATEDIR=L\"${localstatedir}/lib/netxms\" -DNDEBUG CXXFLAGS : -g -O2 -fno-rtti -fno-exceptions CFLAGS : -g -O2 LDFLAGS : -m64 -L/usr/local/lib -L/opt/openssl/lib LIBS : -lm -lkvm -lexpat -lz -lresolv -lkstat -ldl -lsocket -lxnet -lpthread -lssl -lcrypto PostgreSQL CPPFLAGS : -I/opt/postgres/9.5-pgdg/include PostgreSQL LDFLAGS : -L/opt/postgres/9.5-pgdg/lib PostgreSQL LIBS : -lpq root@xms:~/NetXMS/netxms-2.0.5# make ./tools/updatetag.sh make all-recursive Making all in . ... Making all in libnetxms CXX libnetxms_la-array.lo In file included from libnetxms.h:28:0, from array.cpp:24: ../../include/nms_util.h: In function ‘wchar_t* _tcsdup_ex(const wchar_t*)’: ../../include/nms_util.h:204:34: error: ‘wcsdup’ was not declared in this scope return (s != NULL) ? _tcsdup(s) : NULL; ^ ../../include/nms_util.h:204:34: note: suggested alternative: In file included from ../../include/unicode.h:121:0, from ../../include/nms_common.h:72, from libnetxms.h:27, from array.cpp:24: /usr/include/wchar.h:135:17: note: ‘std::wcsdup’ extern wchar_t *wcsdup(const wchar_t *); ^ In file included from libnetxms.h:28:0, from array.cpp:24: ../../include/nms_util.h: In member function ‘void StringMap::set(const wchar_t*, const wchar_t*)’: ../../include/nms_util.h:593:88: error: ‘wcsdup’ was not declared in this scope void set(const TCHAR *key, const TCHAR *value) { setObject((TCHAR *)key, _tcsdup(value), false); } ^ ../../include/nms_util.h:593:88: note: suggested alternative: In file included from ../../include/unicode.h:121:0, from ../../include/nms_common.h:72, from libnetxms.h:27, from array.cpp:24: /usr/include/wchar.h:135:17: note: ‘std::wcsdup’ extern wchar_t *wcsdup(const wchar_t *); ^ In file included from libnetxms.h:28:0, from array.cpp:24: ../../include/nms_util.h: In member function ‘void TableColumnDefinition::setDisplayName(const wchar_t*)’: ../../include/nms_util.h:954:114: error: ‘wcsdup’ was not declared in this scope void setDisplayName(const TCHAR *name) { safe_free(m_displayName); m_displayName = _tcsdup(CHECK_NULL_EX(name)); } ^ ../../include/nms_util.h:954:114: note: suggested alternative: In file included from ../../include/unicode.h:121:0, from ../../include/nms_common.h:72, from libnetxms.h:27, from array.cpp:24: /usr/include/wchar.h:135:17: note: ‘std::wcsdup’ extern wchar_t *wcsdup(const wchar_t *); ^ *** Error code 1 The following command caused the error: echo " CXX " libnetxms_la-array.lo;/bin/sh ../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -D_THREAD_SAFE -DTRE_WCHAR=1 -I/opt/openssl/include -DUNICODE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__ -O2 -Wformat -Wno-unused-result -Werror=return-type -m64 -DPREFIX=L\"/opt/netxms\" -DDATADIR=L\"/opt/netxms/share/netxms\" -DBINDIR=L\"/opt/netxms/bin\" -DLIBDIR=L\"/opt/netxms/lib\" -DPKGLIBDIR=L\"/opt/netxms/lib/netxms\" -DSTATEDIR=L\"/opt/netxms/var/lib/netxms\" -DNDEBUG -g -O2 -fno-rtti -fno-exceptions -MT libnetxms_la-array.lo -MD -MP -MF .deps/libnetxms_la-array.Tpo -c -o libnetxms_la-array.lo `test -f 'array.cpp' || echo './'`array.cpp make: Fatal error: Command failed for target `libnetxms_la-array.lo' Current working directory /root/NetXMS/netxms-2.0.5/src/libnetxms *** Error code 1 The following command caused the error: fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n '' && test -n '2'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs ]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo all-recursive | sed s/-recursive//`; \ case "all-recursive" in \ distclean-* | maintainer-clean-*) list='libtre libstrophe libnetxms tools install snmp appagent libnxlp db agent libnxmap libnxsl libnxcc server smsdrv nxscript' ;; \ *) list='libtre libstrophe libnetxms tools install snmp appagent libnxlp db agent libnxmap libnxsl libnxcc server smsdrv nxscript' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for target `all-recursive' Current working directory /root/NetXMS/netxms-2.0.5/src *** Error code 1 The following command caused the error: fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n '' && test -n '1'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs ]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo all-recursive | sed s/-recursive//`; \ case "all-recursive" in \ distclean-* | maintainer-clean-*) list='. m4 src doc tools contrib sql images' ;; \ *) list='. m4 src doc tools contrib sql images' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for target `all-recursive' Current working directory /root/NetXMS/netxms-2.0.5 *** Error code 1 make: Fatal error: Command failed for target `all' root@xms:~/NetXMS/netxms-2.0.5#Учитывая некоторую экзотичность используемой мною системы, при необходимости готов предоставить доступ для тестирования.
-
Да, пожалуй доступ к системе единственный действенный способ.
-
Виктор,
Я отправил реквизиты доступа ЛС.
Также не получается собрать с опцией --with-jdk, ругается на отсутствие jni.h, хотя файл присутствует и находится на своем месте. Вот здесь https://www.netxms.org/forum/installation/configure-error-***-cannot-find-jni-h-check-your-jdk-installation-***/ товарищ испытывал аналогичную проблему, но смог ее решить установкой пакетов (под линуксом) java-gcj-compat-headless и java-gcj-compat-dev. К сожалению, в Solaris подобные пакеты отсутствуют

root@xms:~/NetXMS/netxms-2.0.5# ./configure --with-server --prefix=/opt/netxms --with-pgsql=/opt/postgres/9.5-pgdg --with-agent --with-openssl --with-snmp --enable-unicode --with-jdk=/usr/java checking for a BSD-compatible install... /usr/bin/ginstall -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/gmkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking for cc... no checking for CC... no checking for gcc... gcc checking whether the C compiler works... yes ... checking for libpq-fe.h... yes checking whether PGRES_SINGLE_TUPLE is declared... yes checking for floor in -lm... yes checking for PQconnectdb in -lpq... yes checking jni.h usability... no checking jni.h presence... no checking for jni.h... no configure: error: *** Cannot find jni.h - check your JDK installation *** root@xms:~/NetXMS/netxms-2.0.5# ls -l /usr/java/include/ total 117 -rw-r--r-- 1 root bin 20128 авг. 2 22:54 classfile_constants.h -rw-r--r-- 1 root bin 8690 авг. 2 22:54 jawt.h -rw-r--r-- 1 root bin 6209 авг. 2 22:54 jdwpTransport.h -rw-r--r-- 1 root bin 73701 авг. 2 22:54 jni.h -rw-r--r-- 1 root bin 77428 авг. 2 22:54 jvmti.h -rw-r--r-- 1 root bin 3774 авг. 2 22:54 jvmticmlr.h drwxr-xr-x 2 root bin 4 авг. 2 22:54 solaris -
Вроде как все проблемы решены. Здесь https://cloud.netxms.org/index.php/s/tm76wuhivyp0WNY можно скачать пакет с патчами (ну и на тестовой системе 2.0.5 сейчас собран).
-
-
Победные фанфары прозвучали преждевременно

Ниже небольшой и немного печальный отчет. "Немного" - потому, что Вашими усилиями, Виктор, "она все-таки крутится"! "Печальный" - потому что пока еще крутится немного не в ту сторону...Итак, по порядку:
- netxms-2.0.5-8072 по указанной выше ссылке не собирается.
root@xms:~/NetXMS/netxms-2.0.5-8072# CPPFLAGS=-I/usr/java/include/solaris ./configure --with-server --prefix=/opt/netxms --with-pgsql=/opt/postgres/9.5-pgdg --with-agent --with-openssl --with-snmp --enable-unicode --with-jdk=/usr/java root@xms:~/NetXMS/netxms-2.0.5-8072# make ./tools/updatetag.sh make all-recursive Making all in . ... Making all in core CXX libnxcore_la-template.lo template.cpp: In member function ‘bool Template::deleteDCObject(UINT32, bool)’: template.cpp:488:22: error: no matching function for call to ‘Template::setModified(bool)’ setModified(false); ^ template.cpp:488:22: note: candidate is: In file included from ../../../src/server/include/nms_core.h:101:0, from nxcore.h:29, from template.cpp:23: ../../../src/server/include/nms_objects.h:508:9: note: void NetObj::setModified() void setModified(); // Used to mark object as modified ^ ../../../src/server/include/nms_objects.h:508:9: note: candidate expects 0 arguments, 1 provided *** Error code 1 The following command caused the error: echo " CXX " libnxcore_la-template.lo;/bin/sh ../../../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../include -I../../../src/server/include -I/usr/java/include/solaris -D_THREAD_SAFE -DTRE_WCHAR=1 -I/usr/java/include -I/usr/java/include/solaris -I/opt/openssl/include -DUNICODE -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -D__EXTENSIONS__ -O2 -Wformat -Wno-unused-result -Werror=return-type -m64 -DPREFIX=L\"/opt/netxms\" -DDATADIR=L\"/opt/netxms/share/netxms\" -DBINDIR=L\"/opt/netxms/bin\" -DLIBDIR=L\"/opt/netxms/lib\" -DPKGLIBDIR=L\"/opt/netxms/lib/netxms\" -DSTATEDIR=L\"/opt/netxms/var/lib/netxms\" -DNDEBUG -g -O2 -fno-rtti -fno-exceptions -MT libnxcore_la-template.lo -MD -MP -MF .deps/libnxcore_la-template.Tpo -c -o libnxcore_la-template.lo `test -f 'template.cpp' || echo './'`template.cpp make: Fatal error: Command failed for target `libnxcore_la-template.lo' Current working directory /root/NetXMS/netxms-2.0.5-8072/src/server/core *** Error code 1 The following command caused the error: fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n '' && test -n '3'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs ]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo all-recursive | sed s/-recursive//`; \ case "all-recursive" in \ distclean-* | maintainer-clean-*) list='libnxsrv core netxmsd tools drivers hdlink pdsdrv' ;; \ *) list='libnxsrv core netxmsd tools drivers hdlink pdsdrv' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for target `all-recursive' Current working directory /root/NetXMS/netxms-2.0.5-8072/src/server *** Error code 1 The following command caused the error: fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n '' && test -n '2'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs ]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo all-recursive | sed s/-recursive//`; \ case "all-recursive" in \ distclean-* | maintainer-clean-*) list='libtre libstrophe libnetxms tools install snmp appagent libnxlp db agent libnxmap libnxsl libnxcc server smsdrv nxscript' ;; \ *) list='libtre libstrophe libnetxms tools install snmp appagent libnxlp db agent libnxmap libnxsl libnxcc server smsdrv nxscript' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for target `all-recursive' Current working directory /root/NetXMS/netxms-2.0.5-8072/src *** Error code 1 The following command caused the error: fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n '' && test -n '1'; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs ]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo all-recursive | sed s/-recursive//`; \ case "all-recursive" in \ distclean-* | maintainer-clean-*) list='. m4 src doc tools contrib sql images' ;; \ *) list='. m4 src doc tools contrib sql images' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for target `all-recursive' Current working directory /root/NetXMS/netxms-2.0.5-8072 *** Error code 1 make: Fatal error: Command failed for target `all'Теперь все, что ниже, касается сборки netxms-2.0.5, которую Вы правили непосредственно у меня на сервере, она собирается нормально.
- При загрузке в консоли видим следующее:
root@xms:/etc# /opt/netxms/bin/netxmsd Using configuration file "/etc/netxmsd.conf" [05-Aug-2016 01:24:57.182] [INFO ] Platform subagent "/opt/netxms/lib/netxms/sunos.nsm" successfully loaded [05-Aug-2016 01:24:57.199] [INFO ] Database driver "/opt/netxms/lib/libnxddr_pgsql.so" loaded and initialized successfully [05-Aug-2016 01:24:59.805] [INFO ] Network device driver "UBNT" loaded successfully [05-Aug-2016 01:24:59.809] [INFO ] Network device driver "AIRESPACE" loaded successfully [05-Aug-2016 01:24:59.812] [INFO ] Network device driver "MIKROTIK" loaded successfully [05-Aug-2016 01:24:59.817] [INFO ] Network device driver "BAYSTACK" loaded successfully [05-Aug-2016 01:24:59.820] [INFO ] Network device driver "PROCURVE" loaded successfully [05-Aug-2016 01:24:59.823] [INFO ] Network device driver "DELL-PWC" loaded successfully [05-Aug-2016 01:24:59.827] [INFO ] Network device driver "CATALYST-GENERIC" loaded successfully [05-Aug-2016 01:24:59.830] [INFO ] Network device driver "AT" loaded successfully [05-Aug-2016 01:24:59.833] [INFO ] Network device driver "DLINK" loaded successfully [05-Aug-2016 01:24:59.837] [INFO ] Network device driver "CATALYST-2900XL" loaded successfully [05-Aug-2016 01:24:59.840] [INFO ] Network device driver "PING3" loaded successfully [05-Aug-2016 01:24:59.844] [INFO ] Network device driver "NTWS" loaded successfully [05-Aug-2016 01:24:59.847] [INFO ] Network device driver "ERS8000" loaded successfully [05-Aug-2016 01:24:59.850] [INFO ] Network device driver "HPSW" loaded successfully [05-Aug-2016 01:24:59.853] [INFO ] Network device driver "TB" loaded successfully [05-Aug-2016 01:24:59.856] [INFO ] Network device driver "CISCO-SB" loaded successfully [05-Aug-2016 01:24:59.859] [INFO ] Network device driver "H3C" loaded successfully [05-Aug-2016 01:24:59.862] [INFO ] Network device driver "SYMBOL-WS" loaded successfully [05-Aug-2016 01:24:59.866] [INFO ] Network device driver "QTECH-OLT" loaded successfully [05-Aug-2016 01:24:59.869] [INFO ] Network device driver "NETSCREEN" loaded successfully [05-Aug-2016 01:24:59.873] [INFO ] Network device driver "CISCO-ESW" loaded successfully [05-Aug-2016 01:25:00.752] [WARN ] Failed to compile filter script for template object 101 "AI": Error in line 1: syntax error, unexpected '!', expecting ';' [05-Aug-2016 01:25:03.616] [WARN ] Failed to compile filter script for template object 101 "AI": Error in line 1: syntax error, unexpected T_IDENTIFIER, expecting ';' [05-Aug-2016 01:25:08.967] [WARN ] Failed to compile filter script for template object 101 "AI": Error in line 1: syntax error, unexpected $end, expecting ';' [05-Aug-2016 01:25:08.977] [WARN ] Failed to compile filter script for template object 101 "AI": Error in line 1: syntax error, unexpected $end, expecting ';' [05-Aug-2016 01:25:08.981] [WARN ] Failed to compile filter script for template object 101 "AI": Error in line 1: syntax error, unexpected T_IDENTIFIER, expecting ')' [05-Aug-2016 01:25:08.983] [WARN ] Failed to compile filter script for template object 101 "AI": Error in line 1: syntax error, unexpected '!', expecting ';' [05-Aug-2016 01:25:08.986] [WARN ] Failed to compile filter script for template object 101 "AI": Error in line 1: syntax error, unexpected $end, expecting ';' [05-Aug-2016 01:25:11.911] [WARN ] Failed to compile filter script for template object 101 "AI": Error in line 1: syntax error, unexpected '!', expecting ';' [05-Aug-2016 01:25:11.916] [WARN ] Failed to compile instance filter script for DCI 48 "FileSystem.FreePerc({instance}" on 101 "AI": Error in line 1: syntax error, unexpected '/' [05-Aug-2016 01:25:11.918] [WARN ] Failed to compile instance filter script for DCI 49 "FileSystem.UsedPerc({instance}" on 101 "AI": Error in line 1: syntax error, unexpected '/' [05-Aug-2016 01:25:11.986] [INFO ] Listening for SNMP traps on UDP socket 0.0.0.0:162 [05-Aug-2016 01:25:12.006] [INFO ] Listening for client connections on TCP socket 0.0.0.0:4701 [05-Aug-2016 01:25:12.008] [INFO ] NetXMS Server started NetXMS Server V2.0.5 Build 8070 (UNICODE) Ready Enter "help" for command list or "down" for server shutdown System Console netxmsd: [05-Aug-2016 01:25:12.008] [INFO ] Listening for mobile device connections on TCP socket 0.0.0.0:4747- Запускаем клиента, создаем объект с названием на кириллице. Закрываем клиента, открываем заново - все отлично!

А вот если перезапускаем сервер, то получаем вот такие кракозябры:

База, разумеется, создана в UTF-8.
netxms=> \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- netxms | netxms | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | netxms=> select * from object_properties; object_id | guid | name | status | is_deleted | is_system | last_modified | inherit_access_rights | status_calc_alg | status_prop_alg | status_fixed_val | status_shift | status_translation | status_single_threshold | status_thresholds | comments | location_type | latitude | longitude | location_accuracy | location_timestamp | image | submap_id | country | city | street_address | postcode | maint_mode | maint_event_id -----------+--------------------------------------+-------------------------+--------+------------+-----------+---------------+-----------------------+-----------------+-----------------+------------------+--------------+--------------------+-------------------------+-------------------+----------+---------------+----------+-----------+-------------------+--------------------+--------------------------------------+-----------+---------+------+----------------+----------+------------+---------------- 112 | 2b5f1acd-3162-4348-adb1-392e0c4c3ad5 | Контейнер | 0 | 0 | 0 | 1470340352 | 1 | 0 | 0 | 1 | 0 | 01020304 | 75 | 503C2814 | | 0 | 0.000000 | 0.000000 | 0 | 0 | 00000000-0000-0000-0000-000000000000 | 0 | | | | | 0 | 0


-
Заменил в сборке 8072 setModified(false); на setModified(); (п.1). Все собралось. Проверил. П.3 без положительных изменений. В п.2 стало ругаться на скрипт из другого темплейта.
root@xms:/opt/netxms/share/netxms/sql# /opt/netxms/bin/netxmsd Using configuration file "/etc/netxmsd.conf" [05-Aug-2016 03:03:07.506] [INFO ] Platform subagent "/opt/netxms/lib/netxms/sunos.nsm" successfully loaded [05-Aug-2016 03:03:07.523] [INFO ] Database driver "/opt/netxms/lib/libnxddr_pgsql.so" loaded and initialized successfully [05-Aug-2016 03:03:10.142] [INFO ] Network device driver "NETSCREEN" loaded successfully [05-Aug-2016 03:03:10.145] [INFO ] Network device driver "CISCO-ESW" loaded successfully [05-Aug-2016 03:03:10.149] [INFO ] Network device driver "AT" loaded successfully [05-Aug-2016 03:03:10.153] [INFO ] Network device driver "SYMBOL-WS" loaded successfully [05-Aug-2016 03:03:10.155] [INFO ] Network device driver "QTECH-OLT" loaded successfully [05-Aug-2016 03:03:10.158] [INFO ] Network device driver "CISCO-SB" loaded successfully [05-Aug-2016 03:03:10.161] [INFO ] Network device driver "UBNT" loaded successfully [05-Aug-2016 03:03:10.165] [INFO ] Network device driver "CATALYST-2900XL" loaded successfully [05-Aug-2016 03:03:10.168] [INFO ] Network device driver "PING3" loaded successfully [05-Aug-2016 03:03:10.172] [INFO ] Network device driver "DLINK" loaded successfully [05-Aug-2016 03:03:10.175] [INFO ] Network device driver "H3C" loaded successfully [05-Aug-2016 03:03:10.179] [INFO ] Network device driver "MIKROTIK" loaded successfully [05-Aug-2016 03:03:10.183] [INFO ] Network device driver "NTWS" loaded successfully [05-Aug-2016 03:03:10.187] [INFO ] Network device driver "ERS8000" loaded successfully [05-Aug-2016 03:03:10.190] [INFO ] Network device driver "HPSW" loaded successfully [05-Aug-2016 03:03:10.193] [INFO ] Network device driver "AIRESPACE" loaded successfully [05-Aug-2016 03:03:10.196] [INFO ] Network device driver "TB" loaded successfully [05-Aug-2016 03:03:10.200] [INFO ] Network device driver "CATALYST-GENERIC" loaded successfully [05-Aug-2016 03:03:10.203] [INFO ] Network device driver "DELL-PWC" loaded successfully [05-Aug-2016 03:03:10.207] [INFO ] Network device driver "BAYSTACK" loaded successfully [05-Aug-2016 03:03:10.210] [INFO ] Network device driver "PROCURVE" loaded successfully [05-Aug-2016 03:03:10.780] [WARN ] Failed to compile filter script for template object 101 "Generic UNI": Error in line 1: syntax error, unexpected $end, expecting ';' [05-Aug-2016 03:03:13.817] [WARN ] Failed to compile filter script for template object 101 "Generic UNI": Error in line 1: syntax error, unexpected '!', expecting ';' [05-Aug-2016 03:03:13.822] [WARN ] Failed to compile instance filter script for DCI 7 "FileSystem.FreePerc({instance}" on 101 "Generic UNI": Error in line 1: syntax error, unexpected '/' [05-Aug-2016 03:03:13.825] [WARN ] Failed to compile instance filter script for DCI 8 "FileSystem.UsedPerc({instance}" on 101 "Generic UNI": Error in line 1: syntax error, unexpected '/' [05-Aug-2016 03:03:16.535] [WARN ] Failed to compile filter script for template object 101 "Generic UNI": Error in line 1: syntax error, unexpected T_IDENTIFIER, expecting ';' [05-Aug-2016 03:03:21.892] [WARN ] Failed to compile filter script for template object 101 "Generic UNI": Error in line 1: syntax error, unexpected $end, expecting ';' [05-Aug-2016 03:03:21.902] [WARN ] Failed to compile filter script for template object 101 "Generic UNI": Error in line 1: syntax error, unexpected $end, expecting ';' [05-Aug-2016 03:03:21.905] [WARN ] Failed to compile filter script for template object 101 "Generic UNI": Error in line 1: syntax error, unexpected T_IDENTIFIER, expecting ')' [05-Aug-2016 03:03:21.908] [WARN ] Failed to compile filter script for template object 101 "Generic UNI": Error in line 1: syntax error, unexpected '!', expecting ';' [05-Aug-2016 03:03:21.910] [WARN ] Failed to compile filter script for template object 101 "Generic UNI": Error in line 1: syntax error, unexpected $end, expecting ';' [05-Aug-2016 03:03:21.978] [INFO ] Listening for SNMP traps on UDP socket 0.0.0.0:162 [05-Aug-2016 03:03:22.000] [INFO ] Listening for client connections on TCP socket 0.0.0.0:4701 [05-Aug-2016 03:03:22.001] [INFO ] NetXMS Server started NetXMS Server V2.0.5 Build 8072 (UNICODE) Ready Enter "help" for command list or "down" for server shutdown System Console netxmsd: [05-Aug-2016 03:03:22.002] [INFO ] Listening for mobile device connections on TCP socket 0.0.0.0:4747 -
-
Я посмотрю сегодня/завтра проблему с кириллицей. Похоже на какой-то баг при чтении из базы. При сборке --enable-unicode был указан?
-
Поставил у себя Solaris 11.3 (правда x86) - русские буквы сохраняются при рестарте. Какая у вас версия PostgreSQL клиента и кяак он был проинсталлирован? Я использовал 9.3 поставленный через pkgutil.
-
Я собирал NetXMS со следующими базами:
- PostgreSQL 9.5.4 (https://ftp.postgresql.org/pub/binary/v9.5.4/solaris/solaris11/sparc/postgresql-9.5.4-S11.sparc-64.tar.bz2)
- PostgreSQL 9.3.5 (https://www.opencsw.org/packages/CSWpostgresql93)
- MySQL 5.6.31 (https://www.opencsw.org/packages/CSWmysql56)
Разумеется, при сборке NetXMS я использовал библиотеки из соответствующих дистрибутивов и устанавливал базу NetXMS на соответствующих версиях СУБД. При настройке NetXMS и каждой СУБД особое внимание обращал на параметры, задающие правильную работу с юникодом.
Проблема везде одна и та же: кракозябры вместо русских букв после перезагрузки netxmsd и ругань на значения в базе, которые содержат символ "\". У меня складывается впечатление, что NetXMS использует разные функции при первоначальной загрузки значений из базы и дальнейшей работы с ней, и что в первой некорректно обрабатывается символ "\", поэтому и ругань на него в скриптах, и символы юникода из \aabb превращаются в aabb, которые как кракозябры как раз и выглядят.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login