By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 2117

Summary: Native tqt3 sqlite3 driver is largely duplicated in the tdesvn source code
Product: TDE Reporter: Francois Andriot <albator78>
Component: non-core programsAssignee: Francois Andriot <albator78>
Status: PATCHAVAIL ---    
Severity: minor CC: albator78, be4youcome, bugwatch, kb9vqf, slavek.banko
Priority: P5    
Version: R14.0.x [Trinity]   
Hardware: Other   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:
Attachments: tdesvn: use tqt3 provided sqlite3 Plugin

Description Francois Andriot 2014-09-16 14:38:20 CDT
This is mostly the same story as bug #2115 .
Here I get:

[  0%] Building CXX object src/svnqt/CMakeFiles/svnqt.dir/cache/LogCache.cpp.o
cd "/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/build/src/svnqt" && /usr/local/bin/c++   -DHAVE_CONFIG_H -Dsvnqt_EXPORTS -O2 -g -m64 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -DNDEBUG  -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -I/usr/include/tqt3 -I/usr/include/tqt -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -DNDEBUG -fPIC -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/build/src/svnqt" -I/usr/include/tqt3 -I/usr/include/tqt -I/opt/trinity/include/tde -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/build" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/build/src" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/settings" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnfrontend/graphtree" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnfrontend/fronthelpers" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/ksvnwidgets" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/helpers" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnfrontend" -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/cache" -I/usr/include/subversion-1 -I/usr/include/apr-1 -I"/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/SQLITE_INCLUDE_DIR"    -fPIC -o CMakeFiles/svnqt.dir/cache/LogCache.cpp.o -c "/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/cache/LogCache.cpp"
In file included from /usr/include/tqt/tqsqldatabase.h:32:0,
                 from /dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/cache/LogCache.cpp:5:
/usr/include/tqt3/ntqsqldatabase.h: In instantiation of 'TQSqlDriver* TQSqlDriverCreator<type>::createObject() [with type = TQSQLite3Driver]':
/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/cache/LogCache.cpp:342:1:   required from here
/usr/include/tqt3/ntqsqldatabase.h:79:46: error: cannot allocate an object of abstract type 'TQSQLite3Driver'
     TQSqlDriver* createObject() { return new type; }
                                              ^
In file included from /dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/cache/LogCache.cpp:13:0:
/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/cache/sqlite3/qsql_sqlite3.h:53:7: note:   because the following virtual functions are pure within 'TQSQLite3Driver':
 class TQSQLite3Driver : public TQSqlDriver
       ^
In file included from /usr/include/tqt/tqsqldriver.h:32:0,
                 from /dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/cache/sqlite3/qsql_sqlite3.h:18,
                 from /dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/src/svnqt/cache/LogCache.cpp:13:
/usr/include/tqt3/ntqsqldriver.h:101:18: note:  virtual bool TQSqlDriver::ping()
     virtual bool  ping() = 0;
                  ^
make[3]: *** [src/svnqt/CMakeFiles/svnqt.dir/cache/LogCache.cpp.o] Error 1
make[3]: Leaving directory `/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/build'
make[2]: *** [src/svnqt/CMakeFiles/svnqt.dir/all] Error 2
make[2]: Leaving directory `/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/dev/shm/BUILD.oss131.x86_64/trinity-tdesvn-14.0.0~pre185+fddfb277/build'
Comment 1 Francois Andriot 2014-09-16 15:26:11 CDT
Created attachment 2247 [details]
tdesvn: use tqt3 provided sqlite3 Plugin

First, remove unwanted files in tdesvn:

rm -f src/svnqt/CMakeLists.txt.orig
rm -fr src/svnqt/cache/sqlite3/

Then, ensure that you have /usr/include/tqt3/qsql_sqlite3.h (See bug #2115)

Finally, apply attached patch and rebuild tdesvn.

Note: I do not know how to use tdesvn nor how to validate it actually works ...
Comment 2 Timothy Pearson 2014-09-20 14:54:14 CDT
I patched tdesvn in GIT hash 729d452 to fix the FTBFS

The driver in tdesvn claims to be more advanced than the one in TQt3; therefore, the patch in Attachment 2247 [details] should not be pushed until this claim can be refuted and/or the more advanced driver backported into Qt3/TQt3.