This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Building standalone dolphin under gnome (64 bit)

Tags: None
(comma "," separated)
yacwroy
Registered Member
Posts
16
Karma
0
I am wanting to build a quick debug version of Dolphin under Gnome (Ubuntu Jaunty 64 bit).

Why?
I want to see if I can add a raw lexicographic sort option for filenames (like: _z, 1, 10, 3, A, C, b), and reduce the minimum icon size (primarily in details view) to 8 pixels.

Why dolphin?
It's closer to what I want than Nautilus's tree view. (mainly I can change the root of the tree, have two trees (would be nice if it were unlimited), and operate fully on files in the tree view.

So far I have managed to download the KDE trunk and compile the libs fine.

I'm having problems with building dolphin. Specifically QImageBlitz.

Code: Select all
CMake Error at src/CMakeLists.txt:2 (find_package):
   Could not find module FindQImageBlitz.cmake or a configuration file for
   package QImageBlitz.

   Adjust CMAKE_MODULE_PATH to find FindQImageBlitz.cmake or set
   QImageBlitz_DIR to the directory containing a CMake configuration file for
   QImageBlitz.  The file will have one of the following names:

     QImageBlitzConfig.cmake
     qimageblitz-config.cmake


There is no CMAKE_MODULE_PATH in the dolphin cmake config.
I can only find 4 files with "qimageb" in their name (searched all of /make/nix/kde, where my source, build and installed files all are), and they're all called [FindQImageBlitz.cmake] except 2 have [.svn-base] at the end. Changing the QImageBlitz_DIR variable to point to their folders doesn't help. Leaving it blank gives the above error.

I'm completely new to CMake and KDE development.
Can someone please tell me whether I'm on the right track.
I don't want to create a new user or KDE login, just Dolphin.

Specs at bottom.
Details follow.

Thanks,
Simon.





Downloaded:
I installed the packages kde, kde-devel and cmake (done on 02/06/2009 - and that's June NOT Feb)
I have downloaded the current KDE base/libs trunk from:
svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs. (rev. 977405). Dest = [/make/nix/kde/src/kdelibs].
svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase. (rev. 977405). Dest = [/make/nix/kde/src/kdebase].
I'm not sure if I need all this but I got it anyway.

Built Libs:
cd [/make/nix/kde/build/libs]
ccmake [../../src/kdelibs]
(CMAKE_BUILD_TYPE = DEBUGFULL)
(CMAKE_INSTALL_PREFIX = [/make/nix/kde/out/libs])
make
make install
100% successful AFAIK

Building Dolphin:
cd [/make/nix/kde/build/dolphin]
ccmake [../../src/kdebase/apps/dolphin]
(CMAKE_BUILD_TYPE = DEBUGFULL)
(CMAKE_INSTALL_PREFIX = [/make/nix/kde/out/dolphin])
Fails (error posted above)



Specs:
OS: Ubuntu (Jaunty).
Kernel: 2.6.28-11-generic.
Gnome: 2.26.1
CPU: x86-64 (Intel Core2 Duo).

Last edited by yacwroy on Sat Jun 06, 2009 12:38 am, edited 1 time in total.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
You may need to install QImageBlitz which is part of KDESupport.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
yacwroy
Registered Member
Posts
16
Karma
0
I believe I already have this installed.

I have these packages currently installed:
qimageblitz-dev
qimageblitz-dbg
qimageblitz4
All are version: [1:0.0.4-4]

As for KDESupport, I didn't see any specific "KDESupport" or "kde support" packages in Synaptic. Is KDESupport a package in itself? If so, what's it's exact name? Google didn't help much.

I have a full recent install of KDE, with development files, yet a search "qimageb" in [/usr] and [/var] turns up a few related entries but no [QImageBlitzConfig*]. Nothing in [/lib].
(I'm not very familiar with linux's file structure so I just check all of these.)

Do I need to download a separate source package explicitly?
I couldn't see any qimageblitz or kdesupport browsing through websvn.kde.org/branches/KDE/4.2 (except for kde3support which I guess is backwards compatibility stuff), although it's probably hidden in there somewhere. Where is KDESupport in the the source.


Also
If I'm going about this the wrong way and there's a better or simpler way to build dolphin from source, could you please tell me.

Thanks - and sorry if I'm not too familiar with Linux development methodology.
I'm just a cross-platform C++ dev who usually works on standalone apps and does his own makefiles.



Edit: Additional info
When ccmake is run on kdebase or kdebase/apps, I get this.
Code: Select all
CMake Error at /usr/share/kde4/apps/cmake/modules/FindKDE4Internal.cmake:1150 (message):
   ERROR: the installed kdelibs version 4.2.2 is too old, at least version
   4.2.68 is required
 Call Stack (most recent call first):
   /usr/share/cmake-2.6/Modules/FindKDE4.cmake:81 (FIND_PACKAGE)
   CMakeLists.txt:17 (find_package)
Which I guess means that installing the kde packages was irrelevant and a waste of time.

Last edited by yacwroy on Sun Jun 07, 2009 12:18 am, edited 1 time in total.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
You can find KDESupport here:
Code: Select all
svn://anonsvn.kde.org/home/kde/trunk/kdesupport/


CMAKE_MODULE_PATH is a UNIX shell variable.
It can be set like so:
Code: Select all
export CMAKE_MODULE_PATH=/path/to/kdelibs/install

Last edited by bcooksley on Sun Jun 07, 2009 7:07 am, edited 1 time in total.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
yacwroy
Registered Member
Posts
16
Karma
0
Ok, I have now:
- Downloaded: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/
- Configured, compiled and installed (to [/make/nix/kde/out/support]) KDESupport using CMake.

I did get some weird authentication failure that I had to manually override when checking out KDESupport. However, http://techbase.kde.org/Getting_Started ... ows/emerge told me to ignore this. I'm pretty sure the download succeeded as the make went fine thru to 100%.

I now have many qimageblitz library files (.so etc).

I still have no [QImageBlitzConfig.cmake] anywhere, in the sources or outputs.




Also, I have tried adjusting CMAKE_MODULE_PATH to:
/make/nix/kde/out/libs
/make/nix/kde/out/libs/share/apps/cmake/modules (where FindQImageBlitz.cmake is).
/make/nix/kde/src/kdelibs
/make/nix/kde/src/kdesupport

None of these affect the error generated: "Could not find module FindQImageBlitz.cmake or a configuration file for package QImageBlitz."





FindQImageBlitz.cmake (1st 6 lines):
Code: Select all
# - Try to find the qimageblitz lib
# Once done this will define
#
#  QIMAGEBLITZ_FOUND - system has qimageblitz lib
#  QIMAGEBLITZ_INCLUDES - the qimageblitz include directory
#  QIMAGEBLITZ_LIBRARIES - The libraries needed to use qimageblitz

I can't just somehow bypass QImageBlitz_DIR and use these instead?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Try clearing out your Dolphin build folder and trying again, with CMAKE_MODULE_PATH set to /make/nix/kde/out/libs


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
yacwroy
Registered Member
Posts
16
Karma
0
bcooksley wrote:Try clearing out your Dolphin build folder and trying again, with CMAKE_MODULE_PATH set to /make/nix/kde/out/libs

No joy sorry. I still get the same error:
"Could not find module FindQImageBlitz.cmake or a configuration file for package QImageBlitz. etc..."

Have I taken to many shortcuts?
Should I be building something else other than libs and support before I build apps?
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
As long as you have built and installed KDESupport, KDELibs and KDEPimLibs to /path/to/kde/trunk with $CMAKE_PREFIX_PATH set to /path/to/kde/trunk throughout all of their builds, then it should have no problem with finding the installation.

I source the following script before performing any builds, so it may help.
Code: Select all
if [ -z "${KDE_ENV_SET}" ]; then
    export TRUNKINSTALLPATH="/opt/trunk-kde"
    # Change this to your kdedir setting in ~/.kdesvn-buildrc
    export KDEDIR="${TRUNKINSTALLPATH}/kde"
    export KDEDIRS="${KDEDIR}"

    # Change this to your qtdir setting in ~/.kdesvn-buildrc
    export QTDIR="${TRUNKINSTALLPATH}/qt"

    export PATH="${KDEDIR}/bin:${QTDIR}/bin:${PATH}"
    export LD_LIBRARY_PATH="${KDEDIR}/lib:${QTDIR}/lib"
    export CMAKE_PREFIX_PATH="${KDEDIR}:${QTDIR}"

    # Set the XDG data path, helps finding plugins, etc
    export XDG_DATA_DIRS="${KDEDIR}/share:${XDG_DATA_DIRS}"

    # Don't accidentally get sourced again.
    export KDE_ENV_SET=1
fi


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
yacwroy
Registered Member
Posts
16
Karma
0
Thanks, I now have a working copy of Dolphin built from source.

I put TRUNKINSTALLPATH="/make/nix/kde/out" on your script and ran it, then deleted / rebuilt everything. I'm not sure if this is what fixed it. I checked and, after learning that I have to run it as ". ./env.sh" instead of just "./env.sh", it worked (tested by echo-ing the vars).

Inside ccmake for kdepimlibs and kdebase I had to adjust many variables, and it wasn't too clear which I needed to adjust. The main problem is I couldn't easily tell which paths were output paths (i.e. where files were to be added by make install).

ccmake on kdebase:
BIN_INSTALL_DIR, CMAKE_BUILD_TYPE, CMAKE_INSTALL_PREFIX, EXEC_INSTALL_PREFIX were fairly clear.
KDE4_DATA_DIR, PLUGIN_INSTALL_DIR (advanced) weren't. There were others.
It would've be nice to have all output paths grouped together and labelled as such.


The build of base isn't completing though, because it's trying to stick some python files in /usr/lib/python2.6/dist-packages/PyKDE4", namely "plasmascript.py", but I'm not installing with su (to be safe) as I don't want anything put anywhere but /make/nix/kde/out/kde.
PYHON_LIBRARY="usr/lib/libpython2.6.so", I'm not sure if this influences it. The only other python path that I can see is PYTHON_EXECUTABLE="/usr/bin/python2.6".
INSTALL_PYTHON_TEST_PLASMA=OFF.

I'm not too worried at the moment, but I'm hoping there wasn't anything to be done by make install after this that I might need later on.


Anyway, time to go hack some Dolphin code.

Thanks for all your assistance.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Usually you can provide the -DCMAKE_INSTALL_PREFIX variable to cmake when running it to configure a KDE module and that will specify where all files are installed under ( in appropriate /lib, /bin, /include dirs underneath that path )


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
yacwroy
Registered Member
Posts
16
Karma
0
Thanks again.
I got the functionality I wanted added in.

If you want the code, see post #5 on:
viewtopic.php?f=64&t=61871&p=83821#p83821


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], Sogou [Bot]