Menu

#886 dev-db/tora[postgres] fails to build without Oracle support

None
closed-fixed
None
5
2016-05-15
2014-09-29
No

Gentoo GNU/Linux (amd64)
dev-qt/qtcore-4.8.5-r2 [-kde]
sys-devel/gcc-4.7.3-r1
sys-libs/glibc-2.19-r1

Today I've tried to build tora (20140928 SVN snapshot) with PostgreSQL support and without Oracle support (i.e.: (postgres -oci8-instant-client -oracle -debug -mysql)), and got the following error:

[ 71%] Building CXX object src/CMakeFiles/tora.dir/core/tolistviewformattersql.cpp.o
cd /var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928_build/src && /usr/bin/x86_64-pc-linux-gnu-g++ -DHAVE_POSTGRESQL_LIBPQ_FE_H -DLIBPQ_DECL_CANCEL -DNDEBUG -DPROVIDERS_PATH=\"/usr/lib64/tora-3.0.0alpha\" -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_DEBUG_OUTPUT -DQT_SQL_LIB -DQT_THREAD_LIB -DQT_XML_LIB -DSHARE_DIR=\"/usr/share/tora-3.0.0alpha\" -DTO_NO_ORACLE -DTROTL_DLL -DTSQLPARSER_DLL -Dtora_EXPORTS -DNDEBUG -Wall -std=c++0x -ggdb3 -I/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928_build/src -I/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/src -I/usr/include/FerrisLoki -I/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/extlibs/loki-extra/include -isystem /usr/include/qt4 -isystem /usr/include/qt4/QtGui -isystem /usr/include/qt4/QtXml -isystem /usr/include/qt4/QtSql -isystem /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore -I/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928 -I/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/src/precompiled -I/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928_build -I/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/extlibs/trotl/src -I/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/extlibs/libantlr3cpp-3.5.2/include -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/Qt3Support -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4/Qsci -DQT -DSCI_LEXER -o CMakeFiles/tora.dir/core/tolistviewformattersql.cpp.o -c /var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/src/core/tolistviewformattersql.cpp
In file included from /var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/src/core/tolistviewformattersql.cpp:45:0:
/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/src/core/utils.h:333:1: warning: multi-line comment [-Wcomment]
In file included from /var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/src/core/tolistviewformattersql.cpp:47:0:
/var/tmp/portage/dev-db/tora-3.0.0_pre20140928-r1/work/tora-3.0.0_pre20140928/src/connection/tooraclesetting.h:42:34: fatal error: ui_tooraclesettingui.h: No such file or directory
compilation terminated.
make[2]: *** [src/CMakeFiles/tora.dir/core/tolistviewformattersql.cpp.o] Error 1

Complete build log is attached.

If building with Oracle support (i.e. (oci8-instant-client oracle postgres -debug -mysql)), it's succeed. Oracle client used:
dev-db/oracle-instantclient-basic-11.2.0.4
dev-db/oracle-instantclient-sqlplus-11.2.0.4

After installation both for TOra with Oracle-only support and TOra Oracle and PostgreSQL support I see only one, oracle-named library.

/usr/lib64/tora-3.0.0alpha/libporacle.so

To my mind it looks at least something strange. Is it correct?

P.S. Some questions about dependencies:
Is dev-db/oracle-instantclient-sqlplus necessary for TOra, or dev-db/oracle-instantclient-basic is enough?

The second question is about dependencies of qtsql.
For PostgreSQL portage requires dev-qt/qtsql to be built with postgres support.
Also dev-qt/qtsql could be built with Oracle (oci8) support.
But TOra build doesn't require dev-qt/qtsql to be built with oci8 support. That doesn't breaks TOra's building. And built in such way TOra work's.
Is postgres support in dev-qt/qtsql necessary for building TOra with PostgreSQL support?

1 Attachments

Discussion

  • beelzebubbie

    beelzebubbie - 2014-09-29

    Confirming problem. Using gentoo too, tried to build 5141 with postgre-only support, got same error:

    In file included from /var/tmp/portage/dev-db/tora-9999/work/tora-9999/src/core/tolistviewformattersql.cpp:45:0:
    /var/tmp/portage/dev-db/tora-9999/work/tora-9999/src/core/utils.h:333:1: warning: multi-line comment [-Wcomment]
    In file included from /var/tmp/portage/dev-db/tora-9999/work/tora-9999/src/core/tolistviewformattersql.cpp:47:0:
    /var/tmp/portage/dev-db/tora-9999/work/tora-9999/src/connection/tooraclesetting.h:42:34: fatal error: ui_tooraclesettingui.h: No such file or directory

    Seems that TOra can't be built w/o Oracle at all…

     
  • Ivan Brezina

    Ivan Brezina - 2014-09-29

    This is outcome of config options cleanup. And is linked to very old Tora problem. A generic tora component - (data exporter) depends on Oracle settings.
    When Oracle is not detected (and built) this data exporter can not compiled.
    I have to fix this (config options must be re-organised)

    Qt framework provides some basic SQL API. We use this for PostreSQL, MySQL and ODBC. For Oracle we use directly lower level API (oci.h) which we wrap into our library(trotl). You do not have to build Qt with OCI support - Tora does not need it.

    BTW: at this moment we do not have any supporter for MySQL/PostreSQL, so it does not make too much sense to build Tora without Oracle support.

     
  • Ivan Brezina

    Ivan Brezina - 2014-09-29

    About the library libporacle.so. This is Oracle connection provider library. As we can not re-distributre OCI lib(libclntsh) we create a library(plugin) which depend on it. Tora itself does not depend on OCI lib. If it finds Oracle client libs, it also loads this plugin at startup time.

     
  • Ivan Brezina

    Ivan Brezina - 2016-05-15
    • status: open --> closed-fixed
    • assigned_to: Ivan Brezina
    • Group: -->
     
  • Ivan Brezina

    Ivan Brezina - 2016-05-15

    fixed

     

Log in to post a comment.