Difference between revisions of "Projects/KDE on Solaris/OpenSolaris"

Jump to: navigation, search
m (Installing Headers)
(74 intermediate revisions by 13 users not shown)
Line 1: Line 1:
KDE on OpenSolaris is like [[Projects/KDE on Solaris]] but with some extra setup steps. There are IPS packages available intermittently, when the KDE IPS package server is up (it's a VM at the end of a DSL line - see the archives of kde-discuss@opensolaris.org to find it). Using OSOL as a build platform is possible, but you'll need at least one Nevada machine as well.
+
KDE on OpenSolaris is like [[Projects/KDE on Solaris]] but with some extra setup steps. There are IPS packages available intermittently.
 +
 
 +
'''Status:''' For an overview of current issues, see the [[Projects/KDE_on_Solaris/OpenSolaris/Status|KDE4 on OpenSolaris status page]].
 +
 
 +
== Effortless building of KDE 4 ==
 +
 
 +
* Install current Solaris (S11. OpenIndiana is likely to work too). <br>Make sure you have enough memory (>=2GB) and swap (~2GB).
 +
* Make sure your user ("test" in this case) has privileges to install software etc. <syntaxhighlight lang="bash"># usermod -P "Software Installation" test</syntaxhighlight>
 +
* Download the Solaris Studio 12.3 tarball from http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index.html and export its location, e.g.
 +
<syntaxhighlight lang="bash">export SPRO=~/Downloads/SolarisStudio12.3-solaris-x86-bin.tar.bz2</syntaxhighlight>
 +
* Install Mercurial, the version control system. You need this to keep up-to-date with the packaging information.<syntaxhighlight lang="bash">pfexec pkg install developer/versioning/mercurial text/gnu-sed file/gnu-coreutils</syntaxhighlight>
 +
* Now fetch the repository containing the build information.<syntaxhighlight lang="bash">hg clone http://solaris.bionicmutton.org/hg/kde4-specs-470</syntaxhighlight>
 +
* Set-up a configuration file. Usually it's enough to just
 +
<syntaxhighlight lang="bash">cd kde4-specs-470/specs/ ; cp tools/build/config.template tools/build/config </syntaxhighlight>
 +
* Let a script install all the dependencies and the build environment. <syntaxhighlight lang="bash"> sh tools/install-be --osol</syntaxhighlight>
 +
* Go for a walk, sleep, enjoy the life, as pkg is quite slow and has a lot to do (~1 hour)<br>
 +
* When it's finished, do: <syntaxhighlight lang="bash">bash</syntaxhighlight> so that the new .bashrc is used <br>
 +
* Run <syntaxhighlight lang="bash">cd ~/src/kde4-specs-470/specs/; make KDEgdm-integration</syntaxhighlight> to start the build (build time may grow up to 24 hours on a decent machine).
 +
* Logout and login to your brand new KDE4.x session
 +
* Check [[Projects/KDE_on_Solaris/OpenSolaris/Status|KDE4 on OpenSolaris status page]] for workarounds for some known issues.
  
 
== Installing KDE4 IPS packages ==
 
== Installing KDE4 IPS packages ==
  
The current KDE4 IPS package server is the machine pkg in the domain bionicmutton.org; the IPS server runs on port 10000. This is a fairly standard IPS setup. The bionicmutton domain is Adriaan's and has been previously used to serve up SysV packages as well. The IPS server is in a VirtualBox at the end of a DSL line, so it's not necessarily up or fast. Eventually we will be moving to a more convention IPS repo like pending/ or contrib/.
+
The current KDE4 IPS package server is at http://solaris.bionicmutton.org/pkg/4.6.0
 +
This is a fairly standard IPS setup. The bionicmutton domain is Adriaan's and has been previously used to serve up SysV packages as well.
 +
The URL is changing over time, always check the forum (http://www.opensolaris.org/jive/forum.jspa?forumID=187) or IRC (#kde4-solaris) for the latest news.
  
First you need to set up a pkg authority to be able to get packages from bionicmutton at all. The first line creates the authority; the second fetches a catalog from it and the third checks that at least one of the packages can be found. Only the first is strictly necessary.
+
To add the kde ips repository:
 
+
<syntaxhighlight lang="bash">pfexec pkg set-publisher -p http://solaris.bionicmutton.org/pkg/4.6.0</syntaxhighlight>
<code bash>pfexec pkg set-authority \
+
    -O http://<host.domain>:10000/ bionicmutton
+
pfexec pkg refresh bionicmutton
+
pkg search -r KDEgdm-integration</code>
+
  
 
Remember that KDE includes setuid code. Remember that installing packages from untrusted and unsigned third parties is insecure. Remember that the KDE codebase is huge and not extensively tested on OpenSolaris yet. Consider whether you really want to install KDE4 on the machine you're working on. Then decide to do it anyway. You will need KDEbase-apps for things like Konqueror and Konsole, and KDEgdm-integration to be able to choose KDE as a session; other KDE packages may be installed as you need them (such as KDEpim, KDEgames, etc.). There is a KDEconsolidation package as well that pulls in everything we know of.
 
Remember that KDE includes setuid code. Remember that installing packages from untrusted and unsigned third parties is insecure. Remember that the KDE codebase is huge and not extensively tested on OpenSolaris yet. Consider whether you really want to install KDE4 on the machine you're working on. Then decide to do it anyway. You will need KDEbase-apps for things like Konqueror and Konsole, and KDEgdm-integration to be able to choose KDE as a session; other KDE packages may be installed as you need them (such as KDEpim, KDEgames, etc.). There is a KDEconsolidation package as well that pulls in everything we know of.
  
<code bash>pfexec pkg install KDEbase-apps \
+
<syntaxhighlight lang="bash">pfexec pkg install KDEgdm-integration</syntaxhighlight>
    KDEgdm-integration</code>
+
  
After installing KDEgdm-integration, you should be able to log out and choose KDE as a session type from the login manager. Then you get a full KDE 4.1.3 desktop. On my machine with Radeon graphics it is very slow to start up and launch applications, but fairly fast after that. There is a discussion on performance tweaking on kde-discuss@opensolaris.org.
+
After installing KDEgdm-integration, you should be able to log out and choose KDE as a session type from the login manager. Then you get a full KDE4 desktop. On my machine with Radeon graphics it is very slow to start up and launch applications, but fairly fast after that. There is a discussion on performance tweaking on kde-discuss@opensolaris.org.
  
 
Please report problems to [https://bugs.kde.org/wizard.cgi|the KDE bug tracker] with Operating System set to "Solaris". Please check for duplicates [https://bugs.kde.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&op_sys=Solaris&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=%255BBug+creation%255D&type0-0-0=noop&value0-0-0=] first.
 
Please report problems to [https://bugs.kde.org/wizard.cgi|the KDE bug tracker] with Operating System set to "Solaris". Please check for duplicates [https://bugs.kde.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&op_sys=Solaris&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=%255BBug+creation%255D&type0-0-0=noop&value0-0-0=] first.
  
== Building KDE4 on OpenSolaris ==
+
== Installing KDE4 IPS packages ==
  
It is possible to build and install KDE4 on an OpenSolaris machine. It requires much more setup than on a Nevada or Solaris 10 system. You can skip at least some of the CBE setup, but you will have to install lots of other tools and headers. You need the Nevada machine (a VirtualBox will do) because you cannot install SunStudio 12 and patches on OpenSolaris; the available compiler on OpenSolaris (Sun Studio Express) '''does not work''' for KDE4.
+
The current KDE4 IPS package server is at http://solaris.bionicmutton.org/pkg/4.5.3
 +
This is a fairly standard IPS setup. The bionicmutton domain is Adriaan's and has been previously used to serve up SysV packages as well.
 +
The URL is changing over time, always check the forum (http://www.opensolaris.org/jive/forum.jspa?forumID=187) or IRC (#kde4-solaris) for the latest news.
  
=== Installing Tools ===
+
To add the kde ips repository:
 +
<syntaxhighlight lang="bash">pfexec pkg set-publisher -p http://solaris.bionicmutton.org/pkg/4.5.3</syntaxhighlight>
  
Set up SunStudio 12 ('''not Studio Express''') and patch it up as described on the [[Projects/KDE on Solaris]] page. Tar that up and then extract it on your OpenSolaris machine. This will give you /opt/SUNWspro. Leave that alone.
+
Remember that KDE includes setuid code. Remember that installing packages from untrusted and unsigned third parties is insecure. Remember that the KDE codebase is huge and not extensively tested on OpenSolaris yet. Consider whether you really want to install KDE4 on the machine you're working on. Then decide to do it anyway. You will need KDEbase-apps for things like Konqueror and Konsole, and KDEgdm-integration to be able to choose KDE as a session; other KDE packages may be installed as you need them (such as KDEpim, KDEgames, etc.). There is a KDEconsolidation package as well that pulls in everything we know of.
  
You will also need to install more development tools with the following package installation command:
+
<syntaxhighlight lang="bash">pfexec pkg install KDEgdm-integration</syntaxhighlight>
<code bash>
+
pfexec pkg install SUNWmercurial \
+
    SUNWgmake \
+
    SUNWcurl \
+
    SUNWgnu-automake \
+
    SUNWaconf
+
</code>
+
  
=== Installing Headers ===
+
After installing KDEgdm-integration, you should be able to log out and choose KDE as a session type from the login manager. Then you get a full KDE4 desktop. On my machine with Radeon graphics it is very slow to start up and launch applications, but fairly fast after that. There is a discussion on performance tweaking on kde-discuss@opensolaris.org.
  
OpenSolaris ships without many of the headers you will need, instead packaging them separately (like the -devel packages in Linux, but with less-consistent naming). You will need at least the following:
+
Please report problems to [https://bugs.kde.org/wizard.cgi|the KDE bug tracker] with Operating System set to "Solaris". Please check for duplicates [https://bugs.kde.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&op_sys=Solaris&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=%255BBug+creation%255D&type0-0-0=noop&value0-0-0=] first.
<code bash>pfexec pkg install SUNWhea \
+
    SUNWaudh \
+
    SUNWsfwhea \
+
    SUNWxorg-headers</code>
+
 
+
=== Configuring Paths ===
+
 
+
For consistency, let's set up some standard directories in your home directory. Then we need to set up your build environment -- in this example by adding to your .bash_profile, but you may want to do that differently.
+
 
+
<code bash>
+
mkdir ~/src ~/bin ~/packages
+
cat >> ~/.bash_profile
+
PATH=/opt/SUNWspro/bin:/opt/dtbld/bin:$HOME/bin:$PATH
+
CC=/opt/SUNWspro/bin/cc
+
CXX=/opt/SUNWspro/bin/CC
+
MAKE=/usr/bin/gmake
+
export CC CXX MAKE
+
</code>
+
 
+
Don't worry that /opt/dtbld doesn't exist yet. We'll create it shortly. Note that we are adding the Studio12 paths to your environment and also ~/bin, which we will use to override some of the system path defaults.
+
 
+
=== Installing CBE Components ===
+
 
+
Next, we'll fetch sources for pkgtool and build it. The pkgtool program is used to build SysV packages and is part of the CBE (Common Build Environment). We won't be building all of the CBE, though.
+
<code bash>cd ~/src
+
wget http://ovh.dl.sourceforge.net/sourceforge/pkgbuild/pkgbuild-1.3.3.tar.bz2
+
gtar xvjf pkgbuild-1.3.3.tar.bz2
+
cd pkgbuild-1.3.3
+
./configure --prefix=/opt/dtbld
+
# Lots of output snipped
+
make
+
# Not much output snipped
+
pfexec make install
+
# More output snipped
+
pfexec chgrp bin /opt/dtbld/{bin,lib}
+
</code>
+
Check if /opt/dtbld/bin/pkgtool will run; for instance pkgtool --help should do the trick. You can remove ~/src/pkgbuild-1.3.3* now. You need to fix up the groups on bin and lib or the next installations will fail -- suspended for administrative reasons.
+
 
+
Next up we will install some other CBE components, using KDE's copy of their specfiles. We need to get the KDE specfile repository for this, though:
+
<code bash>cd ~/src
+
hg clone http://solaris.bionicmutton.org/hg/kde4-specs-dev
+
cd kde4-specs-dev/specs
+
gmake CBEcmake CBEyasm
+
</code>
+
This will build and install cmake 2.6.2 and yasm into /opt/dtbld. The cmake is newer than what CBE 1.7.0 will deliver; yasm is the same as CBE yasm.
+
 
+
=== Installing the Rest ===
+
 
+
You will need to put some symlinks into your ~/bin (or switch around your PATH, but I think using symlinks is safer). There is a target check-version that will check the versions of installed components and what's in your path and print out a report. Something like this:
+
 
+
<code bash>
+
$ make check-version
+
! $AUTOMAKE is unset and automake is not in your PATH.
+
!  Make sure an automake is available (CBEautomake).
+
! install is not GNU install; make sure GNU install
+
!  is in your path and can be called as "install"
+
! System will probably not compile properly.
+
!  hit ^C now to abort compilation.
+
</code>
+
 
+
It's a good idea to listen to what check-version prints, because it will save you from mysterious compile failures much later. To solve typical problems, we add symlinks in ~/bin as follows:
+
 
+
<code bash>
+
cd ~/bin
+
ln -s `which automake-1.10` automake
+
ln -s `which aclocal-1.10` aclocal
+
ln -s `which ginstall` install
+
for i in autoconf autoheader autom4te autoreconf
+
do
+
    ln -s `which $i` $i
+
done
+
</code>
+

Revision as of 17:41, 6 April 2013

KDE on OpenSolaris is like Projects/KDE on Solaris but with some extra setup steps. There are IPS packages available intermittently.

Status: For an overview of current issues, see the KDE4 on OpenSolaris status page.

Effortless building of KDE 4

export SPRO=~/Downloads/SolarisStudio12.3-solaris-x86-bin.tar.bz2
  • Install Mercurial, the version control system. You need this to keep up-to-date with the packaging information.
    pfexec pkg install developer/versioning/mercurial text/gnu-sed file/gnu-coreutils
  • Now fetch the repository containing the build information.
    hg clone http://solaris.bionicmutton.org/hg/kde4-specs-470
  • Set-up a configuration file. Usually it's enough to just
cd kde4-specs-470/specs/ ; cp tools/build/config.template tools/build/config
  • Let a script install all the dependencies and the build environment.
     sh tools/install-be --osol
  • Go for a walk, sleep, enjoy the life, as pkg is quite slow and has a lot to do (~1 hour)
  • When it's finished, do:
    bash
    so that the new .bashrc is used
  • Run
    cd ~/src/kde4-specs-470/specs/; make KDEgdm-integration
    to start the build (build time may grow up to 24 hours on a decent machine).
  • Logout and login to your brand new KDE4.x session
  • Check KDE4 on OpenSolaris status page for workarounds for some known issues.

Installing KDE4 IPS packages

The current KDE4 IPS package server is at http://solaris.bionicmutton.org/pkg/4.6.0 This is a fairly standard IPS setup. The bionicmutton domain is Adriaan's and has been previously used to serve up SysV packages as well. The URL is changing over time, always check the forum (http://www.opensolaris.org/jive/forum.jspa?forumID=187) or IRC (#kde4-solaris) for the latest news.

To add the kde ips repository:

pfexec pkg set-publisher -p http://solaris.bionicmutton.org/pkg/4.6.0

Remember that KDE includes setuid code. Remember that installing packages from untrusted and unsigned third parties is insecure. Remember that the KDE codebase is huge and not extensively tested on OpenSolaris yet. Consider whether you really want to install KDE4 on the machine you're working on. Then decide to do it anyway. You will need KDEbase-apps for things like Konqueror and Konsole, and KDEgdm-integration to be able to choose KDE as a session; other KDE packages may be installed as you need them (such as KDEpim, KDEgames, etc.). There is a KDEconsolidation package as well that pulls in everything we know of.

pfexec pkg install KDEgdm-integration

After installing KDEgdm-integration, you should be able to log out and choose KDE as a session type from the login manager. Then you get a full KDE4 desktop. On my machine with Radeon graphics it is very slow to start up and launch applications, but fairly fast after that. There is a discussion on performance tweaking on kde-discuss@opensolaris.org.

Please report problems to KDE bug tracker with Operating System set to "Solaris". Please check for duplicates [1] first.

Installing KDE4 IPS packages

The current KDE4 IPS package server is at http://solaris.bionicmutton.org/pkg/4.5.3 This is a fairly standard IPS setup. The bionicmutton domain is Adriaan's and has been previously used to serve up SysV packages as well. The URL is changing over time, always check the forum (http://www.opensolaris.org/jive/forum.jspa?forumID=187) or IRC (#kde4-solaris) for the latest news.

To add the kde ips repository:

pfexec pkg set-publisher -p http://solaris.bionicmutton.org/pkg/4.5.3

Remember that KDE includes setuid code. Remember that installing packages from untrusted and unsigned third parties is insecure. Remember that the KDE codebase is huge and not extensively tested on OpenSolaris yet. Consider whether you really want to install KDE4 on the machine you're working on. Then decide to do it anyway. You will need KDEbase-apps for things like Konqueror and Konsole, and KDEgdm-integration to be able to choose KDE as a session; other KDE packages may be installed as you need them (such as KDEpim, KDEgames, etc.). There is a KDEconsolidation package as well that pulls in everything we know of.

pfexec pkg install KDEgdm-integration

After installing KDEgdm-integration, you should be able to log out and choose KDE as a session type from the login manager. Then you get a full KDE4 desktop. On my machine with Radeon graphics it is very slow to start up and launch applications, but fairly fast after that. There is a discussion on performance tweaking on kde-discuss@opensolaris.org.

Please report problems to KDE bug tracker with Operating System set to "Solaris". Please check for duplicates [2] first.


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal