Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 235356 - dev-util/kdesvn-1.0.0 version bump
Summary: dev-util/kdesvn-1.0.0 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal with 1 vote (vote)
Assignee: George Shapovalov (RETIRED)
URL: http://kdesvn.alwins-world.de/trac.fc...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-21 10:26 UTC by Urriellu
Modified: 2008-09-13 16:21 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
kdesvn-1.0.1.ebuild (kdesvn-1.0.1.ebuild,1.36 KB, text/plain)
2008-09-10 09:29 UTC, Theo Chatzimichos (RETIRED)
Details
linkage patch added (kdesvn-1.0.1-linkage.patch,562 bytes, patch)
2008-09-11 01:28 UTC, Maciej Mrozowski
Details | Diff
ebuild fixed (patch added) (kdesvn-1.0.1.ebuild,1.35 KB, text/plain)
2008-09-11 01:31 UTC, Maciej Mrozowski
Details
kdesvn ebuild with linkage patch and sqlite as strict dependency (sqlite USE flag removed) (kdesvn-1.0.1.ebuild,1.33 KB, text/plain)
2008-09-11 01:57 UTC, Maciej Mrozowski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Urriellu 2008-08-21 10:26:08 UTC
kdesvn-1.0.0 has been released

Reproducible: Always

Steps to Reproduce:
Comment 1 George Shapovalov (RETIRED) gentoo-dev 2008-09-06 00:01:12 UTC
well 1.0.1 is out already. however it all is not that simple. I get this trying to simply bump it:

