Opened 6 years ago
Closed 6 years ago
#56653 closed defect (fixed)
octave @4.4.0_3 +qt4: destroot fails: QSqlDatabase: QSQLITE driver not loaded
Reported by: | saherr1969 (Stephen H) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | octave |
Description (last modified by mf2k (Frank Schima))
Similar to ticket #56584 but for +qt4 variant.
Follow on to ticket #56582
On screen error:
---> Staging octave into destroot Error: Failed to destroot octave: command execution failed
main.log contains:
:info:destroot GEN doc/interpreter/octave_interpreter.qhc :info:destroot QSqlDatabase: QSQLITE driver not loaded :info:destroot QSqlDatabase: available drivers: :info:destroot Cannot open data base file /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_octave/octave/work/octave-4.4.0/doc/interpreter/octave_interpreter.qch! :info:destroot make[2]: *** [doc/interpreter/octave_interpreter.qhc] Error 255 :info:destroot make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_octave/octave/work/octave-4.4.0' :info:destroot make[1]: *** [install-recursive] Error 1 :info:destroot make[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_octave/octave/work/octave-4.4.0' :info:destroot make: *** [install] Error 2 :info:destroot make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_octave/octave/work/octave-4.4.0' :info:destroot Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_octave/octave/work/octave-4.4.0" && /usr/bin/make -w install DESTDIR=/opt/loca :info:destroot Exit code: 2 :error:destroot Failed to destroot octave: command execution failed :debug:destroot Error code: CHILDSTATUS 98573 2 :debug:destroot Backtrace: command execution failed :debug:destroot while executing :debug:destroot "system {*}$notty {*}$nice $fullcmdstring" :debug:destroot invoked from within :debug:destroot "command_exec destroot" :debug:destroot (procedure "portdestroot::destroot_main" line 2) :debug:destroot invoked from within :debug:destroot "$procedure $targetname" :error:destroot See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_octave/octave/main.log for details.
A web search showed that QSqlDatabase is Qt's SQL Database class. Using port search
for QSqlDatabase and QSQLITE provided no insight. So I then ran port search --line Qt | grep -i sqlite
which revealed qt4 and qt5 plugins. Because the MacPorts Portfiles web page lists qt5-sqlite-plugin, I installed that, successfully, and then retried the port upgrade outdated
command to upgrade octave
. Again it failed during the destroot processing.
I reviewed the log file a bit higher and found:
:debug:clean Searching for dependency: qt4-mac :debug:clean Found Dependency: receipt exists for qt4-mac :debug:clean Searching for dependency: qscintilla-qt4 :debug:clean Found Dependency: receipt exists for qscintilla-qt4
The qt4 items suggested I needed qt4 and not qt5 sqlite plugin. Proceeded to:
-
port uninstall qt5-sqlite-plugin
(successful) -
port install qt4-mac-sqlite3-plugin
(successful) -
port upgrade outdated
(SUCCESSFUL)!!!!!!
Looking at the "source" for the portfile and found:
variant qt4 conflicts qt5 description {build the GUI using Qt4} { PortGroup qt4 1.0 depends_lib-append port:qscintilla-qt4 configure.args-replace --without-qt --with-qt=4 } variant qt5 conflicts qt4 description {build the GUI using Qt5} { PortGroup qt5 1.0 qt5.depends_component qttools sqlite-plugin depends_lib-append port:qscintilla-qt5 ...
This suggests the fix for the destroot issue is to add a dependency check for qt4-mac-sqlite3-plugin
.
I have no clue how to do this so hopefully the maintainers of octave
can add this.
Change History (6)
comment:1 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Owner: | set to MarcusCalhoun-Lopez |
---|---|
Status: | new → accepted |
comment:2 Changed 6 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:3 Changed 6 years ago by kencu (Ken)
comment:4 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
For Octave, at least, qt4-mac-sqlite3-plugin
seems to be the only plugin that solves the problem.
comment:5 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Thank you for the report and the research.
comment:6 Changed 6 years ago by Marcus Calhoun-Lopez <marcuscalhounlopez@…>
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
As I understand it, you are meant to install the database plugin you want, of the many available choices: