1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr"> 3 4<head profile="http://gmpg.org/xfn/11"> 5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 7<title>Bastiaans Blog » Blog Archive » KDE 4.9.5 on EL6</title> 8 9<link rel="stylesheet" href="/bastiaan/wp-content/themes/bastiaan/style.css" type="text/css" media="screen" /> 10<link rel="alternate" type="application/rss+xml" title="Bastiaans Blog RSS Feed" href="/bastiaan/feed" /> 11<link rel="pingback" href="/bastiaan/xmlrpc.php" /> 12 13<style type="text/css" media="screen"> 14 15 #page { background: url("/bastiaan/wp-content/themes/bastiaan/images/kubrickbgwide.jpg") repeat-y top; border: none; } 16 17</style> 18 19<link rel="EditURI" type="application/rsd+xml" title="RSD" href="/bastiaan/xmlrpc.php?rsd" /> 20<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="/bastiaan/wp-includes/wlwmanifest.xml" /> 21<meta name="generator" content="WordPress 2.5.1" /> 22 23 <link type="text/css" rel="stylesheet" href="/bastiaan/wp-content/plugins/syntaxhighlighter/files/SyntaxHighlighter.css"></link> 24</head> 25<body> 26<div id="page"> 27 28 29<div id="header"> 30 <div id="headerimg"> 31 <h1><a href="/bastiaan/">Bastiaans Blog</a></h1> 32 <div class="description">Just another weblog about computers and nothing</div> 33 </div> 34</div> 35<hr /> 36 37 <div id="content" class="widecolumn"> 38 39 40 <div class="navigation"> 41 <div class="alignleft">« <a href="/bastiaan/2011/12/use-a-global-php-include-for-your-site.html">Use a global PHP include for your site</a></div> 42 <div class="alignright"></div> 43 </div> 44 45 <div class="post" id="post-26"> 46 <h2>KDE 4.9.5 on EL6</h2> 47 48 <div class="entry"> 49 <p>Hi all,</p> 50<p>I finally got a first version of a quite complete KDE 4.9.5 distribution compiled and working on CentOS 6.3.<br /> 51After a while having troubles with <a href="http://kdesrc-build.kde.org/">kdesrc-build</a> I decided to just download the sources linked on the page <a href="http://www.kde.org/info/4.9.5.php">http://www.kde.org/info/4.9.5.php</a> and compile them one-by-one. The most of the dependencies like QT 4.8, attica and so on, I already build by hand or with help of kdesrc-build.<br /> 52<span id="more-26"></span></p> 53<h3>What is out there now</h3> 54<ul> 55<li>2 large tarballs with the KDE 4.9.5 and QT 4.8.2 compiled for x86_64 to be extracted in /opt/kde49 and /opt/qt48</li> 56<li>a dozen even larger tarballs containing sources.</li> 57<li>an incomplete list of dependencies</li> 58</ul> 59<h3>What KDE components?</h2> 60<ul> 61<li>analitza</li> 62<li>audiocd-kio</li> 63<li>blinken</li> 64<li>cantor</li> 65<li>gwenview</li> 66<li>kactivities</li> 67<li>kalzium</li> 68<li>kanagram</li> 69<li>kate</li> 70<li>kbruch</li> 71<li>kdeadmin</li> 72<li>kde-baseapps</li> 73<li>kde-base-artwork</li> 74<li>kdegames</li> 75<li>kdelibs</li> 76<li>kdenetwork</li> 77<li>kdepim</li> 78<li>kdepimlibs</li> 79<li>kdepim-runtime</li> 80<li>kde-runtime</li> 81<li>kdesdk</li> 82<li>kdetoys</li> 83<li>kde-workspace</li> 84<li>kmix</li> 85<li>konsole</li> 86<li>kscd</li> 87<li>okular</li> 88<li>oxygen-gtk</li> 89<li>oxygen-icons</li> 90</ul> 91<h3>How to use this?</h3> 92<ul> 93<li>extract these tarballs, install the dependencies with yum and find missing ones by trying to run the software or run an ldd script on all the executables</li> 94<li>download the sources and try to build it yourself</li> 95</ul> 96<h3>TODO</h2> 97<ul> 98<li>build even more KDE packages that aren’t build yet</li> 99<li>create nice complete lists of dependencies and build-dependencies</li> 100<li>separate tarballs for each KDE program or component</li> 101<li>install libs in lib64 instead of lib</li> 102<li>convert all this to neat RPM packages</li> 103<li>fix packaging related bugs when they are found</li> 104<li>create i686 version if needed</li> 105</ul> 106<h2>How to get it running</h2> 107<ol> 108<li><a href="http://users.welmers.net/bastiaan/nobackup/el6-kde49/x86_64/kde49-2013-01-07.tar.bz2">kde49.tar.bz2</a> (1.3GB, unpacked 3,6GB)</li> 109<li><a href="http://users.welmers.net/bastiaan/nobackup/el6-kde49/x86_64/qt48-2013-01-07.tar.bz2">qt48.tar.bz2</a> (337MB, unpacked 950MB)</li> 110</ol> 111<p>unpack these files in /opt and chown them to root.</p> 112<p>Next:</p> 113<ul> 114<li>Add a file /etc/ld.so.conf.d/kde49.conf file with the single line:<br /> 115<code>/opt/kde49/lib</code> 116</li> 117<li> 118Add a file /etc/ld.so.conf.d/qt48.conf file with the single line:<br /> 119<code>/opt/qt48/lib</code> 120</li> 121<li> 122Add a file /etc/profile.d/kde49.sh which will extend $PATH:<br /> 123<code>export PATH=/opt/qt48/bin:/opt/kde49/bin:$PATH</code> 124</li> 125<li> 126To get KDM working and started automaticly with runlevel 5, add following line to /etc/X11/prefdm within the “if [ -f /etc/sysconfig/desktop ]” block from line 13 on:<br /> 127<code><br /> 128elif [ "$DISPLAYMANAGER" = KDE49 ]; then<br /> 129preferred=/opt/kde49/bin/kdm<br /> 130</code><br /> 131(of course, add it AFTER the “. /etc/sysconfig/desktop” line) and create/edit a file /etc/sysconfig/desktop with the single line:<br /> 132<code>DISPLAYMANAGER=KDE49</code> 133</li> 134<li> 135Install dependencies. These can be installed with `yum install’ and need the repositories base, <a href="http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/6/i386/repoview/epel-release.html">epel</a> and <a href="http://atrpms.net/documentation/install/">atrpms</a> (for multimedia/mp3 related items). Unfortunatly, on this moment, I don’t have a full list of dependencies because of the chaotic process building the softw
135are. I have a list with packages needed to build the software<br /> 136<a href="http://users.welmers.net/bastiaan/nobackup/el6-kde49/el6-dependencies-2013-01-07">el6-dependencies</a><br /> 137When only running the software, the -devel packages are not needed, so you can run a s/-devel//g on this list. 138</li> 139</ul> 140<h3>Building</h3> 141<p>The source tree can be found <a href="http://users.welmers.net/bastiaan/nobackup/el6-kde49/src/">here</a>. It contains the tar balls with the KDE software, and a subdirectory with dependencies.<br /> 142Last few tips when you want to build it:</p> 143<ul> 144<li>install cmake28 from epel, and symlink ~/bin/cmake (or /usr/local/bin/cmake) to /usr/bin/cmake28, and check if `cmake –version’ runs this newer version instead of the standard 2.6 one.</li> 145<li>pkg-config issues can be addressed by creating a /etc/profiles.d/pkgconfig.sh file containing<br /> 146<code>export PKG_CONFIG_PATH=/opt/kde49/lib/pkgconfig:/usr/share/pkgconfig:/usr/local/share/pkgconfig</code> 147</li> 148<li> the src/dependencies directory is unfortunately not complete because I threw away some stuff in the middle of the process. I’ll try to rebuild everything on a clean CentOS install and record it properly as soon as I find time for it.</li> 149 150 <p>Tags: <a href="/bastiaan/tag/495" rel="tag">4.9.5</a>, <a href="/bastiaan/tag/centos" rel="tag">centos</a>, <a href="/bastiaan/tag/centos6" rel="tag">centos6</a>, <a href="/bastiaan/tag/el6" rel="tag">el6</a>, <a href="/bastiaan/tag/kde" rel="tag">kde</a>, <a href="/bastiaan/tag/kde4" rel="tag">KDE4</a>, <a href="/bastiaan/tag/kde495" rel="tag">kde4.9.5</a>, <a href="/bastiaan/tag/rhel" rel="tag">rhel</a>, <a href="/bastiaan/tag/rhel6" rel="tag">rhel6</a></p> 151 <p class="postmetadata alt"> 152 <small> 153 This entry was posted 154 on Monday, January 7th, 2013 at 8:48 pm and is filed under <a href="/bastiaan/category/english" title="View all posts in English" rel="category tag">English</a>, <a href="/bastiaan/category/it" title="View all posts in IT" rel="category tag">IT</a>. 155 You can follow any responses to this entry through the <a href='/bastiaan/2013/01/kde-495-on-el6.html/feed'>RSS 2.0</a> feed. 156 157 You can <a href="#respond">leave a response</a>, or <a href="/bastiaan/2013/01/kde-495-on-el6.html/trackback" rel="trackback">trackback</a> from your own site. 158 159 160 </small> 161 </p> 162 163 </div> 164 </div> 165 166 167<!-- You can start editing here. --> 168 169 <h3 id="comments">3 Responses to “KDE 4.9.5 on EL6”</h3> 170 171 <ol class="commentlist"> 172 173 174 <li class="alt" id="comment-773"> 175 <img alt='' src='http://www.gravatar.com/avatar/2271676c23be5910e534237691b667c9?s=32&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G' class='avatar avatar-32' height='32' width='32' /> <cite>Fabrice</cite> Says: 176 <br /> 177 178 <small class="commentmetadata"><a href="#comment-773" title="">January 10th, 2013 at 12:34 pm</a> </small> 179 180 <p>It is an interesting work. KDE on RHEL 6 is stable but quite old on some aspects and some software are really buggy. Moreover I am pretty sure it is not a priority for Red Hat to rebase it soon. </p> 181<p> I have some questions/TODO items:<br /> 182 - Can we have in parallel KDE TUV and KDE 4.9 without interference?<br /> 183 - Can we select both in KDM?<br /> 184 - What about Nepomuk (virtuoso dependency)?<br /> 185 - What is the list of broken things?<br /> 186 - Does common software (out of KDE) work?</p> 187<p>To get dependencies, I would use rpm/srpm/readelf data on another distro and process them with graphviz.</p> 188<p>The reason to use RHEL for me is stability, thus upgrade KDE is a big and hazarding step.</p> 189 190 </li> 191 192 193 194 <li id="comment-774"> 195 <img alt='' src='http://www.gravatar.com/avatar/763d908dbbf84ecca66f830968690e6b?s=32&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G' class='avatar avatar-32' height='32' width='32' /> <cite><a href='http://www.welmers.net/' rel='external nofollow'>bastiaan</a></cite> Says: 196 <br /> 197 198 <small class="commentmetadata"><a href="#comment-774" title="">January 11th, 2013 at 11:45 pm</a> </small> 199 200 <p>
200Hi,</p> 201<p>The reason I want to use CentOS or RHEL is the stable base for the coming years. I don’t want to upgrade every year my operating system and after the upgrade see things broken that worked before. On common distributions, older but well working versions of software disappear quite soon, things like Gnome2 and KDE3. I still use KDE3 programs which lack a good KDE4 alternative, like Amarok 1.4 and KDirstat.<br /> 202With EL6 basis you can just build and install this software and keep running for the next years that wouldn’t be possible with other distributions, because the library basis changes after an upgrade.</p> 203<p>With KDE4 I want to run the latest stable version because this works the best. Like you said, older KDE4 versions are buggy an lack functionality, like the KDE 4.3 version shipped with EL6.<br /> 204I also do my work with KDevelop, on version 3 before, but the 4 version has a couple of great functionalities like code auto completion and “variable awareness”, and for the 4 version you need the latest one that is most stable.</p> 205<p>How does KDE 4.9.5 work for now? It works quite well, but a few problems I discovered for now:<br /> 206- kdm and the KDE screen locker is compiled against wrong PAM module, so password auth didn’t work, is fixed now<br /> 207- nepomuk/virtuoso didn’t work because the iODBC modules couldn’t be found. I fixed it by creating symlinks /opt/kde49/lib/odbc/virtodbc_r.so => /usr/lib64/virtodbc_r.so. Virtuoso is the opensource-6.1 version from Epel, Soprano is custom compiled against it.<br /> 208- even after nepomuk fixed, KDE doesn’t seem to remember my Desktop settings. Didn’t find the problem yet. I am on this now.</p> 209<p>Remember that this KDE version is installed aside all the EL6 stuff. It is easy to install and reinstall by just unpacking tarball/rm -rf /opt/kde49. The only thing you should be aware off is that your old KDE4 settings from your home directory may be upgraded as soon as you log on, so going back to the old KDE 4.3 version with previous settings could be a problem if you have no backup of your home directory. I think KDE 4.3 put your settings in $HOME/.kde4 (not sure) but KDE 4.9.5 puts it in $HOME/.local somewhere.<br /> 210Using different users for KDE 4.3 and KDE 4.9.5 desktop environments can avoid problems.</p> 211<p>All other software works and should work without problems. KDE3 stuff works as before (doesn’t conflict) and GTK programs like Gimp, Firefox and Chrome work fine, especially with the oxygen-gtk engine, so they look like the KDE programs.</p> 212<p>I configured the system to use the new version of KDM instead, so it starts up the newest KDE version. I think KDM can be configured to use both, but I am not sure if it works. I should change KDM versions, see the /etc/sysconfig/desktop part of my article.<br /> 213Remember that the PATH environment should change to when you want to change between KDE 4.3 from RHEL or custom KDE4.9.5 (put /opt/kde49/bin before /usr/bin etc)</p> 214 215 </li> 216 217 218 219 <li class="alt" id="comment-802"> 220 <img alt='' src='http://www.gravatar.com/avatar/4256d4ed015caa58e9727453db9bbd8c?s=32&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D32&r=G' class='avatar avatar-32' height='32' width='32' /> <cite>Nathan</cite> Says: 221 <br /> 222 223 <small class="commentmetadata"><a href="#comment-802" title="">February 2nd, 2013 at 3:31 am</a> </small> 224 225 <p>I have just tried this and unfortunately did not see the warning about backing up the .kde directory and could not revert back to KDE 4.3 so temporarily switched to gnome with a broken KDE for now, but I digress… I even backed out all path changes and KDE 4.3 was toast.</p> 226<p>The real reason for this is I had 2 strange errors. The first is it dropped my sound card and switched to default, but kept throwing the error ding sound over and over and would not stop. The dinging did not happen the first time I used it, but on subsequent logins.</p> 227<p>More importantly, when I tried to logoff, I received a kbuildsycoca4 crash right after the logoff occurrs, and before the login prompt appears.</p> 228<p>Most likely a dependency issue, but I don’t know what it would be. I am running RHEL 6.3.</p> 229 230 </li> 231 232 233 234 </ol> 235 236 237 238 239<h3 id="respond">Leave a Reply</h3> 240 241 242<form action="/bastiaan/wp-comments-post.php" method="post" id="commentform"> 243 244 245<p>
245<input type="text" name="author" id="author" value="" size="22" tabindex="1" /> 246<label for="author"><small>Name (required)</small></label></p> 247 248<p><input type="text" name="email" id="email" value="" size="22" tabindex="2" /> 249<label for="email"><small>Mail (will not be published) (required)</small></label></p> 250 251<p><input type="text" name="url" id="url" value="" size="22" tabindex="3" /> 252<label for="url"><small>Website</small></label></p> 253 254 255<!--<p><small><strong>XHTML:</strong> You can use these tags: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> </code></small></p>--> 256 257<p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p> 258 259<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" /> 260<input type="hidden" name="comment_post_ID" value="26" /> 261</p> 262 263</form> 264 265 266 267 268 </div> 269 270 271<hr /> 272<div id="footer"> 273<!-- If you'd like to support WordPress, having the "powered by" link somewhere on your blog is the best way; it's our only promotion or advertising. --> 274 <p> 275 Bastiaans Blog is proudly powered by 276 <a href="http://wordpress.org/">WordPress</a> 277 <br /><a href="/bastiaan/feed">Entries (RSS)</a> 278 and <a href="/bastiaan/comments/feed">Comments (RSS)</a>. 279 <!-- 15 queries. 0.135 seconds. --> 280 </p> 281</div> 282</div> 283 284<!-- Gorgeous design by Michael Heilemann - http://binarybonsai.com/kubrick/ --> 285 286 287<!-- SyntaxHighlighter Stuff -->
288<script type="text/javascript" src="/bastiaan/wp-content/plugins/syntaxhighlighter/files/shCore.js"></script>
vendor: 2 bytes, line 288
288
289<script type="text/javascript"> 290 dp.SyntaxHighlighter.ClipboardSwf = '/bastiaan/wp-content/plugins/syntaxhighlighter/files/clipboard.swf'; 291 dp.SyntaxHighlighter.HighlightAll('code'); 292</script>
292 293 294</body> 295</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.