You are using an obsolete web browser, or you have the page styles (CSS) disabled. You'll be able to access this site, but only a visually simplified version.

HowTo: Lancelot Install

Edit: The latest download and installation instructions are located at http://lancelot.fomentgroup.org/download

Since there were a couple of reported problems related to L installation, I decided to write a small how-to. The most peculiar thing was that ‘make install’ didn’t install any binaries. Thanks to the help of Jone Marius Vignes, the problem was hunted down and killed :)

Prerequisites

  • Subversion client
  • Python >=2.5 (needed only at compile time)
  • Qt4 and KDE 4.1 or trunk development libraries (kdelibs and libplasma)
  • cmake

Download

If you have the KDE 4.1.x, do the following:

$ svn checkout svn://anonsvn.kde.org/home/kde/branches/work/lancelot/kde4.1-backport lancelot

And if you use the trunk

$ svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdeplasma-addons/applets/lancelot

Compile and install

Enter the directory that contains the source code (cd lancelot), and do the following:

  $ mkdir build
  $ cd build
  $ cmake ..
       -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix`
       -DCMAKE_BUILD_TYPE=release
  $ make && make install

If you plan to send me backtraces of crashes, install the KDElibs, libplasma and Qt with debugging symbols, and replace ‘release’ in above script with ‘debugfull’.

Alternatively, if you have the KDE development environment set up according to the article on the Techbase, just enter the source directory and type cmakekde

Almost there

Now just restart Plasma and add the Lancelot applet to the panel or desktop, or wherever. If the menu doesn’t show up when you click the applet, visit this link Lancelot FAQ: Troubleshooting

Have fun!

21 Comments

  1. OT: thanks for your work… is it possible to add the capability of use the same colour of plasma themes?
    now lancelot seems very beauty but totally different from the rest of kde4
    thanks

    Comment by Dass — 5 August 2008 @ 09:30 Reply to this comment

  2. @Dass
    I’ve mentioned this before… somewhere :) But there’s no reason not to mention it again.

    Lancelot uses the same theming mechanism as Plasma. So, if your Plasma theme includes a theme files needed by Lancelot, L will follow that look. Unfortunately, there are no themes that provide elements needed for L yet.

    When L reaches the 1.0 milestone, I’ll /port/ a couple of plasma themes – most probably the Oxygen and Aya (and, obviously, my plasma themes such as Slim-Glow and Glaze)

    Comment by Ivan Čukić — 5 August 2008 @ 09:40 Reply to this comment

  3. Hi.
    Can’t you just set up an openSUSE Build Service? It can generate binaries for many different distros, including Fedora and Ubuntu.

    Comment by Markus — 5 August 2008 @ 10:02 Reply to this comment

  4. Hi,
    I tried to compile it several times now but I always get:
    [ 48%] Building CXX object app/src/CMakeFiles/lancelot-menu.dir/models/OpenDocuments.o
    In file included from /home/david/build/lancelot/app/src/models/OpenDocuments.cpp:21:
    /home/david/build/lancelot/app/src/models/OpenDocuments.h:25:37: error: taskmanager/taskmanager.h: No such file or directory

    Where can I find the file taskmanager.h? Even google doesn’t now it. Is it supposed to be part of kdebase?
    Thanks, dcrabs

    Comment by dcrabs — 5 August 2008 @ 10:05 Reply to this comment

  5. thanks
    but for now, can you at least make it good for the default plasma theme? ;-)

    Comment by Dass — 5 August 2008 @ 10:05 Reply to this comment

  6. @Markus
    I could do it eventually. L is not for mass usage yet, so the barrier of having to compile it is a benefit.

    @dcrabs
    Yes task manager is in kdebase libraries, just like libplasma.

    @dcrabs
    Well, it depends on what /now/ means :)

    ATM, the priority is the code. If I find some spare time, then who knows. I have the vision of what L will look like in the default theme, but have no time to do it right now.

    Comment by Ivan Čukić — 5 August 2008 @ 10:28 Reply to this comment

  7. When I try to compile the latest kde4.1 svn version, as of 14:25 on August 05 2008, I get a make error about undefined references to Solid::Device::~Device and XOpenDisplay

    Comment by Beojan — 5 August 2008 @ 13:29 Reply to this comment

  8. Hi :)

    Thanks for the HowTo. However, I could’nt get L. to work. CMake makes some problems. Whenever I try to build makefiles I get the following:

    [quote]
    Gameaccount@localhost:~/lancelot/build> cmake .. \
    > -DCMAKE_INSTALL_PREFIX=’kde4-config –prefix’ \
    > -DCMAKE_BUILD_TYPE=release
    – The C compiler identification is GNU
    – The CXX compiler identification is GNU
    – Check for working C compiler: /usr/bin/gcc
    – Check for working C compiler: /usr/bin/gcc — works
    – Detecting C compiler ABI info
    – Detecting C compiler ABI info – done
    – Check for working CXX compiler: /usr/bin/c++
    – Check for working CXX compiler: /usr/bin/c++ — works
    – Detecting CXX compiler ABI info
    – Detecting CXX compiler ABI info – done
    CMake Error at /usr/share/cmake/Modules/FindKDE4.cmake:72 (MESSAGE):
    ERROR: cmake/modules/FindKDE4Internal.cmake not found in
    /home/Gameaccount/.kde4/share/apps;/usr/share/kde4/apps;/etc/kde4/share/apps
    Call Stack (most recent call first):
    libs/lancelot/CMakeLists.txt:5 (find_package)

    – Configuring done
    [/quote]

    Any Idea what went wrong?

    (I know, your Blog isn’t Bugzilla or something, but I guess that way of reporting an error can be useful too for the Development of L.^^)

    Thanks :)

    Comment by Burke — 5 August 2008 @ 13:53 Reply to this comment

  9. @beojan
    Try cleaning the build. Or even better rm -fR the build directory and start again. You have a linking problem there I suppose.

    @Burke
    You don’t have the KDE 4.1 development packages, or at least CMake can not find them.

    Comment by Ivan Čukić — 5 August 2008 @ 16:09 Reply to this comment

  10. it’s working here, I’m using it now. And it’s AWESOME!! thanks for the great work :D compilation went smooth as silk!

    Comment by fengshaun — 5 August 2008 @ 17:42 Reply to this comment

  11. i have same problem that beojan (debian unstable)
    http://debian.pastebin.com/m79b9ee32

    Comment by scorpio810 — 5 August 2008 @ 18:09 Reply to this comment

  12. @scorpio810
    I’m on testing so I can’t confirm this. The most probable thing is that the linker is not told that it should link to KDE’s Solid and XRender.

    Could you test whether you can compile Raptor menu?

    Comment by Ivan Čukić — 5 August 2008 @ 18:42 Reply to this comment

  13. For those of you who happen to be in (K)Ubuntu and are having trouble with taskmanager.h, install the kdebase-workspace-dev package.

    Comment by Jonathan Thomas — 5 August 2008 @ 21:20 Reply to this comment

  14. I’ve succeed to build it fine on debian sid with experimental packages for kde 4.1;

    I’ve patch CMakeLists.txt in the src dir on line 121:
    target_link_libraries(plasma_applet_lancelot_part ${PLASMA_LIBS} ${LANCELOT_LIBS} ${KDE4_KIO_LIBS} ${KDE4_SOLID_LIBS} ${X11_Xrender_LIB} ${X11_LIBRARIES} taskmanager)

    ++

    Comment by lordheavy — 6 August 2008 @ 10:44 Reply to this comment

  15. @Ivan Čukić
    solved with lordheavy
    it ‘s run vey fine and is very beauty , thanks Ivan for your great work

    Comment by scorpio810 — 6 August 2008 @ 11:43 Reply to this comment

  16. I’m also running Unstable + Experimental, but all packages available in experimental are running experimental versions (except X11, which has missing drivers in exp version)

    I managed to compile the trunk version, but not the KDE4.1 branch version. I am running Exp’s KDE packages. Oh well, the features I needed are there.

    Comment by Beojan — 6 August 2008 @ 12:21 Reply to this comment

  17. @Beojan
    Well, if you compiled the latest trunk successfully, then you have the newer libplasma than that one in 4.1. Didn’t know that experimental packages are trunk-based.

    @lordheavy
    Thanks for the patch, I’ll see to add it.

    @all
    Thanks for kind words and for testing L.

    P.S. Crashes that are occurring sometimes will soon become very rare – one cause for them is fixed (not yet in svn, though)

    Comment by Ivan Čukić — 6 August 2008 @ 13:53 Reply to this comment

  18. Hi,
    When i am trying to install it,the first command:
    export KDESVN=svn://anonsvn.kde.org/home/kde
    is ok,but the second
    svn co $KDESVN/trunk/KDE/kdeplasma-addons/applets/lancelot
    it is giving me, svn: Unknown hostname ‘anonsvn.kde.org’
    can you help me,how to solve this?

    Comment by Robsam2000 — 27 August 2008 @ 06:33 Reply to this comment

  19. @Robsam2000
    Well it’s either a network problem, or the anonsvn server was out. I’ll soon make a source package and post it on the sourceforge.

    Comment by Ivan Čukić — 27 August 2008 @ 06:41 Reply to this comment

  20. I’m trying to compile Lancelot on FreeBSD 6.3, but I get error at the very beginning:
    [ 1%] Building CXX object libs/lancelot/CMakeFiles/lancelot.dir/Global.o
    /usr/home/silver/Downloads/install/lancelot/libs/lancelot/Global.cpp: In destructor `Lancelot::Instance::Private::~Private()’:
    /usr/home/silver/Downloads/install/lancelot/libs/lancelot/Global.cpp:96: error: `virtual Lancelot::WidgetGroup::~WidgetGroup()’ is private
    /usr/home/silver/Downloads/install/lancelot/libs/lancelot/Global.cpp:246: error: within this context
    *** Error code 1

    My configure:
    $ cmake .. -DCMAKE_INSTALL_PREFIX=`/usr/local/kde4/bin/kde4-config –prefix`
    – The C compiler identification is GNU
    – The CXX compiler identification is GNU
    – Check for working C compiler: /usr/bin/gcc
    – Check for working C compiler: /usr/bin/gcc — works
    – Detecting C compiler ABI info
    – Detecting C compiler ABI info – done
    – Check for working CXX compiler: /usr/bin/c++
    – Check for working CXX compiler: /usr/bin/c++ — works
    – Detecting CXX compiler ABI info
    – Detecting CXX compiler ABI info – done
    – Looking for Q_WS_X11
    – Looking for Q_WS_X11 – found
    – Looking for Q_WS_WIN
    – Looking for Q_WS_WIN – not found.
    – Looking for Q_WS_QWS
    – Looking for Q_WS_QWS – not found.
    – Looking for Q_WS_MAC
    – Looking for Q_WS_MAC – not found.
    – Found Qt-Version 4.4.1 (using /usr/local/bin/qmake-qt4)
    – Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so;/usr/local/lib/libXft.so;/usr/local/lib/libXau.so;/usr/local/lib/libXdmcp.so;/usr/local/lib/libXpm.so
    – Looking for XOpenDisplay in /usr/local/lib/libX11.so;/usr/local/lib/libXext.so;/usr/local/lib/libXft.so;/usr/local/lib/libXau.so;/usr/local/lib/libXdmcp.so;/usr/local/lib/libXpm.so – found
    – Looking for gethostbyname
    – Looking for gethostbyname – found
    – Looking for connect
    – Looking for connect – found
    – Looking for remove
    – Looking for remove – found
    – Looking for shmat
    – Looking for shmat – found
    – Looking for IceConnectionNumber in ICE
    – Looking for IceConnectionNumber in ICE – found
    – Found X11: /usr/local/lib/libX11.so
    – Looking for include files CMAKE_HAVE_PTHREAD_H
    – Looking for include files CMAKE_HAVE_PTHREAD_H – found
    – Looking for pthread_create in pthreads
    – Looking for pthread_create in pthreads – not found
    – Looking for pthread_create in pthread
    – Looking for pthread_create in pthread – found
    – Found Automoc4: /usr/local/kde4/bin/automoc4
    – Found Perl: /usr/bin/perl
    – Performing Test _OFFT_IS_64BIT
    – Performing Test _OFFT_IS_64BIT – Success
    – Performing Test HAVE_FPIE_SUPPORT
    – Performing Test HAVE_FPIE_SUPPORT – Success
    – Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
    – Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL – Success
    – Performing Test __KDE_HAVE_GCC_VISIBILITY
    – Performing Test __KDE_HAVE_GCC_VISIBILITY – Failed
    – Found Phonon: /usr/local/kde4/lib/libphonon.so
    – Found Phonon Includes: /usr/local/kde4/include/KDE;/usr/local/kde4/include
    – Found KDE 4.1 include dir: /usr/local/kde4/include
    – Found KDE 4.1 library dir: /usr/local/kde4/lib
    – Found KDE4 kconfig_compiler preprocessor: /usr/local/kde4/bin/kconfig_compiler
    – Found automoc4: /usr/local/kde4/bin/automoc4
    – Found Plasma: /usr/local/kde4/lib/libplasma.so
    – Found Qt-Version 4.4.1 (using /usr/local/bin/qmake-qt4)
    – Found X11: /usr/local/lib/libX11.so
    – Found Automoc4: /usr/local/kde4/bin/automoc4
    – Found Perl: /usr/bin/perl
    – Found KDE 4.1 include dir: /usr/local/kde4/include
    – Found KDE 4.1 library dir: /usr/local/kde4/lib
    – Found KDE4 kconfig_compiler preprocessor: /usr/local/kde4/bin/kconfig_compiler
    – Found automoc4: /usr/local/kde4/bin/automoc4
    Lancelot variables already set
    – Found Lancelot include dir: /usr/home/silver/Downloads/install/lancelot/libs/lancelot/..
    – Found Lancelot lib: lancelot
    – Found shared-mime-info version: 0.51
    – Found PythonInterp: /usr/local/bin/python2.5
    – Found Python interpreter: /usr/local/bin/python2.5
    Plasma UI Compiler (Puck) is located at: /usr/home/silver/Downloads/install/lancelot/tools/puck/puck.py
    /usr/home/silver/Downloads/install/lancelot/tools/puck/puck.py
    /usr/home/silver/Downloads/install/lancelot/app/src/ui/LancelotWindowBase.xml
    /usr/home/silver/Downloads/install/lancelot/build/app/src/ui_LancelotWindowBase.h
    – Configuring done
    – Generating done
    – Build files have been written to: /usr/home/silver/Downloads/install/lancelot/build

    Comment by Silver — 3 September 2008 @ 12:48 Reply to this comment

  21. I have a problem compiling Lancelot.
    cmake works well, but after that I launch ‘make command’ which crashes at about 25% with following error:

    make[2]: *** No rule to make target `kde4-config –prefix/share/dbus-1/interfaces/org.freedesktop.ScreenSaver.xml’, needed by `app/src/screensaver_interface.cpp’. Stop.
    make[1]: *** [app/src/CMakeFiles/lancelot-menu.dir/all] Error 2
    make: *** [all] Error 2

    Comment by samiky — 29 September 2008 @ 16:52 Reply to this comment

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.