[Bug 178084] Re: Missing SQL drivers in libQtSql.so

Michal Sylwester msylwester at gmail.com
Thu Jan 3 20:19:31 UTC 2008


I've played with this a little more, and I've managed to find a
workaround and compile this package with drivers...

The short story:
My workaround was to change the first line of configure script to execute it using bash instead of sh (which is actually dash). 

The long story:
I've found out the the problem is that the configure script is unable to find available sql drivers. With no drivers available the request (passed as configure argument) to build some of them is ignored.

It can be easily checked whether the drivers will be built without waiting for it to finish: either by checking the last lines of .qmake.cache - drivers will be built if they are listed in like like this:
sql-drivers =  mysql psql sqlite sqlite2
or even before starting build by running "configure --help" - available drivers are listed as:
    -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to
                         at run time.

                         Possible values for <driver>:
                         [  ibase mysql odbc psql sqlite sqlite2 ]

When I simply run apt-get source -b libqt4-sql both lists are empty.

I've found this is caused by this lines in configure script (starting at line 677):
CFG_SQL_AVAILABLE=
if [ -d "$relpath/src/plugins/sqldrivers" ]; then
  for a in "$relpath/src/plugins/sqldrivers/"*; do
     if [ -d "$a" ]; then
	 base_a=`basename $a`
  	 CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}"
	 eval "CFG_SQL_${base_a}=auto"
     fi
  done
fi

For some reason the for loop instead of looping over all entries in the
sqldrivers directory loops over one value
"$relpath/src/plugins/sqldrivers/*" (with $relpath replaced as
expected). This is later found to not be a valid driver directory, so
the list ends up empty.

Now, I still have no idea why it worked fine for previous builds - I wasn't able to take a look at how the build worked there, and changelog indicates no changes in this area. As such I'm not really sure this workaround can be used as long-term solution, but I hope it will help to get this working. 
My best guesses are:
- different interpreter was used
- something changed in dash (there was a new release recently, between the releases of liqt4-sql)

-- 
Missing SQL drivers in libQtSql.so
https://bugs.launchpad.net/bugs/178084
You received this bug notification because you are a member of Kubuntu
Team, which is a bug contact for qt4-x11 in ubuntu.




More information about the kubuntu-bugs mailing list