kubuntu Syndicate content

» Building KDevplatform, KDevelop and the PHP plugin from Git

Fri, 03/06/2009 - 01:21

In a follow up to my last post about the PHP plugin for KDevelop and Quanta I want to detail how I setup my build environment. Since I’m only working on KDevelop I only want to compile that. For all other applications, I use the packages my distribution makes available. Below you this is possible.

Note: I use Kubuntu and hence some commands like aptitude and the package names etc. will have to be adapted to your specific distribution. But the general idea should be the same and the packages should be called at least somewhat similar. You could always take a look at the techbase article on compilation of KDE 4 to get a more general HowTo.

It is generally a very good idea to read some articles on the techbase. Especially in the Getting Started section.

getting the dependencies

First, you’ll need to install some packages to satisfy dependencies and to get a working compile chain (think cmake, gcc and stuff). The following command only lists very few packages but they have a huge list of dependencies which your package manager will take into account automatically. Don’t be suprised by a possibly huge list of packages ;-) So some disk space will be required (though I doubt it’s more than 250MB in total).

Note: You’ll need the KDE 4.2.x versions of the KDE libraries and development packages. When you use Kubuntu, you can follow this article to get up to date packages for the 8.10 release.

  1. # I hope these are all, it's been a time since I did that the last time
  2. # please report if anything is missing
  3. aptitude install kdelibs5-dev kdebase-workspace-dev \
  4. libqt4-dev build-essential subversion kdesdk-scripts \
  5. bison flex
removing old cruft

To prevent binary compatibility issues that will result in crashes, you have to remove all KDevelop & KDevplatform packages provided by your package maintainer. In karmic it should be enough to remove kdevplatform, and it will remove all dependent packages:

  1. aptitude purge kdevplatform libsublime
setting up your environment

Inspired by the techbase article on improved productivity in KDE4, particularly the bashrc listed there, I’ve come up with the following way to configure my system:

First visit my shell helper git repo on GitHub and download the two files kde4_setup_build_environment.sh and bash_setup_kde4_programming.

set the environment variables

Move the file kde4_setup_build_environment.sh to ~/.kde/env and make it executable. You might want to adapt the paths for the variables KDE_BUILD, KDE_SRC and KDEDIR inside that file to your likings.

This part is required to make sure that compiled programs will act just like normal programs installed globally (e.g. with your package manager) right from the start of your KDE session. I.e. KRunner works fine and custom plugins are found etc.

make your life easier with some bash magic

Now alter your ~/.bashrc and to the bottom of that file add the following line:

  1. . ~/.bash_setup_kde4_programming

NOTE: This assumes that you saved the afore mentioned bash_setup_kde4_programming file to ~/.bash_setup_kde4_programming. You might have to change the path.

NOTE: That file also sources the above script to set the environment variables. I’m not sure it’s required, but it doesn’t hurt. So make sure the path is correct there.

Now to the fun part

Once all that’s done, you have to log out of your bash session to get the environments. Maybe even logout of your KDE session to make it aware of the new paths as well.

checking out KDevplatform, KDevelop and the PHP plugin

Get the latest and greatest directly from Git Master (see also git.kde.org Manual on techbase). But first make sure you setup the Git URL prefixes, by putting the following into your ~/.gitconfig file:

  1. [url "git://anongit.kde.org/"]
  2. insteadOf = kde:
  3. [url "git@git.kde.org:"]
  4. pushInsteadOf = kde:

Now checkout the sources:

  1. cs # cs is not a typo! see above
  2. git clone kde:kdevplatform
  3. git clone kde:kdevelop
  4. # if you only want KDevelop, you can stop here. The rest is for PHP
  5. git clone kde:kdevelop-pg-qt
  6. git clone kde:kdev-php
  7. git clone kde:kdev-php-docs
compiling and installing

Now it’s time to compile all that code you just checked out. Hopefully you got all required dependencies. If you need all bells and whistles, you’ll have to install some more packages I’m sure. If you run the code below, take a good look at the output of the cmakekde command (especially at the beginning). It lists not-found dependencies.

Note: cmakekde is supposed to be run from inside your source folder (e.g. cs $FOLDER; cmakekde).

  1. for p in kdevplatform kdevelop kdevelop-pg-qt php php-docs; do
  2. cs $p
  3. cmakekde
  4. done;
  5. kbuildsycoca4 # make sure new plugins etc. are found

Pretty easy, hum? Let’s hope everything worked fine :)

staying up to date

That above command is only required once. Everytime after that, you can simply do the following which will make sure you are running the latest and greatest:

  1. for p in kdevplatform kdevelop kdevelop-pg-qt php php-docs; do
  2. cs $p
  3. git pull --rebase && make install
  4. done
The End

Hope I have not forgotten anything and that this (rather lengthy…) HowTo is of some help to a few of you out there. Looking forward to feature requests, bug reports etc.

UPDATE 30/03/11: updated to git.kde.org location

UPDATE 18/05/10: updated to include kdevelop-pg-qt, introduced for loops in setup snippets

