Название: Не собирается драйвер qoci Astra (Debian 7) Oracle client 12 Отправлено: Павелъ от Январь 30, 2018, 09:19 Доброго времени суток. Понадобилось скомпилировать плагин для подключения к БД Oracle из под Qt в Astra Linux.
Установил Oracle client 12.2 согласно этой инструкции http://wiki.ozanh.com/doku.php?id=linux:debian:oracle_client Согласно этой статье http://doc.qt.io/qt-5/sql-driver.html#qoci пытаюсь скомпилировать исходники. Вариант выбрал для Oracle 10 (для старших версий нет инструкции) В oci.pro на форума советуют закомментировать строчку «QMAKE_USE += oci», что я и сделал, иначе qmake ругается на его отсутствие. На сообщение «Cannot read /opt/Qt5.10.0/5.10.0/Src/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri: No such file or directory» советуют внимание не обращать. Makefile формируется, однако, дальше make отказывается работать. По совету на этой странице https://habrahabr.ru/post/333468/ выполнил следующее: « На этот момент я уже потратил много времени, чтобы хоть как-то собрать плагин, поэтому эту проблему я решил жестко, просто открыл сгенерированный Makefile и изменил -std=c++1z на -std=c++11, а флаг -Wdate_time просто удалил. Эти пары флагов встречаются в двух местах. » Но, этот совет для драйвера qodbc. Тем ни менее make заработал. Но, с руганью на « qsql_oci.cpp:52:46: fatal error: QtSql/private/qsqlcachedresult_p.h: Нет такого файла или каталога #include <QtSql/private/qsqlcachedresult_p.h> » Тогда я make передал ключ «-sql», ошибки не было, но и ничего не сформировалось. Тогда я поступил другим образом и передал make ключ «-network». В этот раз от make я получил следующий вывод: « make: вход в каталог «/opt/Qt5.10.0/5.10.0/Src/qtbase/src/plugins/sqldrivers/oci» touch .obj/qsql_oci.o touch .moc/moc_predefs.h touch .moc/main.moc touch .obj/main.o touch .moc/moc_qsql_oci_p.cpp touch .obj/moc_qsql_oci_p.o touch ../plugins/sqldrivers/libqsqloci.so make: выход из каталога «/opt/Qt5.10.0/5.10.0/Src/qtbase/src/plugins/sqldrivers/oci» » Сообщение «touch ../plugins/sqldrivers/libqsqloci.so» дало мне понять, что драйвер скомпилировался, однако, он отсутствует в указанной дирректории « pavel@Linux-forever:/opt/Qt5.10.0/5.10.0/Src/qtbase/src/plugins/sqldrivers/oci$ ls -al ../plugins/sqldrivers/ итого 8 drwxr-xr-x 2 root root 4096 янв 29 19:30 . drwxr-xr-x 3 root root 4096 янв 29 19:30 .. » Собирал я драйвер с правами root. Архитектура x86_64. Как такое может быть: вывод говорит о том, что файл сформирован, однако его там нет? И как его собрать в итоге? Название: Re: Не собирается драйвер qoci Astra (Debian 7) Oracle client 12 Отправлено: Павелъ от Февраль 01, 2018, 15:51 Установил Оракл клиент 11.
Библиотека соьралась |