[MacPorts] #56653: octave @4.4.0_3 +qt4: destroot fails: QSqlDatabase: QSQLITE driver not loaded

MacPorts noreply at macports.org
Tue Jun 12 17:11:46 UTC 2018


#56653: octave @4.4.0_3 +qt4: destroot fails: QSqlDatabase: QSQLITE driver not
loaded
------------------------+--------------------
 Reporter:  saherr1969  |      Owner:  (none)
     Type:  defect      |     Status:  new
 Priority:  Normal      |  Milestone:
Component:  ports       |    Version:
 Keywords:              |       Port:  octave
------------------------+--------------------
 Similar to ticket [https://trac.macports.org/ticket/56584/ #56584] but for
 +qt4 variant.\\
 Follow on to ticket [https://trac.macports.org/ticket/56582/ #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:

 1.  {{{port uninstall qt5-sqlite-plugin}}} (successful)
 2.  {{{port install qt4-mac-sqlite3-plugin}}} (successful)
 3.  {{{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.

-- 
Ticket URL: <https://trac.macports.org/ticket/56653>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list