Details
-
Bug
-
Resolution: Fixed
-
Not Evaluated
-
6.8.0
-
None
-
Linux: Linux DESKTOP-ECC204R 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Ubuntu 24.10 oracular
Windows: Windows 11 23H2 22631.4391 Windows Feature Experience Pack 1000.22700.1047.0
Oracle database version on Windows: 21.3
Oracle instant client version on Linux: 23.5.0.0.0Linux: Linux DESKTOP-ECC204R 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux Ubuntu 24.10 oracular Windows: Windows 11 23H2 22631.4391 Windows Feature Experience Pack 1000.22700.1047.0 Oracle database version on Windows: 21.3 Oracle instant client version on Linux: 23.5.0.0.0
-
-
c68277c41b99d6791e3c1a5998b70c6cbbf6dc15
Description
The older doc [SQL Database Drivers | Qt SQL 6.7.3|https://doc.qt.io/qt-6.7/sql-driver.html#qoci-for-the-oracle-call-interface-oci] suggests the following command to build OCI plugin:
qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DOracle_INCLUDE_DIR="/usr/include/oracle/21/client64" -DOracle_LIBRARY="/usr/lib/oracle/21/client64/lib/libclntsh.<so|dylib>"
or
qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DOracle_INCLUDE_DIR="C:\oracle\sdk\include" -DOracle_LIBRARY="C:\oracle\oci.lib"
and it works for both Qt 6.7 and 6.8 on both Linux and Windows. The latest doc [SQL Database Drivers | Qt SQL 6.8.0|https://doc.qt.io/qt-6/sql-driver.html#qoci-for-the-oracle-call-interface-oci] suggests
qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DOracle_ROOT="/usr/include/oracle/21/client64"
and
qt-cmake -G Ninja <qt_installation_path>\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>\<platform> -DOracle_ROOT="C:\oracle"
instead. However, the "Oracle_ROOT" option does not take effects for both Qt 6.7 and 6.8 on both Linux and Windows, i.e., the cmake configuration does not build the OCI plugin at all. For example, on Linux, my Oracle instant client is placed under `/opt/oracle/instantclient_23_5" and libclntsh.<so|dylib> (all versions) files are in it. Besides, I have already added `/opt/oracle/instant_client_23_5` to `LD_LIBRARY_PATH` and `PATH`. Is it a documentation mistake or is it a new feature which does not work?