You are not logged in.

#1 2010-07-04 01:29:37

zuargo
Member
From: Concepción, Chile
Registered: 2009-08-20
Posts: 116

compiling KDE with full debug option?

Hello all

Since I not use KDEmod (due to that it be split from Archlinux), I have not on my system the packages needed to report a full backtrace of a crash of KDE components (like plasma, kwrite, lancelot, kmail, konqueror, etc, etc.). It is becouse in the oficial repositories of Archlinux don't be found the named packages (in KDEmod repo these packages could be found).

So, I must compile KDE by supplying to Cmake the parameter:

-DCMAKE_BUILD_TYPE=debugfull

As says here: http://techbase.kde.org/Development/Tut … E_packages

So, when I installed KDE on my machine, the first package was kdebase-workspace, then by using ABS I downloaded the corresponding PKGBUILD, it shows this:

# $Id: PKGBUILD 59826 2009-11-28 01:40:21Z andrea $
# Maintainer: Pierre Schmitz <pierre@archlinux.de>

pkgname=kdebase-workspace
pkgver=4.4.5
pkgrel=1
pkgdesc="KDE Base Workspace"
arch=('i686' 'x86_64')
url='http://www.kde.org'
license=('GPL' 'LGPL' 'FDL')
groups=('kde')
# note on libxdamage:
#     not detected by namcap because libgl depends on it
#    but nvidia providing libgl does not depend on libxdamage
depends=('polkit-kde' 'kdepimlibs' 'kdepim-runtime' 'kdebase-runtime' 'qimageblitz'
         'libxxf86misc' 'libxcomposite' 'libxss' 'lm_sensors' 'libxklavier' 'libxft'
         'libxdamage' 'xorg-utils' 'libxrandr')
makedepends=('pkgconfig' 'cmake' 'automoc4' 'networkmanager' 'bluez' 'kdebindings-python'
             'kdebindings-ruby' 'boost')
replaces=('kdmtheme' 'kde-common' 'guidance-power-manager' 'policykit-kde')
conflicts=('kde-common' 'guidance-power-manager' 'policykit-kde')
install='kdebase-workspace.install'
backup=('usr/share/config/kdm/kdmrc'
        'etc/pam.d/kde'
        'etc/pam.d/kde-np'
        'etc/pam.d/kscreensaver')
source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2"
        'kdm-zsh-profile.patch' 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam'
        'fixpath.patch' 'terminate-server.patch' 'screensaver-sleep.patch')
sha1sums=('d0defe431a760503f8fbb9ee2413b666b3c84cd7'
          '8c2bdefb23a03b753b78d16944d03fa3939d2d99'
          '5db3a245201bd4a50e65aa2ef583cf5490e4f646'
          'f7b38af38549242a240f1a90ab9964ca8a366129'
          '603cc79c4d2b4eae62bb5f244aeecb3a778b5516'
          '106635aa1aae51d6f0668b1853f6c49a4fe9d3d8'
          'd7b5883f7e65c6839b1f65f94d58026673dd0226'
          'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
          'd676932e89f201d1f381615651761af1badb88be')

build() {
    cd ${srcdir}/${pkgname}-${pkgver}
    patch -p0 -i ${srcdir}/kdm-zsh-profile.patch || return 1
    patch -p0 -i ${srcdir}/fixpath.patch || return 1
    patch -p0 -i ${srcdir}/terminate-server.patch || return 1
        patch -p1 -i ${srcdir}/screensaver-sleep.patch || return 1 # FS#19426      

    cd ${srcdir}
    mkdir build
    cd build
    cmake ../${pkgname}-${pkgver} \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_SKIP_RPATH=ON \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DWITH_Xmms=OFF \
        -DWITH_Googlegadgets=OFF \
        -DWITH_QEdje=OFF \
        -DWITH_PolkitQt=OFF
    make || return 1
}

package() {
    cd $srcdir/build
    make DESTDIR=$pkgdir install

    install -D -m755 ${srcdir}/kdm ${pkgdir}/etc/rc.d/kdm
    install -D -m644 ${srcdir}/kde.pam ${pkgdir}/etc/pam.d/kde
    install -D -m644 ${srcdir}/kde-np.pam ${pkgdir}/etc/pam.d/kde-np
    install -D -m644 ${srcdir}/kscreensaver.pam ${pkgdir}/etc/pam.d/kscreensaver
    install -d -m755 ${pkgdir}/etc/X11/sessions/
    ln -sf /usr/share/apps/kdm/sessions/kde{,-safe}.desktop ${pkgdir}/etc/X11/sessions/
    install -d -m755 ${pkgdir}/etc/kde/{env,shutdown}
}

Obviously where be read -DCMAKE_BUILD_TYPE=Release, I must change the option to fulldebug.

And now my questions xD

is this procedure good? or, perhaps, there is another easier way to make it tongue

When I downloaded the PKGBUILD of kdebase-workspace package I notice that it has some patches and extra files, must be this patches and extra files in the same folder of the PKGBUILD when I run makepkg or it is not necessary?

The pactches and extra files are:

kdebase-workspace]$ ls
fixpath.patch
kde-np.pam
kdm
kscreensaver.pam
screensaver-sleep.patch
kdebase-workspace.install
kde.pam
kdm-zsh-profile.patch
PKGBUILD
terminate-server.patch

is correct to start by compiling kdebase-workspace or, maybe, must I start with another related package, like Qt4, or any similar?

That is all, please excuse me my poor english I talk spanish and thanks in advance smile

Offline

#2 2010-07-04 02:15:55

flamelab
Member
From: Athens, Hellas (Greece)
Registered: 2007-12-26
Posts: 2,160

Re: compiling KDE with full debug option?

Add

options=(!strip)

in the PKGBUILD, enable debugging as you say, through Cmake, and you will be OK.

Last edited by flamelab (2010-07-04 02:16:09)

Offline

#3 2010-07-04 02:24:38

zuargo
Member
From: Concepción, Chile
Registered: 2009-08-20
Posts: 116

Re: compiling KDE with full debug option?

I don't know exactly what makes the strip array in the PKGBUILD, but I will do it tongue

The wiki says: strip: Strips symbols from binaries and libraries

Really I don't understand it tongue

Thanks smile

Offline

#4 2010-07-04 08:58:19

flamelab
Member
From: Athens, Hellas (Greece)
Registered: 2007-12-26
Posts: 2,160

Re: compiling KDE with full debug option?

The "Symbols" it says, it's the debugging stuff in the compiled program (debugging symbols).

Offline

#5 2010-07-04 09:29:01

Pierre
Developer
From: Bonn
Registered: 2004-07-05
Posts: 1,964
Website

Re: compiling KDE with full debug option?

Which apps crash for you and how?

Offline

#6 2010-07-04 18:01:07

zuargo
Member
From: Concepción, Chile
Registered: 2009-08-20
Posts: 116

Re: compiling KDE with full debug option?

Now plasma.

Really I don't know what causes this but I have got many plasma crashes after have updated to KDE 4.4.5

Offline

Board footer

Powered by FluxBB