This forum has been archived. All content is frozen. Please use KDE Discuss instead.
The Discussions and Opinions forum is a place for open discussion regarding everything related to KDE, within the boundaries of KDE Code of Conduct. If you have a question or need a solution for a KDE problem, please post in the apppropriate forum instead.

Building KDE 4.10 from source

Tags: None
(comma "," separated)
ggemmill
Registered Member
Posts
7
Karma
0

Building KDE 4.10 from source

Fri Jun 07, 2013 3:28 pm
Registered Linux User #450547
Running KDE 4.6.5 on 2.6.39.4-5.1-desktop kernel.
Mandriva Linux release 2011.0 (Official) for x86_64

Because there will be no more Mandriva releases, I thought I would investigate updating to KDE 4.10 from source. However:
1. http://techbase.kde.org/Getting_Started ... esrc-build has lots of warnings about pages being updated/inconsistent etc
2. Running kdesrc-buildrc reported several errors such as
* Downloading projects.kde.org project database...
* Module kdegraphics is apparently XML-based, but contains no
active modules to build!
Although no active modules are available, there were
1 inactive modules. Perhaps the git modules are not ready?
Cloning kde-build-metadata
* Unable to download required metadata for build process
* Will attempt to press onward...
* Exception message: Can't checkout kde-build-metadata: No such file or directory at /home/graeme/kdesrc/modules/ksb/Updater/Git.pm line 181.
at /home/graeme/kdesrc/modules/ksb/Updater/Git.pm line 181
ksb::Updater::Git::updateCheckout('ksb::Updater::KDEProjectMetadata=HASH(0x174d0a0)') called at /home/graeme/kdesrc/modules/ksb/Updater/Git.pm line 33
ksb::Updater::Git::updateInternal('ksb::Updater::KDEProjectMetadata=HASH(0x174d0a0)') called at ./kdesrc/kdesrc-build line 3105
eval {...} called at ./kdesrc/kdesrc-build line 3095
eval {...} called at ./kdesrc/kdesrc-build line 2925

My questions: Is this the correct forum to report such problems? Is there an updated process to guide me?
Thanks
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Building KDE 4.10 from source

Sat Jun 08, 2013 9:59 am
Can you please post your ~/.kdesrc-buildrc file?


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
ggemmill
Registered Member
Posts
7
Karma
0

Re: Building KDE 4.10 from source

