Comments you submit will be routed for moderation. If you have an account, please log in first.
Modify

Ticket #71 (closed: fixed)

Opened 7 years ago

Last modified 7 years ago

Build stop svn 745

Reported by: Nick Owned by: alwin
Priority: normal Milestone: 0.8.x
Component: All Version: 0.8.x
Severity: block Keywords: RESOLVED
Cc:

Description

Unable to build latest svn 745

ADDITIONAL INFORMATION: ...

../src/svnfrontend/.libs/libsvnfrontend.a(kdesvnfilelist.o)(.text+0x6640): In function `kdesvnfilelist::openURL(KURL const&, bool)': : undefined reference to `svn::Revision::operator==(svn_opt_revision_kind)' ../src/svnfrontend/.libs/libsvnfrontend.a(commandexec.o)(.text+0x1cbe): In function `CommandExec::exec()': : undefined reference to `svn::Revision::operator!=(svn_opt_revision_kind)' ../src/svnfrontend/.libs/libsvnfrontend.a(commandexec.o)(.text+0x4390): In function `CommandExec::slotCmd_log()': : undefined reference to `svn::Revision::operator==(svn_opt_revision_kind)' ../src/svnfrontend/.libs/libsvnfrontend.a(commandexec.o)(.text+0x43b3): In function `CommandExec::slotCmd_log()':

... ...

Attachments

Change History

comment:1 Changed 7 years ago by Nick

  • Owner changed from anonymous to alwin
  • Status changed from new to assigned

comment:2 Changed 7 years ago by Nick

I can get around this (and it builds/works fine) by reverting changes in ./src/svnqt/revision.cpp - .hpp to 744.

BTW, this is a truly excellent application! Thanks.

Nick

comment:3 Changed 7 years ago by Nick

That is the added 'const' changes, I mean...

comment:4 Changed 7 years ago by alwin

make a "clean" before should help (I had to change the interface 'cause wrong)

Here it builds fine (gcc 4)

comment:5 Changed 7 years ago by Nick

Ummm. No, I can't build unless I revert those changes.

GCC 3.3.4

Here is how I build (trunk/ directory is virgin svn code):

cp -R trunk/ build/ cd build make -f Makefile.cvs ./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.4 make clean <------ added from advice

...

make

... /bin/sh ../libtool --silent --tag=CXX --mode=link g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -march=athlon-tbird -Wformat-security -Wmissing-format-attribute -fno-check-new -fno-common -fexceptions -o libkdesvnpart.la -rpath /home/nick/kde3.5.2n/lib/kde3 -avoid-version -module -avoid-version -module -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefined -R /home/nick/kde3.5.2n/lib -R /usr/lib/qt/lib -R /usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib/qt/lib -L/home/nick/kde3.5.2n/lib kdesvn_part.lo kdesvnview.lo commandline_part.lo ../src/svnqt/libsvnqt.la ../src/svnfrontend/libsvnfrontend.la ../src/helpers/libhelper.la -L/usr/local/lib -lsvn_client-1 -lsvn_wc-1 -lsvn_ra-1 -lsvn_delta-1 -lsvn_subr-1 -L/usr/local/apr/lib -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl -L/usr/local/apr/lib -laprutil-0 -lgdbm -ldb-4.2 -lexpat -lkparts -lkio -lqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread -lkdecore -lkdeui ../src/svnfrontend/.libs/libsvnfrontend.a(kdesvnfilelist.o)(.text+0x6640): In function `kdesvnfilelist::openURL(KURL const&, bool)': : undefined reference to `svn::Revision::operator==(svn_opt_revision_kind)' ../src/svnfrontend/.libs/libsvnfrontend.a(commandexec.o)(.text+0x1cbe): In function `CommandExec::exec()': : undefined reference to `svn::Revision::operator!=(svn_opt_revision_kind)' ../src/svnfrontend/.libs/libsvnfrontend.a(commandexec.o)(.text+0x4390): In function `CommandExec::slotCmd_log()': ... ...

Nick

comment:6 Changed 7 years ago by Nick

OK, after a lot of messing about, I can get it to build without the 'undefined reference' by doing this (this is just to see what the problems was - not to build a 'release' to use):

