Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Jerzy_Stuhr

#1
Эксперимент с задействованием IBM DB2 решено отложить/прекратить, в виду сложности воспроизведения автоматической сборки и установки такой связки ПО, например с помощью скрипта на голой ОС.
Может быть кто то найдет данное обсуждение и сможет довести дело до конца  :)
#2
Quote from: Victor Kirhenshtein on April 16, 2017, 12:19:27 PM
Попробуйте заменить

pResult->values

на

result

в строке 576.

спасибо за помощь! ваши советы помогли решить проблему!

UPD!
[root@db2-netxms log]# nxdbmgr check
NetXMS Database Manager Version 2.0.8 Build 8078 (2.0.8-RELEASE) (UNICODE)

Unable to load and initialize database driver "db2.ddr"


далее попытка что конкретно не нравится:
[root@db2-netxms log]# /usr/local/bin/netxmsd -D 9
Using configuration file "/etc/netxmsd.conf"
[16-Apr-2017 17:32:11.102] [DEBUG] LIB directory set to /usr/local/lib/netxms
[16-Apr-2017 17:32:11.103] [DEBUG] Code page set to ASCII
[16-Apr-2017 17:32:11.147] [INFO ] Platform subagent "/usr/local/lib/netxms/linux.nsm" successfully loaded
[16-Apr-2017 17:32:11.148] [ERROR] Unable to load database driver module "db2.ddr": libdb2.so.1: cannot open shared object file: No such file or directory


тут необходимо создать символическую ссылку из /opt/ibm/db2/V11.1/lib64/libdb2.so.1 в /usr/local/lib, тогда эта ошибка исчезает, но для подключения требуется название схемы БД. ее указание произведено в файле настроек как "DBSchema=db2inst1":
[16-Apr-2017 17:39:33.380] [DEBUG] DBConnect: server=db2-netxms db=SAMPLE login=db2inst1 schema=db2inst1
[16-Apr-2017 17:39:33.381] [ERROR] Unable to establish connection with database ([IBM][CLI Driver] CLI0124E  Недопустимое значение аргумента. SQLSTATE=HY009)


db2inst1 или DB2INST1 это схема в которую были импортированы таблицы для NetXMS.
пока откладываю проверку версий на пару дней
#3
Quote from: Alex Kirhenshtein on April 14, 2017, 05:39:13 PM
./configure --with-db2=/opt/ibm/db2/V11.1 ...

Попробуйте так. Если не сработает – пришлите пожалуйста config.log.

это решило проблему с конфигурацией, но компиляция завершается ошибкой:

Making install in db2
make[5]: Entering directory `/home/m-matveev/Загрузки/netxms-2.0.8/src/db/dbdrv/db2'
/bin/sh ../../../../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../..  -I../../../../include -I../../../../src/server/include  -D_THREAD_SAFE -DTRE_WCHAR=1 -I/opt/ibm/db2/V11.1/include -I/opt/openssl/include -DUNICODE -D_GNU_SOURCE -O2 -Wformat -Wno-unused-result -Werror=return-type -I/usr/local/include -DPREFIX=L\"/usr/local\" -DDATADIR=L\"/usr/local/share/netxms\" -DBINDIR=L\"/usr/local/bin\" -DLIBDIR=L\"/usr/local/lib\" -DPKGLIBDIR=L\"/usr/local/lib/netxms\" -DSTATEDIR=L\"/usr/local/var/lib/netxms\" -DNDEBUG  -g -O2 -fno-rtti -fno-exceptions -MT db2_la-db2.lo -MD -MP -MF .deps/db2_la-db2.Tpo -c -o db2_la-db2.lo `test -f 'db2.cpp' || echo './'`db2.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../../.. -I../../../../include -I../../../../src/server/include -D_THREAD_SAFE -DTRE_WCHAR=1 -I/opt/ibm/db2/V11.1/include -I/opt/openssl/include -DUNICODE -D_GNU_SOURCE -O2 -Wformat -Wno-unused-result -Werror=return-type -I/usr/local/include -DPREFIX=L\"/usr/local\" -DDATADIR=L\"/usr/local/share/netxms\" -DBINDIR=L\"/usr/local/bin\" -DLIBDIR=L\"/usr/local/lib\" -DPKGLIBDIR=L\"/usr/local/lib/netxms\" -DSTATEDIR=L\"/usr/local/var/lib/netxms\" -DNDEBUG -g -O2 -fno-rtti -fno-exceptions -MT db2_la-db2.lo -MD -MP -MF .deps/db2_la-db2.Tpo -c db2.cpp  -fPIC -DPIC -o .libs/db2_la-db2.o
In file included from ./sqlcli1.h:45,
                 from db2drv.h:54,
                 from db2.cpp:23:
./sqlcli.h:821: ошибка: conflicting declaration 'typedef unsigned int BOOL'
../../../../include/nms_common.h:583: ошибка: 'BOOL' has a previous declaration as 'typedef int BOOL'
db2.cpp: In function 'wchar_t* GetFieldData(SQLHSTMT, short int)':
db2.cpp:576: ошибка: нет декларации 'pResult' в этой области видимости
db2.cpp:576: ошибка: нет декларации 'i' в этой области видимости
At global scope:
cc1plus: предупреждение: некорректный ключ "-Wno-unused-result"
make[5]: *** [db2_la-db2.lo] Ошибка 1
make[5]: Leaving directory `/home/m-matveev/Загрузки/netxms-2.0.8/src/db/dbdrv/db2'
make[4]: *** [install-recursive] Ошибка 1
make[4]: Leaving directory `/home/m-matveev/Загрузки/netxms-2.0.8/src/db/dbdrv'
make[3]: *** [install-recursive] Ошибка 1
make[3]: Leaving directory `/home/m-matveev/Загрузки/netxms-2.0.8/src/db'
make[2]: *** [install-recursive] Ошибка 1
make[2]: Leaving directory `/home/m-matveev/Загрузки/netxms-2.0.8/src'
make[1]: *** [install-recursive] Ошибка 1
make[1]: Leaving directory `/home/m-matveev/Загрузки/netxms-2.0.8'
make: *** [install] Ошибка 2
[1]+  Exit 2                  make


