how do I check that I'm running the KDE that I (think) I just built?

Just built KDE from source. Briefly: download source via svn; set up kde-devel account and kde build tree underneath that; cmakedke in each of kdelibs, kdebase and kdepimlibs; and make install (from runlevel 3) each of the three dirs; reboot - and see what you get.

How do I actually confirm that I’m in fact running the code I just built? Which may sound ignorant but I haven’t been on linux in a long time let alone built something like KDE from source.

As I’ve been doing the build (many missing dependencies that needed to be fixed etc), I’ve been having to regain and update basic linux skills.

So kde4-config tells me the following:


ME@linux-w0zl:/home/kde-devel/kde/build/trunk/KDE> kde4-config -v
Qt: 4.6.3 
KDE Development Platform: 4.4.81 (KDE 4.4.81 (KDE 4.5 >= 20100527))
kde4-config: 1.0
ME@linux-w0zl:/home/kde-devel/kde/build/trunk/KDE>

IIRC just prior to building I was at 4.4.80 so maybe this is a confirmation of some sort.

In a different vein, I see that each of ~kde-devel/kde/build/trunk/KDE/kdelibs kdebase and kdepimlibs has a new install_manifest.txt in it containing many, what look like, valid entries.

How do I actually confirm that I’m in fact running the code I just built?

From KDE Desktop

Menu > Computer > System Information

Hmm have a Systems Settings in that location, but no System Information. And so simply searched Menu with ‘system’. Also no ‘System Information’.

Looked in yast to see if System Information is something I can install but didn’t find any likely candidates.

Must be moved in 11.3

Try this in Konquerer

sysinfo:/

???

yes that worked (thanx). However it doesn’t seem to tell me anything that kde4-config didn’t already tell me.OS Information

OS: Linux 2.6.31.12-0.2-desktop x86_64
Current user: ME@linux-w0zl
System: openSUSE 11.2 (x86_64)
KDE: 4.4.80 (KDE 4.4.80 (KDE 4.5 Beta1)) “release 2”

kde4-config -v
is sufficient
what more do you want?

I’d like it to say: “I’m running the code you just built, not something from the repositories”.

However in the meantime, I think I’ve further reassured myself that I am indeed running my built code.

You could edit the PATH environment variable so that your self-build version appears earlier in the PATH than the repo version. This is fairly standard practice.

This rather assumes you built your version to be installed somewhere like /opt or /usr/local, and not on-top-of the repo version.

If still don’t believe it’s your KDE that’s running, find it, and nuke the execute permissions temporarily.

I’ve made some further progress. It seems to be a subtler mechanism than PATH and for that matter what I’ve built (into /usr/local) doesn’t seem to executables but rather libraries.

I rebuilt kcalc by hand figuring this would be small and quick to build. And it was, and when I run it from the correct location (/usr/local/bin as opposed to /usr/bin) I do get version = 4.4.81 in Help | About so I think I’m headed the right direction. (the default version on my system is still 4.4.80)

One of the most interesting things is to look at what libraries an executable (kcalc) links with:

pat@linux-w0zl:/usr/local/bin> ldd kcalc
        linux-vdso.so.1 =>  (0x00007fffc07ff000)
        libkdeinit4_kcalc.so => /usr/local/lib/libkdeinit4_kcalc.so (0x00007fec36758000)
        libQtXml.so.4 => /usr/lib64/libQtXml.so.4 (0x00007fec36510000)
        libkdeui.so.5 => /usr/local/lib/libkdeui.so.5 (0x00007fec35eae000)
        libkdecore.so.5 => /usr/local/lib/libkdecore.so.5 (0x00007fec359d0000)
        libQtDBus.so.4 => /usr/lib64/libQtDBus.so.4 (0x00007fec35759000)
        libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x00007fec352d9000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fec350bd000)
        libQtSvg.so.4 => /usr/lib64/libQtSvg.so.4 (0x00007fec34e62000)
        libQtGui.so.4 => /usr/lib64/libQtGui.so.4 (0x00007fec341f3000)
        libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x00007fec33f97000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fec33c89000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fec33a34000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fec3381d000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fec334c2000)
        libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007fec332b9000)
        libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007fec3309c000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fec32d60000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fec32b4e000)
        libXft.so.2 => /usr/lib64/libXft.so.2 (0x00007fec32939000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fec32735000)
        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007fec3252f000)
        libXpm.so.4 => /usr/lib64/libXpm.so.4 (0x00007fec3231d000)
        libdbusmenu-qt.so.2 => /usr/local/lib/libdbusmenu-qt.so.2 (0x00007fec320f7000)
        libQtNetwork.so.4 => /usr/lib64/libQtNetwork.so.4 (0x00007fec31dc7000)
        libXtst.so.6 => /usr/lib64/libXtst.so.6 (0x00007fec31bc0000)
        libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007fec319b5000)
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fec317af000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fec315a5000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fec3138f000)
        libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fec31180000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fec30f6a000)
        libfam.so.0 => /usr/lib64/libfam.so.0 (0x00007fec30d61000)
        libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007fec30b21000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fec3091d000)
        libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007fec30718000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fec3050f000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fec30248000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fec369b2000)
        libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00007fec30020000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fec2fd9a000)
        libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007fec2fb91000)
        libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007fec2f98e000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fec2f759000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fec2f554000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fec2f337000)
        libpcre.so.0 => /lib64/libpcre.so.0 (0x00007fec2f109000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fec2eee0000)
pat@linux-w0zl:/usr/local/bin> ldd kcalc |grep -i local
        libkdeinit4_kcalc.so => /usr/local/lib/libkdeinit4_kcalc.so (0x00007f106fe51000)
        libkdeui.so.5 => /usr/local/lib/libkdeui.so.5 (0x00007f106f5a7000)
        libkdecore.so.5 => /usr/local/lib/libkdecore.so.5 (0x00007f106f0c9000)
        libdbusmenu-qt.so.2 => /usr/local/lib/libdbusmenu-qt.so.2 (0x00007f106b7f0000)
pat@linux-w0zl:/usr/local/bin> ldd kcalc |wc -l
48
pat@linux-w0zl:/usr/local/bin> 

So, interestingly, it seems that the libraries I’ve built into /usr/local/lib are selectively replacing 4 out of the 48 libraries which means there must be some way that /usr/local/lib masks out /usr/lib64. So if there’s something in the former (/usr/local/lib) that gets picked otherwise it falls back to /usr/lib64.

I think this implies there is something like PATH that works for library loading. I haven’t defined my own LD_LIBRARY_PATH (one doesn’t want to do that) but there must be an effective one somewhere underneath except I haven’t found that yet.

thanx.

patfla wrote:

> So, interestingly, it seems that the libraries I’ve built into
> /usr/local/lib are selectively replacing 4 out of the 48 libraries which
> means there must be some way that /usr/local/lib masks out /usr/lib64.
> So if there’s something in the former (/usr/local/lib) that gets picked
> otherwise it falls back to /usr/lib64.
>
> I think this implies there is something like PATH that works for
> library loading. I haven’t defined my own LD_LIBRARY_PATH (one doesn’t
> want to do that) but there must be an effective one somewhere underneath
> except I haven’t found that yet.
>

man ldconfig

HTH

Ah - useful.

inux-w0zl:/home/kde-devel/kde/sources/trunk/KDE # ldconfig -p |grep -i local |wc -l
234
linux-w0zl:/home/kde-devel/kde/sources/trunk/KDE # ldconfig -p |wc -l
1976
linux-w0zl:/home/kde-devel/kde/sources/trunk/KDE #