Tue Jun 11, 2013 4:43 pm
.kdesrc-buildrc is appended (it was the unaltered version copied from kdesrc-buildrc-sample
(Does the forum have a mechanism for attaching a file?)
# Sample configuration file for kdesrc-build.
#
# To use this sample configuration file, copy it to ~/.kdesrc-buildrc, and then
# edit it to suit your desires.
#
# Also see the included kdesrc-build-setup script, which will ask some
# questions and then generate a config. You can still refer to this file for
# additions.

# Global settings go in this section. They apply to every module unless
# overridden later.
global

# This is the directory that your KDE sources are downloaded to. This
# directory also holds the build and log directories by default.
# source-dir ~/kdesrc

# This is the directory that KDE will end up installed at. The default is
# appropriate for a single-user installation of KDE, which requires no root
# permissions. If you'd like, you can install and use the sudo program to
# install KDE anywhere on your system, in conjunction with the
# make-install-prefix option.
# kdedir ~/kde
#
# This is the Qt installation to use for building/using KDE. The default is
# to build Qt (see the qt module below). If you wish to use your system's
# installed Qt (assuming it is recent enough!) then you can set this to the
# path to your Qt installation. To find the path to your system's Qt, run
# "qmake -v". Qt will be installed to the path reported (do not include /lib)
qtdir ~/qt4 # Default to installing Qt

# By default (if the above is commented out), you are getting svn trunk / git master.
# If instead you want to check out another branch, like 4.7, use
# branch KDE/4.7
#
# With KDE/4.7, use "branch 2.6" for soprano, or distribution-provided soprano.
#
# but also see the qt and kdesupport modules below, which have special
# requirements

# This is the Subversion server to download the rest of the KDE sources from.
# Developers: Don't forget to add your username to the URL if necessary!
# svn-server svn://anonsvn.kde.org/home/kde

# cmake-options controls the compilation options for building KDE 4 modules.
# These options apply to all KDE modules unless otherwise specified.
#
# Also see http://techbase.kde.org/Development/Tut ... _Variables
# cmake-options -DKDE4_BUILD_TESTS:BOOL=ON
cmake-options -DCMAKE_BUILD_TYPE=RelWithDebInfo

# These are the default options passed to the make command. The default tries
# to build with 2 parallel compiles. If you are using distcc or have SMP, you
# should experiment with setting this value higher for best performance.
# make-options -j2

# KDE has one of the most extensive translation packages in the world. They
# are stored in the l10n module. kdesrc-build can automatically try to build
# and install languages for you, using this parameter. It should be a list
# of languages to build and install. This option requires the language code
# as present in l10n. You can look these codes up at
# http://i18n.kde.org/teams/
# kde-languages de # German
# kde-languages fr # French
# kde-languages en_GB cs # British English and Czech

# If you would like install KDE to the system (DO NOT INSTALL *over* a prior
# installation!), then you'll probably need to use sudo to install everything.
#
# The -S parameter causes sudo to read from standard input (which is redirected
# by kdesrc-build). This means that if sudo has to ask for your password, it
# will fail, you need to configure sudo to be able to run "make install"
# without requesting a password.
#
# In addition, you can run kdesrc-build --no-install, and then
# sudo kdesrc-build --install if you are unable to configure sudo to allow
# make install with no password.
# make-install-prefix sudo -S

# purge-old-logs controls whether old log files should be removed after the
# latest build finishes. Set to false to disable it.
# purge-old-logs false
end global

# qt is the default name of the module used to build Nokia's Qt toolkit, which is
# required for KDE. It is sometimes required to use the latest Qt available
# to build KDE. 2 versions are supported by kdesrc-build:
# 1. Nokia's Qt with no modifications.
# 2. A KDE copy with no modifications (but on a better git server).
#
# The Qt buildsystem is different from that used by KDE modules, and so
# settings from the global section will not apply to Qt.
module qt
# Configure flags. See README.kde-qt for the official recommended ones, which
# may become inconsistent with these sample flags.
# Do not specify -prefix, kdesrc-build will handle that.
#
# Phonon note:
# - If you compile phonon separately, make sure to pass -no-phonon.
# - Alternatively, if you use Qt's phonon, remove "phonon" from the use-modules
# option in the module-set below.
# - As of KDE 4.6/Qt 4.7 the "right answer" is the first option: separate phonon.
configure-flags -fast -debug \
-system-zlib -system-libpng -system-libjpeg \
-dbus -webkit -plugin-sql-mysql \
-nomake examples -nomake demos \
-no-phonon # See module-set below

# make-options -j2

# The kde: prefix here will be expanded by kdesrc-build to the correct URL
repository kde:qt

# If you use the branch option up in the "global" section to set a
# default KDE version, you should manually choose a branch here for Qt.
# You can see the available branches by looking first on gitorious.org,
# or by using "git branch -r" from the qt source directory.
#
# Note that Nokia's own Qt repository does not recommend using the master
# branch anymore. The Qt repository may be splitting in the future as well.
branch 4.8
end module

# shared-desktop-ontologies is part of Nepomuk, and is basically a small set
# of data files expressing how different concepts relate to each other. It is
# required for Soprano, kdelibs (if Nepomuk is enabled), and kdepim-runtime.
# Often the distribution provides this package, but if not you can uncomment
# this module.

module shared-desktop-ontologies
repository git://oscaf.git.sourceforge.net/gitroot ... ontologies
branch master
end module

# Next is shown a "module-set", which is a grouping of modules that has special
# handling of the "repository" option (the module name is automatically added
# to the end for every module defined in this set), and accepts the special
# use-modules option to determine what modules are included in the group.
# Any other options included as defined for every module in the set.
# For every single module passed, kdesrc-build will create the appropriate
# "module" option, with the right repository setting (base + module name).
#
# If you need to set more options for only individual modules, you can add a
# module <name> ... end module as normal after the module-set, but keep in mind
# if you do this that you won't change the order the modules are built in.
#
# Example:
module-set
# Special handling occurs with this option when used in module-set so you
# don't have to re-type repository names.
repository kde-projects

# automoc is essential for building KDE's CMake-based modules, and so should be first
# in this module set (but after Qt, if you're building that too)
use-modules automoc cagibi attica soprano polkit-qt-1

# Other options are simply passed to each defined module. For example if
# you uncomment the next line, then the "Debug" build type will be used for
# every module in this set, which makes modules optimized but still
# debuggable.
# cmake-options -DCMAKE_BUILD_TYPE=Debug
end module-set

# Phonon is the KDE multimedia layer, which is occasionally synced to Qt.
# It is required for the KDE libraries, and a specific backend for your system
# is also required. For Linux users, this means either phonon-gstreamer or
# phonon-vlc
module-set phonon
repository kde-projects

# We avoid using just "phonon" as kdesrc-build will include all submodules
# that have phonon as part of their path. (i.e. it means phonon/*), but we
# don't want all the phonon backends.
use-modules phonon/phonon phonon-gstreamer # or you can try phonon-vlc
end module-set

# This set includes the modules required for the "strigi" file analyzer, used
# to extract information contained in various file types for Dolphin previews,
# Nepomuk tagging, etc.
module-set strigi
repository kde-projects

# Not all modules in strigi are built, and there is a certain order required.
# See kde-build-metadata.git/{dependency-data,build-script-ignore}, which
# are used automatically by kdesrc-build.
use-modules kdesupport/strigi
end module-set

# kdesupport contains QCA, oxygen icons, and a few other small things.
module kdesupport
end module

# Support for notification area menus via the DBusMenu protocol
# This is needed by kdelibs.
#
# This is commented out as this is the only module that requires the 'bzr'
# source control software, and a recent libdbusmenu-qt development package from
# your distribution should meet the kdelibs dependency. If you wish to install
# this module, ensure you have the 'bzr' tool available and then uncomment this
# module.
#module libdbusmenu-qt
# The lp: prefix refers to Canonical's Launchpad repository
# repository bzr://lp:libdbusmenu-qt
#end module

# TagLib used to be in kdesupport and is used by JuK and Amarok for parsing
# audio metadata. It is required for JuK, amarok (though typically the
# system-provided taglib will suffice).
module taglib
repository git://github.com/taglib/taglib.git

# Note: -DWITH_ASF=TRUE and -DWITH_MP4=TRUE (for taglib) is required to
# allow Amarok (defined below, near the end of this file) to build.
cmake-options -DWITH_ASF=TRUE -DWITH_MP4=TRUE
end module

# kdelibs are the base KDE libraries needed by all KDE applications.
# kactivities is required for kde-runtime (supports Plasma Activity management)
# kde-runtime contains applications that are required for the operation of
# some base KDE libraries.
# nepomuk-core contains some split-out Nepomuk libraries.
module-set
repository kde-projects
use-modules kdelibs nepomuk-core kactivities kde-runtime

# KDE 4 uses CMake, if you need to pass options to the cmake command, use this
# option:
# cmake-options -DKDE4_BUILD_TESTS:BOOL=ON
end module-set

# The next module-set completes a base workspace. kdepimlibs should be compiled
# before the workspace and Plasma addons are compiled, and kdepimlibs itself
# requires akonadi.
# From there kde-workspace contains programs like Plasma Desktop and the KWin
# window manager, kde-baseapps contains core applications,
# and I also add konsole and kate since they are also very useful in general.
module-set
repository kde-projects

use-modules akonadi kdepimlibs nepomuk-widgets kde-workspace \
kate kde-baseapps konsole
end module-set

# On OpenSUSE, for unlocking to work, you need to do this:
#module kde-workspace
#cmake-options -DKDE4_COMMON_PAM_SERVICE=xdm
#end module

# KDE/kde-wallpapers contains all wallpapers for your desktop
module kde-wallpapers
end module

# KDE/kde-base-artwork contains the default splash screen
module kde-base-artwork
end module

# kdemultimedia contains JuK, Dragon Player and other KDE multimedia
# applications. It does not include amarok, which is in git.kde.org
module-set
repository kde-projects
use-modules kdemultimedia

# Example of how to ignore a module. kdemultimedia includes thumbnail
# generators for video files based on either mplayer or ffmpeg. You'd usually
# only want one. You can use ignore-modules to ignore the one you don't want
# (though you can build them both if desired).
ignore-modules ffmpegthumbs
# ignore-modules mplayerthumbs

end module-set

# ... Well, they're games. ;)
module-set
repository kde-projects
use-modules kdegames
end module-set

# kdesdk is a useful module for software developers. Programmers *need* this
# module for kcachegrind, but in addition there are several useful
# documentation kioslave formatters for use in konqueror.
module-set
repository kde-projects
use-modules kdesdk
end module-set

# kdenetwork has Kopete and other useful applications for the Internet and
# other networks.
module kdenetwork
end module

# kdepim contains KMail, Kontact, KOrganizer, and other insanely useful
# programs that help you keep track of things. It consists of two core
# components, kdepim-runtime, and kdepim itself, which both depend on
# kdepimlibs.
module-set
repository kde-projects

use-modules kdepim-runtime kdepim
end module-set

# kdeadmin has system administration tools for your computer.
#module kdeadmin
#end module

# kdeaccessibility accessibility tools
#module-set
# repository kde-projects
# use-modules kdeaccessibility
#end module-set

# kdeartwork has themes and screensaver
#module kdeartwork
#end module

# kdeutils has miscellaneous programs which can be useful. You probably won't
# die if you remove this from the config file though.
module-set kdeutils
repository kde-projects

use-modules kdeutils
end module-set

# kdegraphics contains various programs useful for graphics editing. It
# doesn't include Krita, which is part of Calligra, but it is worth it just for
# KolourPaint and Gwenview.
#
# Note that this just references the KDE Projects database, so this will expand
# into many more modules.
module-set
repository kde-projects

use-modules kdegraphics
end module-set

# Contains nifty diversions of time, which generally aren't games.
module kdetoys
# Let's explain a new kdesrc-build feature here, as an example:
# Say you don't want "./kdesrc-build" to always update and build kdetoys,
# but you want to specify options here (branch, cmake-options etc.) so that
# you can invoke "./kdesrc-build kdetoys" explicitly, now and then.
# The option manual-update does exactly this.
manual-update true
end module

# Educational programs. Some are actually quite fun even if you're not trying
# to learn anything.
module-set kdeedu
repository kde-projects

use-modules kdeedu
end module-set

# Extra collection of useful plasma applets, runners, data engines, etc.
module-set
repository kde-projects

use-modules kdeplasma-addons
end module-set

# The KDE Office Suite. Includes a pretty expansive collection of programs.
# It is rather large, so you can cut download and build times by removing it
# from this file.
#module koffice
#end module

## A prerequisite for kdevelop other modules using the kdevelop platform, like
# kdewebdev
#module-set
# use-modules kdevplatform
# repository kde-projects
#end module-set

## The KDevelop IDE, useful for developing all kinds of programs. If you don't
# plan on being a software developer you can save time by removing this from
# your configuration.
#module-set
# use-modules kdevelop
# repository kde-projects
#end module-set

# Modules in extragear and playground can also be added.
#
# To see what you can find in the various modules, browse
# https://projects.kde.org/projects/kde/extragear or
# https://projects.kde.org/projects/kde/playground

# Amarok is a KDE multimedia application extraordinaire.
# If you want to build and install amarok, simply uncomment this module
# NOTE: Ensure you've enabled ASF and MP4 support above in taglib. (If you
# build the taglib module by itself instead of using your distro's taglib,
# then make sure you've enabled this support for taglib).
#module amarok
# repository kde-projects
#
# use-modules amarok
#end module

# --- The K3B cd/dvd/etc. burner.
#module-set
# repository kde-projects
#
# use-modules k3b
#end module-set

# Calligra Office Suite
#module-set
# repository kde-projects
#
# use-modules calligra
#end module-set

# Add more modules as needed.
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Building KDE 4.10 from source

Sat Jun 15, 2013 9:13 am
Hmm. Which version of kdesrc-build are you using? And is your system able to clone repositories as follows?
Code: Select all
git clone git://anongit.kde.org/kde-build-metadata


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
ggemmill
Registered Member
Posts
7
Karma
0

Re: Building KDE 4.10 from source

Mon Jun 17, 2013 4:51 pm
Thank you for your interest in this problem.
I can find no version number for kdesrc-build. It was down loaded as follows:
$ git clone git://anongit.kde.org/kdesrc-build.git ~/kdesrc
Cloning into /home/graeme/kdesrc...
remote: Counting objects: 5064, done.
remote: Compressing objects: 100% (1888/1888), done.
remote: Total 5064 (delta 3136), reused 5014 (delta 3104)
Receiving objects: 100% (5064/5064), 2.39 MiB | 561 KiB/s, done.
Resolving deltas: 100% (3136/3136), done.

Yes, the meta-data was downloadable:
$ git clone git://anongit.kde.org/kde-build-metadata
Cloning into kde-build-metadata...
remote: Counting objects: 428, done.
remote: Compressing objects: 100% (173/173), done.
remote: Total 428 (delta 276), reused 394 (delta 254)build-log
Receiving objects: 100% (428/428), 40.82 KiB, done.
Resolving deltas: 100% (276/276), done.

I ran kdesrc-build with the pretend flag - it worked
$ ./kdesrc/kdesrc-build --pretend >kdebuild.txt
If I repeat without the --pretend flag, the script progresses to the creation of the /kdesrc directory and a location for a log file:
/kde/kdesrc/log/2013-06-17-01,
but the build-log file remains 0 bytes, and the process hangs with no observable activity.
User avatar
Wizard
Registered Member
Posts
99
Karma
0
OS

Re: Building KDE 4.10 from source

Mon Jun 17, 2013 8:59 pm
ggemmill wrote:Because there will be no more Mandriva releases, I thought I would investigate updating to KDE 4.10 from source

Sorry for this offtopic, but maybe you would be interested in updating to Mageia? They seem to continue Mandriva traditions :)
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Building KDE 4.10 from source