In src/svnfrontend/kdesvnfilelist.cpp

if I comment out lines 454 - 456:

if (m_pList->m_remoteRevision==svn::Revision::UNDEFINED) {

m_pList->m_remoteRevision = svn::Revision::HEAD; }

and then in src/svnfrontend/commandexec.cpp

comment out lines 252 - 255:

if (re != svn::Revision::UNDEFINED) { kdDebug()<<"Revision " << re << " gefunden. " << endl; m_pCPart->extraRevisions[j-2]=re; }

lines 303 - 308:

if (m_pCPart->end == svn::Revision::UNDEFINED) { m_pCPart->end = svn::Revision::HEAD; } if (m_pCPart->start == svn::Revision::UNDEFINED) { m_pCPart->start = 1; }

and finally lines 335 - 340:

if (m_pCPart->end == svn::Revision::UNDEFINED) { m_pCPart->end = svn::Revision::HEAD; } if (m_pCPart->start == svn::Revision::UNDEFINED) { m_pCPart->start = 1; }

this will now build OK (but I expect is unusable). So for some reason my system doesn't like the svn::Revision::UNDEFINED bit??

I am a bit confused here - as I build KDE all from source, I recently built QT3.3.6 from source, all OK - so if I did have some sort of GCC issue, you would think it would show doing that?

[confused] Nick

comment:7 Changed 7 years ago by Nick

Quick update on this - I installed GCC3.4.0 from Slack 10 test, and rolled back binutils to same [Slack] version. As an aside I then had to rebuild kernel to update new nVidia driver (wrong GCC now for modules).

Everything builds fine.

So, I can build:

KDE3.5.2 QT3.3.6 Linux 2.6.15.6 (C) nVidia 1.0-8756

But I still get the same build error in kdesvn? Any ideas what is going on?

Nick

comment:8 Changed 7 years ago by alwin

did you install the header files of svnqt? is it possible, that it includes the wrong headerfiles? (eg, exists a /usr/include/svnqt?) Seems, that it include the older stuff where the method definition is wrong.

comment:9 Changed 7 years ago by Nick

Thats it! I found it.

OK, I had a revision.hpp in my KDEDIR/include/svnqt/revision.hpp* Now, when it wouldn't build I found removing the 'const' from the bool operator lines fixed it. I then upgraded GCC etc. and it still failed - BECAUSE that revision.hpp file was now wrong (I was changing the revision.hpp in kdesvn)!

I have just changed back, and NOW all builds clean and properly!

Thanks for help!

Nick I have: /home/nick/kde3.5.2n/include/svnqt/revision.hpp /usr/local/include/svncpp/revision.hpp

comment:10 Changed 7 years ago by Nick

OK, I have looked at what happened, so here is exactly the issue in case somebody else gets similar problem.

My upgraded GCC and ld was not quiet right (I don't know why), so the new build failed with the 'const' issue as reported.

After analysis I edited revision.cpp and revision.hpp to revert 744 -> 745 changes. This then all built OK and installed fine... BUT this install placed the reverted revision.hpp into KDEDIR/include/svnqt/revision.hpp.

Now, I rolled back out the dodgy GCC/ld and installed latest Slackware GCC and ld for my system.

Build now still failed as KDEDIR/include/svnqt/revision.hpp was wrong version, and as I couldn't build, I couldn't install to place correct revision.hpp into place.

Fixing this file then allowed build and install to work.

Quick question... why does it look in KDEDIR/include/svnqt/ for headers at build anyway?

Nick P.S. this bug can be closed.

comment:11 Changed 7 years ago by alwin

Have no idea why it looks into wrong path, I'll check this next days, may some variables inside buildsystem are wrong.

comment:12 Changed 7 years ago by alwin

  • Keywords RESOLVED added
  • Status changed from assigned to closed
  • Resolution set to fixed
  • Milestone set to 0.8.x

ok, seems that I forgot to add the right includepath into buildsystem on some places. It is fixed in branch rel_0_8, later on I merge it back into trunk.

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.

Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.

Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei Ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Politikern schützt.

Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.

Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.

Mehr Informationen unter www.politiker-stopp.de.