Ошибка при установке NetXMS + IBM DB2
-
здравствуйте!
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.
спасибо за внимание!
-
./configure --with-db2=/opt/ibm/db2/V11.1 …Попробуйте так. Если не сработает – пришлите пожалуйста config.log.
-
@alk said in Ошибка при установке NetXMS + IBM DB2:
./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"Алекс, подскажите пожалуйста что означает данный тип ошибки и возможно ли эту ошибку исправить?
спасибо за внимание!
-
Попробуйте заменить
pResult->values[i]
на
result
в строке 576.
-
@victor said in Ошибка при установке NetXMS + IBM DB2:
Попробуйте заменить
pResult->values[i]
на
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.
пока откладываю проверку версий на пару дней -
Эксперимент с задействованием IBM DB2 решено отложить/прекратить, в виду сложности воспроизведения автоматической сборки и установки такой связки ПО, например с помощью скрипта на голой ОС.
Может быть кто то найдет данное обсуждение и сможет довести дело до конца
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