Tue Jun 18, 2013 10:03 am
Hmm, it is highly unusual for kdesrc-build to be acting in this manner.
Are you able to download http://projects.kde.org/kde_projects.xml without any proxy, etc being used?

It should be working from what I can tell in the information given above.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
ggemmill
Registered Member
Posts
7
Karma
0

Re: Building KDE 4.10 from source

Mon Jun 24, 2013 4:24 pm
Yes, http://projects.kde.org/kde_projects.xml downloaded without problem. First line is:
<kdeprojects version="1">
From that .xml file, both these URLs are accessible:
<web type="projects">http://projects.kde.org/projects/qt/repository</web>
<web type="gitweb">http://gitweb.kde.org/qt.git</web>

This returned nothing:
http://anongit.kde.org/qt
Since qt is the first module called by .kdesrc-buildrc, is that where the problem lies?
Thanks and regards
Graeme
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Building KDE 4.10 from source

Tue Jun 25, 2013 8:47 am
Hm, that is unusual. Note that http://anongit.kde.org/qt is not supposed to work in a web browser, it is intended for use with a Git client.
Code: Select all
git clone http://anongit.kde.org/qt

Alternately, if your network is not restricted, you can clone over the more efficient Git protocol:
Code: Select all
git clone git://anongit.kde.org/qt


As far as I am aware, the KDE anongit network is functioning properly.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]


Bookmarks



Who is online

Registered users: Baidu [Spider], Bing [Bot], Google [Bot]