building kompare from svn
Kevin Kofler
kevin.kofler at chello.at
Fri Oct 22 00:10:39 CEST 2010
On Tuesday 19 October 2010, Yngve Inntjore Levinsen wrote:
> I am trying to build kompare from svn, but I am not succeeding. I do not
> find installation instructions on your web page (
> http://www.caffeinated.me.uk/kompare/ ), only where to find your svn
> repository. I tried to download this and use cmake (which I am fairly used
> to), but it does not build.
Well, the web page you found does not tell the whole story about Kompare.
So what happens is that there are 2 main branches of Kompare:
1. the kdesdk trunk, from which KDE release branches are cut (and releases are
then tagged from those branches). This is basically a straight KDE 4 port of
the same old codebase we shipped in 3.x, I did this in a rush to keep Kompare
from getting dropped for 4.0.0, seeing how 3_way_kompare (see below) wasn't
getting ready in time. Doing the port is what earned me the status of
maintainer for Kompare, though admittedly I'm not doing as good a job at it as
I'd like to. I'm keeping the trunk in shape, basically fixing bugs (or at least
trying to), Otto Bruggeman (a former maintainer of Kompare) has also recently
fixed a bunch of bugs, but none of us has time to develop new features.
2. the 3_way_kompare branch, which is pointed to by the web page you found.
That branch is basically a one-man show by Jeff Snyder (je4d in KDE SVN), the
person who put up that web page, who is semi-actively maintaining it. At the
time Kompare was to be dropped from the first KDE 4 release (which is when I
stepped in to resurrect the original codebase in the trunk), this branch was
in a very sorry state and didn't even compile. When I resurrected the trunk, I
also fixed 3_way_kompare to at least build (but keep in mind that that was in
4.0.0 era, so there might be some new breakage from newer Qt and kdelibs), but
it needed a lot of work to get into shape, so I decided to focus on what
worked to get something running quickly (time was running really short for
4.0.0 and nobody else was interested in saving Kompare from the impending
removal). In the meantime, Jeff Snyder made some improvements, so I'm not sure
of the current status. (There may or may not still be significant regressions
from the trunk.) If you're interested in this branch, I'd suggest contacting
Jeff Snyder directly (I CCed him to this mail). Just be aware that, at least
last I checked, the branch does not actually have 3-way functionality yet.
As for which branch to focus on, that's a tough question. The trunk is what
currently ends up in the releases, but the long-term goal of 3_way_kompare is
to replace the current trunk. (Whether it'll actually achieve this is an open
question.) Not all changes from the trunk have been merged into the branch
(Jeff Snyder merged some changes, but I'm not sure he caught all of them; in
any case, the most recent ones are definitely missing), nor have all the branch
changes been merged into the trunk (I merged some of them: a clean
implementation of the splitter using the new features of the Qt 4 QSplitter
instead of the old hack of the Qt 3 QSplitter, a "refresh diff" menu entry and
one or two bugfixes). If we want 3_way_kompare to become the new trunk, we need
to make sure that all the improvements done on the trunk land in the branch.
If on the other hand we want to just cherry-pick improvements from
3_way_kompare into the current trunk, there is probably more stuff in
3_way_kompare worth merging. The problem is that not all of the improvements
in 3_way_kompare are finished.
> Could someone point me to installation instructions? Thanks!
So in short, you need to have kdelibs installed, along with the files needed
for software development (which are often in a separate package, e.g. kdelibs-
devel on Fedora). Then, for the 3_way_kompare branch, you should only need to
build it like any other CMake-using package? What errors do you get? The
trunk, on the other hand, is part of kdesdk, and so you'll want to run cmake
on the whole kdesdk directory. You can then run make only for the kompare
subdirectory if you don't want to build all of kdesdk.
Kevin Kofler
More information about the Kompare-devel
mailing list