UPDATE 07/05/10: updated to git locations

UPDATE 08/01/10: updated to extragear location of php & php-docs

UPDATE 01/12/09: added php-docs, updated to extragear location of kdevplatform & kdevelop.

UPDATE 17/12/09: updated to kdereview location of php & php-docs

» LinuxTag Day One

Wed, 05/28/2008 - 15:29

Like last year I’m again standing at the Kubuntu Community booth at this years LinuxTag. Just now I’ve attended the keynote held by Aaron Seigo, ambassador of the KDE project. It was a very interesting talk which covered topics like Internet-Mobile-Desktop interaction, security, effects, Nokia and more. The most important parts roughly listed are:

  • you’ll one day be able to use the same (KDE) applications everywhere - Marble and Plasma for example already just compile and work on mobile devices
  • the internet will get much more embedded into your everyday applications. Marble with OpenStreetMap & Wikipedia support or Amarok with its storage backends (Lastfm, Jamendo etc. etc.) are good examples in this regard.
  • KDE4 is much more accessible than KDE3 thanks to QAccessible
  • security and privacy is not forgotten! This is free software, don’t forget that. Plasma Applet packages will get GPG signed (just like the DEB packages in Apt). And you have control over what data is send where - no Stasi 2.0 here!
  • Nokia is actively supporting KDE, fear not! And of course never underestimate the power of the Free Qt Foundation.

All in all it was a very good presentation with good questions - very informative! I’m totally going to check out kde4daily now - KDE 4.1 is impressive!

Just on a sidenote: LinuxTag is going well but Kubuntu and Ubuntu did not get any CDs shipped by Canonical which is a shame of course… Nevertheless the social aspect of this fair is awesome again - you get to know so many people and meet some which you’ve talked to over IRC for ages. Yesterday we went to a bar at Hackescher Markt with the KDE and Amarok guys and had a few beers, tomorrow will be the social event, which was absolutely humongous (to use a word Aaron teached me yesterday ;-) ) last year. And on Friday we’ll go to a restaurant with the Trolls (just like last year - thanks for the invitation!) and maybe go into a Karaoke Bar afterwards. Great! And of course on Saturday there is a Ubuntu Grill at the C-Base, organized by Ubuntu Berlin - neat! Last year that was a great finishing to a good fair.

If anybody wants to drop by we are in hall 7.2b, booth 124 (together with Amarok). If you need a free ticket, just send me an email (mail@milianw.de). See you here!

» LinuxTag 2007 - it's over

Mon, 06/04/2007 - 21:17

Oh no, it’s over! No more LinuxTag for at least a year. It was such a good event, I can’t tell you!

I’ve been standing at the Kubuntu-De.org booth with czessi, \sh, serenity, coastgnu, emonkey and monika and it was a pleasure working with them! It’s great to get to know all those people from irc in real life! Additionally we had support by the Amarok team (gnux, sven423 and nightrose) and especially apachelogger - a loud howl goes out to you guys (and gal nightrose)!

Apachelogger and Emonkey Emonkey, Serenity, Sven and Gnux

But I must not forget our booth neighbours: Ubuntu, linux4africa / Edubuntu and OpenOffice - thank you so much, I looking forward to share a booth place with you again sometime! A thanks in particular goes out to linux4africa for sharing their coffee machine with us - I fear I would have fallen asleep otherwise ;-) And thanks to O’Reilly for giving away free beer, there is nothing better when you have a hangover…

Hangover at the LinuxTag? Yes! It seems like we nerds and geeks now how to drink: Pretty much every night I went to a bar or something with my fellow kubunteros and amaroks, it was so much fun talking and drinking with you! The LinuxNacht social event in particular has been a very great event — we stayed until the beer was empty and the vins (including Jono Bacon) started dancing! Also a huge thanks to Trolltech for inviting us to dinner at Friday - and thanks for the cute shirt ;-)

Last but not least I want to thank hacktick and bullgard4 for planning the Ubuntu BBQ which was also a huge success for ubuntu-berlin in my eyes. Yes, we should have had more food but hey - who should we know that so many people would come?

I think it is not very suprising anymore that I got an average of 3 to 5 hours of sleep each day. Sure it was damn exhausting but that’s nothing to how much fun I had - the first six days in a row I could make geek jokes and people around me not only understood them but also laughed about them!

PS: A special thanks goes out to czessi for putting so much effort in the LinuxTag - without you my experience and that of the others would not have been that straightforward and easy!

» LinuxTag and RealLife

Tue, 05/29/2007 - 17:46

Today started the LinuxTag for me with some construction work on the Kubuntu Community booth. It’s interesting to see how such a conference is being set up.
If you come to visit the LinuxTag drop by for a talk about Kubuntu! We are at booth 12/36.

In other news I was looking for a job and just today got a confirmation of Systematrix. I’ll start next week and the working conditions are great. Seems like my RealLife (TM) is working pretty good now, lets see how it evolves with becoming a student later this year.