Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug
Bug#: 235356
Alias:
Product:
Component:
Status: RESOLVED
Resolution: FIXED
Assigned To: George Shapovalov <george@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: Urriellu <dev@urriellu.net>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
kdesvn-1.0.1.ebuild kdesvn-1.0.1.ebuild text/plain Theo Chatzimichos 2008-09-10 09:29 0000 1.36 KB Details
kdesvn-1.0.1-linkage.patch linkage patch added patch Maciej Mrozowski 2008-09-11 01:28 0000 562 bytes Details | Diff
kdesvn-1.0.1.ebuild ebuild fixed (patch added) text/plain Maciej Mrozowski 2008-09-11 01:31 0000 1.35 KB Details
kdesvn-1.0.1.ebuild kdesvn ebuild with linkage patch and sqlite as strict dependency (sqlite USE flag removed) text/plain Maciej Mrozowski 2008-09-11 01:57 0000 1.33 KB Details
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 235356 depends on: Show dependency tree
Bug 235356 blocks:
Votes: 1    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.






View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2008-08-21 10:26 0000
kdesvn-1.0.0 has been released

Reproducible: Always

Steps to Reproduce:

------- Comment #1 From George Shapovalov 2008-09-06 00:01:12 0000 -------
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 From George Shapovalov 2008-09-06 00:15:31 0000 -------
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 From George Shapovalov 2008-09-07 17:03:47 0000 -------
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 From Theo Chatzimichos 2008-09-10 09:29:28 0000 -------
Created an attachment (id=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 From Urriellu 2008-09-10 11:06:24 0000 -------
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 From George Shapovalov 2008-09-10 11:16:34 0000 -------
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 From Theo Chatzimichos 2008-09-10 11:35:01 0000 -------
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 From George Shapovalov 2008-09-10 14:08:27 0000 -------
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 From George Shapovalov 2008-09-10 20:39:06 0000 -------
For the record: setting MOC to moc of qt3 or setting qt3 bin folder up front in
PATH does not change anything..

------- Comment #10 From George Shapovalov 2008-09-10 20:51:17 0000 -------
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 From Maciej Mrozowski 2008-09-11 00:33:08 0000 -------
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 From Maciej Mrozowski 2008-09-11 01:28:46 0000 -------
Created an attachment (id=165180) [details]
linkage patch added

------- Comment #13 From Maciej Mrozowski 2008-09-11 01:31:03 0000 -------
Created an attachment (id=165182) [details]
ebuild fixed (patch added)

Added fixed ebuild and coresponding patch. Test and/or have fun.

------- Comment #14 From Maciej Mrozowski 2008-09-11 01:57:51 0000 -------
Created an attachment (id=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 From Urriellu 2008-09-11 07:54:28 0000 -------
As Maciej said, it worked fine (using the old ebuild) after removing the old
version and then compiling kdesvn-1.0.1

------- Comment #16 From George Shapovalov 2008-09-11 19:26:15 0000 -------
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 From George Shapovalov 2008-09-11 19:56:36 0000 -------
(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 From Maciej Mrozowski 2008-09-13 16:21:32 0000 -------
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.

Bug List: (This bug is not in your last search results)   Show last search results      Search page      Enter new bug