[ 18%] Building CXX object src/svnqt/CMakeFiles/svnqt.dir/cache/LogCache.o
In file included from /var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:5:
/usr/qt/3/include/qsqldatabase.h:67: warning: ‘class QSqlDriverCreatorBase’ has virtual functions but non-virtual destructor
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:71: error: ‘QMutex’ does not name a type
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:308: error: ISO C++ forbids declaration of ‘QThreadStorage’ with no type
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:308: error: expected ‘;’ before ‘<’ token
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp: In destructor ‘svn::cache::LogCacheData::~LogCacheData()’:
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:76: error: ‘m_mainDB’ was not declared in this scope
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp: In member function ‘QString svn::cache::LogCacheData::createReposDB(const svn::Path&)’:
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:144: error: ‘QMutexLocker’ was not declared in this scope
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:144: error: expected `;' before ‘locker’
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp: In member function ‘QSqlDatabase* svn::cache::LogCacheData::getReposDB(const svn::Path&)’:
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:233: error: ‘m_mainDB’ was not declared in this scope
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:264: error: ‘m_mainDB’ was not declared in this scope
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp: In member function ‘QSqlDatabase* svn::cache::LogCacheData::getMainDB() const’:
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:271: error: ‘m_mainDB’ was not declared in this scope
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:288: warning: format not a string literal and no format arguments
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:296: error: ‘m_mainDB’ was not declared in this scope
/usr/qt/3/include/qsqldatabase.h: At global scope:
/usr/qt/3/include/qsqldatabase.h: In instantiation of ‘QSqlDriverCreator<QSQLite3Driver>’:
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:370:   instantiated from here
/usr/qt/3/include/qsqldatabase.h:74: warning: ‘class QSqlDriverCreator<QSQLite3Driver>’ has virtual functions but non-virtual destructor
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp: In member function ‘void svn::cache::LogCache::setupMainDb()’:
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:376: warning: format not a string literal and no format arguments
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:390: warning: format not a string literal and no format arguments
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp: In member function ‘QStringList svn::cache::LogCache::cachedRepositories() const’:
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/src/svnqt/cache/LogCache.cpp:446: warning: format not a string literal and no format arguments
make[2]: *** [src/svnqt/CMakeFiles/svnqt.dir/cache/LogCache.o] Помилка 1
make[1]: *** [src/svnqt/CMakeFiles/svnqt.dir/all] Помилка 2


This is with the patch for 0.14.4 disabled, however symptomatics here are totally different. It looks like it tries to build against unsupported qt version, perhaps qt-4, while kdesvn apparently only supports qt-3 so far (according to bump notes on its homepage)..

I'll try to get to this some time soon, stay tuned. However, meanwhile, any suggestions are appreciated :).
Comment 2 George Shapovalov (RETIRED) gentoo-dev 2008-09-06 00:15:31 UTC
Well, looks like this is not 1.0.1 specific, as now (trying to process bug #219503 and bug #224235) I get:

Scanning dependencies of target svnfrontend
[ 75%] [ 75%] Building CXX object src/svnfrontend/CMakeFiles/svnfrontend.dir/ccontextlistener.o
Building CXX object src/svnfrontend/CMakeFiles/svnfrontend.dir/commandexec.o
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp:45: error: ‘QMutex’ does not name a type
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp: In constructor ‘CContextListenerData::CContextListenerData()’:
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp:51: error: class ‘CContextListenerData’ does not have any field named ‘m_CancelMutex’
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp: At global scope:
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp:172: warning: unused parameter ‘mime_type’
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp:172: warning: unused parameter ‘prop_state’
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp: In member function ‘virtual bool CContextListener::contextCancel()’:
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp:210: error: ‘QMutexLocker’ was not declared in this scope
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp:210: error: expected `;' before ‘lock’
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp: In member function ‘virtual void CContextListener::setCanceled(bool)’:
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp:302: error: ‘QMutexLocker’ was not declared in this scope
/var/tmp/portage/dev-util/kdesvn-0.14.4/work/kdesvn-0.14.4/src/svnfrontend/ccontextlistener.cpp:302: error: expected `;' before ‘lock’
make[2]: *** [src/svnfrontend/CMakeFiles/svnfrontend.dir/ccontextlistener.o] Помилка 1
make[2]: *** Очікування завершення завдань...

This is likely either new qt version or new cmake version (IIRC both were recently updated)..
Comment 3 George Shapovalov (RETIRED) gentoo-dev 2008-09-07 17:03:47 UTC
A short update:
0.14.4 just got stabilized, which means it did build fine on arh's systems, whih means it is Ok as far as stable profile is concerned, meaning it is a problem with some recent changes to the tree. However, so far, I was unable to find out just what. I tried downgrading cmake to 2.6.0 or building 2.6.1 with -qt4 (flag was just added) only to hit the same error..
Comment 4 Theo Chatzimichos (RETIRED) archtester gentoo-dev Security 2008-09-10 09:29:28 UTC
Created attachment 165089 [details]
kdesvn-1.0.1.ebuild

after a million tests this one finally compiles. i'm now trying to change src_compile in order to use cmake-utils.eclass
Comment 5 Urriellu 2008-09-10 11:06:24 UTC
It doesn't compile here (amd64)

[...]
ccontextlistener.cpp:(.text+0x8ae): undefined reference to `vtable for svn::ContextListener'
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libsvnfrontend.a(ccontextlistener.o):ccontextlistener.cpp:(.text+0x92a): more undefined references to `vtable for svn::ContextListener' follow
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libsvnfrontend.a(ccontextlistener.o):(.data.rel.ro._ZTV16CContextListener[vtable for CContextListener]+0x1c0): undefined reference to `svn::ContextListener::contextConflictResolve(svn::ConflictResult&, svn::ConflictDescription const&)'
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libsvnfrontend.a(ccontextlistener.o):(.data.rel.ro._ZTI16CContextListener[typeinfo for CContextListener]+0x28): undefined reference to `typeinfo for svn::ContextListener'
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libsvnfrontend.a(revisiontree.o): In function `RtreeData::getLogs(QString const&, svn::Revision const&, svn::Revision const&, QString const&)':
revisiontree.cpp:(.text+0x320): undefined reference to `svn::Url::isLocal(QString const&)'
revisiontree.cpp:(.text+0x34b): undefined reference to `svn::StringArray::StringArray()'
revisiontree.cpp:(.text+0x44e): undefined reference to `svn::cache::ReposLog::ReposLog(svn::Client*, QString const&)'
revisiontree.cpp:(.text+0x458): undefined reference to `svn::cache::ReposLog::isValid() const'
revisiontree.cpp:(.text+0x495): undefined reference to `svn::StringArray::StringArray()'
revisiontree.cpp:(.text+0x628): undefined reference to `svn::cache::ReposLog::simpleLog(QMap<long, svn::LogEntry>&, svn::Revision const&, svn::Revision const&, bool)'
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libsvnfrontend.a(modifiedthread.o): In function `CheckModifiedThread::run()':
modifiedthread.cpp:(.text+0x95): undefined reference to `svn::StringArray::StringArray()'
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libsvnfrontend.a(propertiesdlg.o): In function `PropertiesDlg::initItem()':
propertiesdlg.cpp:(.text+0x200d): undefined reference to `svn::StringArray::StringArray()'
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libsvnfrontend.a(tcontextlistener.o):(.data.rel.ro._ZTV21ThreadContextListener[vtable for ThreadContextListener]+0x1f8): undefined reference to `svn::ContextListener::contextConflictResolve(svn::ConflictResult&, svn::ConflictDescription const&)'
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libkdesvnhelpers.a(sub2qt.o): In function `helpers::sub2qt::DateTime2qtString(svn::DateTime const&)':
sub2qt.cpp:(.text+0x55): undefined reference to `svn::DateTime::operator QDateTime const&() const'
/var/tmp/portage/dev-util/kdesvn-1.0.1/work/kdesvn-1.0.1/lib64/kde3/libkdesvnhelpers.a(sub2qt.o): In function `helpers::sub2qt::apr_time2qtString(long)':
sub2qt.cpp:(.text+0xad): undefined reference to `svn::DateTime::operator QDateTime const&() const'
collect2: ld returned 1 exit status
make[2]: *** [lib64/kde3/libkdesvnpart.so] Error 1
make[1]: *** [src/CMakeFiles/kdesvnpart.dir/all] Error 2
make: *** [all] Error 2
Comment 6 George Shapovalov (RETIRED) gentoo-dev 2008-09-10 11:16:34 UTC
Hm, it just did for me, but the only change I see is that sqlite was added as an optional dep (and I already have it installed), which should not have any effect.. Quite weird. 
BTW, Uriellu: you apparently have exact same issue that I had before. Please, try to recall what exactly you have upgraded lately on your system. Also, please try upgrading onece again, running revdep-rebuild and trying kdesvn again. I'll do some more tests to see if I can now build the previous (0.14.4) version and rebuild the 1.0.1..
Comment 7 Theo Chatzimichos (RETIRED) archtester gentoo-dev Security 2008-09-10 11:35:01 UTC
George, if you take a closer look you'll see that i commented the src_unpack function which might be the solution.
also i had to recompile subversion (don't know why) v.1.5.1
tested with cmake 2.4.6-r1 and 2.6.1
Comment 8 George Shapovalov (RETIRED) gentoo-dev 2008-09-10 14:08:27 UTC
A short update after discussing on irc with Theo and trying a few things.
Theo claims that rebuilding subversion helped him to make kdesvn-1.0.1 compile and he does not have issue with 0.14.4. I can now compile 1.0.1, but have issue with 0.14.4 and rebuilding subversion does not help, no matter what combination of flags I try (tried +- apache2 webdav-serf and webdav-neon I tried earlier (wrt DEPEND issue)).

Uriellu: do you have a problem with 0.14.4 or only 1.0.1? BTW, kdesvn apparently uses "bad practices" and gcc-4.3 complains a lot. You'll get way less warnings (and output resembling mine) if you activate gcc-4.2 for building kdesvn. This (changing gcc version) does not have any effect on this issue either btw..
Comment 9 George Shapovalov (RETIRED) gentoo-dev 2008-09-10 20:39:06 UTC
For the record: setting MOC to moc of qt3 or setting qt3 bin folder up front in PATH does not change anything..
Comment 10 George Shapovalov (RETIRED) gentoo-dev 2008-09-10 20:51:17 UTC
Got it!
In fact this was already covered in my own bug earlier. Well, Ok, that was about 2 years ago and it was pretty much the first time I touched kdesvn :).
Anyway, the fix is in, should build now for those for whom it was failing. This is for 0.14.4, tomorrow I'll add 1.0.1. I am not sure though whether I should retain this fix for 1.0.1, as it seems to build fine now for me even without it. On the other hand it seems to fail for Urriellu, so, can you please confirm, that it still fails for you?
Comment 11 Maciej Mrozowski gentoo-dev 2008-09-11 00:33:08 UTC
Compilation using this ebuild fails for me on amd64 stable setup (the same reason as posted above).
BUT... if you manually remove previous kdesvn-0.14.x instance or try to reemerge again the same version of kdesvn - it now works!

It's very strange - seems like somewhere in CMakeFiles.txt there is a linking reference to some of kdesvn helper libraries badly done - most certainly there is -lsomeLibrary instead CMake subproject reference in CMakeFiles.txt.

I guess, that there must be LD_LIBRARY_PATH not set in the script, so that system version of that library (if present) actually shadows project one (those library having been recently compiled) - thus causing "unresolved externals" during the build, when some symbols are not present (this is often the case when compiling newer version on any code).

That's my guess - this should be sent upstream as there were already such problems with kdesvn.

(sorry for possible English mistakes)
Comment 12 Maciej Mrozowski gentoo-dev 2008-09-11 01:28:46 UTC
Created attachment 165180 [details, diff]
linkage patch added
Comment 13 Maciej Mrozowski gentoo-dev 2008-09-11 01:31:03 UTC
Created attachment 165182 [details]
ebuild fixed (patch added)

Added fixed ebuild and coresponding patch. Test and/or have fun.
Comment 14 Maciej Mrozowski gentoo-dev 2008-09-11 01:57:51 UTC
Created attachment 165183 [details]
kdesvn ebuild with linkage patch and sqlite as strict dependency (sqlite USE flag removed)

kdesvn doesn't want to compile without sqlite installed, so I removed sqlite USE flag and added it as dependency
Comment 15 Urriellu 2008-09-11 07:54:28 UTC
As Maciej said, it worked fine (using the old ebuild) after removing the old version and then compiling kdesvn-1.0.1
Comment 16 George Shapovalov (RETIRED) gentoo-dev 2008-09-11 19:26:15 UTC
I've added sqlite as hard dependency to 0.14.4. 

As for the other patch, 1.0.1 seems to build fine here even with 0.14.4 installed. The issue of kdesvn build failing when older version was installed is not a new one (see e.g. bug #150144, that issue was fixed for a while however), but this one is different. The ${LIB_SUFFIX} in the proposed patch simply turns lib into lib64 or lib32 (I presume), which should have no effect if the system is set up "properly". That it was failing on yours means, most likely, that you have your /lib* dirs messed up or, at least, not how they are supposed to be (lib32 and lib64 being real dirs where everything gets installed and lib being a symlink pointing to one or the other), probably as a result of using an old install based on some old profile (but this multilib transition happened at least two years ago IIRC).

Anyway, the patch should be harmless where it is not necessary and might help in some cases, so I'll add it to the 1.0.1 version. Stand by for kdesvn-1.0.1 hitting the tree soon :).
Comment 17 George Shapovalov (RETIRED) gentoo-dev 2008-09-11 19:56:36 UTC
(In reply to comment #16)
> That it was failing on yours means, most
> likely, that you have your /lib* dirs messed up or, at least, not how they are
> supposed to be 
... or, I suspect, it might be an issue on non-multilib systems (I haven't seen emerge --info for these cases)..

Anyway, I just added 1.0.1 to the tree, with this patch. Enjoy!
Closing the bug.
Comment 18 Maciej Mrozowski gentoo-dev 2008-09-13 16:21:32 UTC
The problem with ${LIB_SUFFIX} was, that this suffix have not been added everywhere (in work/kdesvn-1.0.1/CMakeLists.txt) when needed - it was added to some -L definitions but to not all of them - resulting -L/var/tmp/..etcetera.../src/lib to be appended to gcc instead of -L/var/tmp/..etcetera.../src/lib64 on amd systems, the former path didn't contain recently build helper .so's, resulting build system looking for them in -L/usr/lib/ and -L/usr/lib64 - and having found those from previous install... the patch is safe.