LICENSE RIGHTS Except for any included software package or file that is licensed to you by Oracle under different license terms, we grant you a perpetual (unless terminated as provided in this agreement), nonexclusive, nontransferable, limited License to use the Programs only for the purpose of developing, testing, prototyping and demonstrating your applications, and not for any other purpose.
would appear to allow contribution of an individual to the KDE4 project. Make your own decision, or talk to your local Business legal representative...
In addition, OpenSolaris was released under the CDDL, a FOSS license, by Sun Microsystems, but Oracle disbanded the open development of the project after acquiring Sun. Whilst Solaris has its roots in BSD, it is mostly SysV. Solaris 10 is certified UNIX SUSv3. KDE4 runs on this operating system.
The KDE Project on the OpenSolaris site is intended to be the definitive source of information, but this page on TechBase is intended to collect information, porting and compilation guides, etc. Since TechBase is a wiki, this is much easier than going through the OpenSolaris editing process.
Status: For an overview of the remaining issues, see the KDE4 on Solaris status page, Updated 03/04/2011. It lists dependencies, showstopper bugs and issues with dependencies. Not much has happened on the S10 KDE4 front for a while. Trying to resurrect it again....
Oracle Solaris 11 Express nee OpenSolaris: Building on Oracle Solaris 11 Express/OpenSolaris is covered on the OpenSolaris-specific page.
This page is concerned with instructions on how to build it all.
KDE4 v4.6.0 should be able to be built on Solaris 10 with SS12.2, though there are known issues the SS12.2 and CXX Templates among other bugs
Solaris and OpenSolaris are trademarks of Oracle.
This page is about KDE4 (the KDE 4.6.0 branch; we are aiming for having KDE4.6.0 fully functional) on Oracle Solaris S10U9 and Oracle Solaris 11 Express, running initially on x86 hardware, then supporting SPARC hardware and compiled with Sun Studio 12.2.
No other KDE releases, operating system versions, compiler version (ie, not Studio 11, 12 or Sun Studio Express) or hardware platforms are the target of this project, simply because the core contributors to the project do not have them or the time to work on them.
That's not to say it will not necessarily work; people have and continue to contribute work for older hardware platforms (32-bit only like i386[P3/Athlon]). You can probably run the binaries produced by the project on other OpenSolaris releases, even OpenSolaris 2008.11 or 2009.06, but you're on your own.
On your own, that is, unless you register for Techbase and add your comments on what needed doing and what was problematic somewhere below.
We are concentrating on 4.6.0. However since Oracle has not put xcb into the Xserver in Solaris 10 or Solaris 11 Express. (which is a minor addition to the X protocol, and minor functionality in KDE), there may be some problems related to this missing feature.
The core team for KDE4 on Solaris is Adriaan de Groot, Lukas Oboril, Stefan Teleman. We'd like to thank Edward O'Callaghan, Ben Taylor and Mark Wright for their help in particular.
Standard Environment Setup
We don't have much in the way of documented KDE4 *use* on Solaris nor many reports of bugs found in daily use of the below KDE4 packages on http://bugs.kde.org/ . Thus we welcome any contributions though either bug reports, the repo or by email.
Getting KDE4 on your Solaris machine requires the following:
- Solaris 10U9 or patch to it. 64-bit libraries like openssl is important enough to get it there, and we have a 64-bit libusb available. Initially, to restart the S10 project, only 32-bit compiles will be done to get a proof of concept.
- CBE (Common Build Environment) 1.7.0. - http://opensolaris.org/os/project/jds/contributing/building/
- A check out of the RPM-style SPEC files (they automagically grab the sources for you). - I'll show you as we go.
- Oracle Studio 12.2 - Packages if you have a support contract, tarfile if you don't.
- [ http://www.oracle.com/technetwork/server-storage/solarisstudio/downloads/index-jsp-136213.html The latest patches for SS12.2] - *if you have a support contract*.
- FOSSmercurial - pkg download to be provided soon. Can also use an old SXCE SUNWmercurial since it's all python except for a couple of libraries.
- Solaris 10 Webstack 1.5. Install mysql51 (for QT) and ruby18 (for KDEbindings) using the installer, as well as pfexec pkgadd -d sun-mysql51lib.pkg && pfexec pkgadd -d sun-apache22. We need apache22 to get the Apache Portable Runtime until these may be ported into the FOSS infrastructure. Also, a late addition is Python2.6 (sun-python26) needed for KDEbindings and KDEsdk.
- Fix /usr/include/python2.4/pyport.h
- Open Sound System Drivers
- pkgrm SUNWpixman (for S10U8, FOSSxstuff replaces it with a fixed version)
- ogl-select service needs to run for QT build ('svcadm enable ogl-select')
Patching your System
You can use Solaris 10 update 9 (S10U9).
Studio 12.2 This installer requires a GUI so better learn to use ssh -X if not on the localhost. On Solaris 10, there are about 5 patches out for SS12.2, so if you have a support contract, go for it. There are still some serious bugs in SS12.2, and you can help by registering with bugs.sun.com and voting for bugs that affect the Studio12.2 compiler and KDE dependencies (eigen, boost, templates). You can vote for 3 bugs at any time, so if one has a higher priority for you, remove the vote for another bug and vote the one you want.
Studio 12.2 There is a GUI. With the GUI, there are no patch options. I prefer to select to remove the Japanese and Chinese locales, for obvious reasons. It's probably easier to just load from the tarball.
Using Patch Check Advanced (PCA) works well on S10 to handle patches for Studio 12.2. If you have a contract, you can get current, otherwise just deal with stock Studio 12.2 since the free Studio patches died with Sun.
If you are running OSOL2008.11 or OSOL2008.05, then you will need to select the download Studio 12 *tarball* from the Sun Download site. The packages will add on OpenSolaris, but patchadd *doesn't* work, so you will *not* be able to update the packages for bug fixes on the compiler. An alternative would be to rsync /opt/SUNWspro from a working Solaris 10 or Solaris express system to the Open Solaris system. This may be easier in the long run if you have this configuration, since you'll patch S10 or SXCE, and then just rsync to the OSOL box.
Solaris 10 Install Sun Studio 12.2.
Also patch your OS with (again, these are listed on the SS12.2 patches page):
You can check with CC -V if you are up-to-date for the 124864 patch and cc -V for the 124868. Those are the most important ones.
Solaris 10 Python - Special info
FOSSboost will fail as follows:
vesta% tail /tmp/FOSSboost.log
pkgbuild: + chmod 755 Solaris/patch.sh
pkgbuild: + bash -x ./Solaris/patch.sh boost
pkgbuild: + '[' '!' -f configure ']'
pkgbuild: + echo '# Checking if pyport.h is sane ... must not redeclare gethostname.'
pkgbuild: # Checking if pyport.h is sane ... must not redeclare gethostname.
pkgbuild: + test -f /usr/include/python2.4/pyport.h
pkgbuild: + grep '^extern int gethostname' /usr/include/python2.4/pyport.h
pkgbuild: extern int gethostname(char *, int);
pkgbuild: + exit 1
pkgbuild: Bad exit status from /var/tmp/pkgbuild-edwardoc/pkgbuild-tmp-1.8081 (%prep)
The line reads as:extern int gethostname(char *, int);
SNV_(97<->103) - Special info
* Fixed in SNV103: http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6763798
* Here is a workaround:
[[email protected]]:/export/home/edward:~>uname -sv SunOS snv_99
If you don't do this step you will end up with the following error : "FOSSnas | FAILED | pkgbuild build failed"
/usr/bin/bunzip2 -cd xorg-cf-files-1.0.2.tar.bz2 | tar -xvf -
- pfexec cp X11.rules /usr/X11/lib/X11/config/
- pfexec cp X11.tmpl /usr/X11/lib/X11/config/
- pfexec cp xorg.cf /usr/X11/lib/X11/config/
- pfexec cp xorgsite.def /usr/X11/lib/X11/config/
- pfexec cp xorgversion.def /usr/X11/lib/X11/config/
- pfexec cp xf86.rules /usr/X11/lib/X11/config/
- pfexec cp xfree86.cf /usr/X11/lib/X11/config/
- pfexec touch /usr/X11/lib/X11/config/date.def
- pfexec touch /usr/X11/lib/X11/config/host.def
- pfexec cp Imake.tmpl /usr/X11/lib/X11/config/
Setting up CBE 1.7RC1
N.B. Please check if a later version is out in : http://dlc.sun.com/osol/jds/downloads/cbe/
cd ~ ; mkdir CBE1.7 ; cd CBE1.7
/usr/bin/bunzip2 -cd desktop-cbe-1.7.0-rc1-x86.tar.bz2 | tar -xvf -
/usr/bin/bunzip2 -cd desktop-cbe-1.7.0-rc1-sparc.tar.bz2 | tar -xvf -
`cd` in and follow the README/INSTALL file.
Getting KDE4-SPEC's (Release)
Simply; cd ~ ; mkdir KDE4 ; cd KDE4/
- If you don't like using mercurial at all, you can get the tarball here; http://solaris.bionicmutton.org/hg/kde4-specs/archive/tip.tar.gz
Getting KDE4-SPEC's-460 (Unstable Testing/Development)
cd ~ ; mkdir KDE4.X.x ; cd KDE4.X.x/
- If you don't like using mercurial at all, you can get the tarball here; http://solaris.bionicmutton.org/hg/kde4-specs-460/archive/tip.tar.gz
N.B. The above is also for contributing back (which this mail message is all about). The *-specs-dev repo is public and writable (over https). So we welcome you too can push fixes back on to it; A review will happen before things end up in *-specs.
KDE4 Compilation and Installation of (Stable)
cd kde4-specs/ ; hg up ; cd specs/
- Read though and take note of anything important you may need to know since this was last updated.
- Note: This command will start a subshell. Be careful, because environment variables (notably PATH) set in your shell startup files will override those set up by this command.
make rebuild-CBEcmake rebuild-CBEyasm
- This updates cmake from the CBE base because there are some Solaris/Studio 12 fixes there in the updated package.
This will now go off and build KDE4 and enything else needed as SysV packages. Come back in about 24h depending on your hardware.
What to expect after a Clean Build
FOSSnas | PASSED | FOSSncurses | PASSED | FOSSopencdk | PASSED | FOSSopenldap | PASSED | FOSSpcre | PASSED | FOSSphonon | PASSED | FOSSqimageblitz | PASSED | FOSSqt | PASSED | FOSSreadline | PASSED | FOSSsoprano | PASSED | FOSSsqlite | PASSED | FOSSstdcxx | PASSED | FOSSstrigi | PASSED | FOSSxprop | PASSED | KDEbase-apps | PASSED | KDEbase-runtime | PASSED | KDEbase-workspace | PASSED | KDEdt-integration | PASSED | KDElibs | PASSED | KDEpim | PASSED | KDEpimlibs | PASSED | KDEsdk | PASSED | FOSSlibiconvwo | PASSED | FOSSgettextwo | PASSED | FOSScyrus-saslwo | PASSED | FOSSmit-kerberos5wo | PASSED | FOSSopenldapwo | PASSED |
As usual, the IRC channel is a good place to start, but you must be able to pastebin compilation errors in order to get any help. The IRC channel is never too busy. #kde-solaris4 on irc.freenode.net . However, keep in mind that IRC is a live medium and it may not be the best place to ask questions. The mailing list kde-discuss at opensolaris.org is much more patient.
Also, you are expected to do your homework. Compiling KDE4 on Solaris is not for the faint of heart and you really need to know your way around compiling stuff and dealing with system software installation.
No binary packages for KDE4 for Solaris 10 currently