некоторые необходимые исходные тексты для компиляции с DB2 были взяты из https://github.com/theRocket/mixanalytics/tree/master/lib/db2include.

для решения "sqlcli.h:821: ошибка: conflicting declaration 'typedef unsigned int BOOL'" был найдена актуальная версия sqlcli.h -
https://github.com/strongloop-forks/node-ibm_db/tree/master/deps/db2cli/include

после этого остается только ошибка:

db2.cpp: In function 'wchar_t* GetFieldData(SQLHSTMT, short int)':
db2.cpp:576: ошибка: нет декларации 'pResult' в этой области видимости
db2.cpp:576: ошибка: нет декларации 'i' в этой области видимости
At global scope:
cc1plus: предупреждение: некорректный ключ "-Wno-unused-result"


Алекс, подскажите пожалуйста что означает данный тип ошибки и возможно ли эту ошибку исправить?

спасибо за внимание!
#4
здравствуйте!

OC - Oracle Linux 6.9
БД - IBM 11.1 Express
NetXMS 2.0.8

попытка настроить NetXMS 2.0.8 перед компиляцией с следующими параметрами
sh ./configure --with-server --with-db2 --with-agent --with-client --with-snmp --with-openssl --enable-unicode --disable-ldap --disable-silent-rules
прерывается сообщением
checking sql.h usability... yes
checking sql.h presence... yes
checking for sql.h... yes
checking for SQLAllocHandle in -ldb2... no
configure: error: libdb2 is required for DB2 support


как понимаю, это относится к совместно используемой библиотеке libdb2.so в каталогах /opt/ibm/db2/V11.1/lib64 и /opt/ibm/db2/V11.1/lib32. библиотека является частью установленного ПО IBM DB2.
дополнительно (в качестве меры предосторожности) установлен IBM Data Server Driver Package,также содержащий необходимую библиотеку.

просьба подсказать какие имеются возможности для решения этого вопроса? официальная документация не раскрывает в полной мере вопрос и методы установки связки NetXMS + DB2.

спасибо за внимание!
#5
Quote from: Alex Kirhenshtein on November 19, 2014, 03:34:33 AM
Судя по netstat, томкат слушает 8080 только на ipv6 (если :8080 - томкат).
Какие коннекторы прописаны в server.xml?

Да, Tomcat отрабатывает на порту 8080, открытие адреса по этому порту бодро салютует:
"If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!"

Если я правильно понял о чем вы спросили, то вот (эта запись не закомментирована):
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443" />
#6
Доброго времени суток!

Кратко, по существу)

ОС Ubuntu Server 12.04.5 i386 на VMware Player, сеть через мост виртуалки.
NetXMS 1.2.17 ставил из исходников, по офф. инструкции.
В процессе установки решены проблемы с зависимостью от libmysqlclient-dev (была ошибка на этапе подготовки).
Установлен веб-интерфейс, также по офф. инструкции (Tomcat 6), удаленное подключение выдает сообщение о "connection refused" при вводе стандартного логина/пароля.

В iptables разрешено все:
sudo iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT

Т.е. блокирования по порту быть не должно.

netstat -plntu
(No info could be read for "-p": geteuid()=1000 but you should be root.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      -               
tcp6       0      0 :::8080                 :::*                    LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -               
udp        0      0 0.0.0.0:68              0.0.0.0:*


nxdbmgr check
NetXMS Database Manager Version 1.2.17 Build 7892

Checking database (excluding collected data):
* Checking zone objects...                                            [PASSED]
* Checking node objects...                                            [PASSED]
* Checking interface objects...                                       [PASSED]
* Checking network service objects...                                 [PASSED]
* Checking cluster objects...                                         [PASSED]
* Checking template to node mapping...                                [PASSED]
* Checking object properties...                                       [PASSED]
* Checking event processing policy...                                 [PASSED]
* Checking network map links...                                       [PASSED]
* Checking data tables...                                             [PASSED]
Database doesn't contain any errors
Database check completed


Подскажите в какую сторону еще проверять, в Гугле проверено большинство способов - непомогло.