Projects/KDE on Solaris: Difference between revisions
(change in status for 12/5/09) |
SunTzuTech (talk | contribs) (Updates.) |
||
Line 5: | Line 5: | ||
The [http://www.opensolaris.org/os/project/kde/ 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. | The [http://www.opensolaris.org/os/project/kde/ 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 [[Projects/KDE_on_Solaris/Status|the KDE4 on Solaris status page]], '''Updated 12/ | '''Status:''' For an overview of the remaining issues, see [[Projects/KDE_on_Solaris/Status|the KDE4 on Solaris status page]], '''Updated 12/08/2009'''. It lists dependencies, showstopper bugs and issues with dependencies. | ||
'''OpenSolaris:''' Building on OpenSolaris is covered on the [[Projects/KDE_on_Solaris/OpenSolaris|OpenSolaris-specific page]]. | '''OpenSolaris:''' Building on OpenSolaris is covered on the [[Projects/KDE_on_Solaris/OpenSolaris|OpenSolaris-specific page]]. | ||
Line 17: | Line 17: | ||
== Scope == | == Scope == | ||
This page is about KDE4 (the KDE 4. | This page is about KDE4 (the KDE 4.4.0 branch; we are aiming for having KDE4.4.0 fully functional on Solaris) on Sun Solaris S10U8, running on both amd64 or SPARCv9 hardware and compiled with Sun Studio 12. | ||
No other KDE releases, operating system versions, compiler version (ie, not Studio 11 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. | No other KDE releases, operating system versions, compiler version (ie, not Studio 11 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. | ||
Line 27: | Line 27: | ||
what needed doing and what was problematic somewhere below. | what needed doing and what was problematic somewhere below. | ||
We are concentrating on 4. | We are concentrating on 4.4.0, since Sun has not even put xcb into the Xserver in SXCE or OSOL. (which is a minor addition to the X protocol, and minor functionality in KDE). | ||
xcb in | |||
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. | 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. | ||
Line 43: | Line 40: | ||
{{warning|The Techbase documentation gets out of date quite quickly. Do not follow it blindly; step into the IRC channel or on to the mailing list for more details or help with issues.}} | {{warning|The Techbase documentation gets out of date quite quickly. Do not follow it blindly; step into the IRC channel or on to the mailing list for more details or help with issues.}} | ||
Getting KDE4 on your Solaris machine requires the following: | Getting KDE4 on your Solaris machine requires the following: | ||
* Solaris 10U8. or patch to it. 64-bit libraries like openssl is important | |||
enough to get it there. we have a 64-bit libusb available. | |||
* CBE (Common Build Environment) 1.7.0. - http://opensolaris.org/os/project/jds/contributing/building/ | * CBE (Common Build Environment) 1.7.0. - http://opensolaris.org/os/project/jds/contributing/building/ | ||
Line 49: | Line 49: | ||
* Sun Studio 12. - http://developers.sun.com/sunstudio/downloads/ | * Sun Studio 12. - http://developers.sun.com/sunstudio/downloads/ | ||
* The latest patches for SS12 - http://developers.sun.com/sunstudio/downloads/patches/ss12_patches.jsp | * The latest patches for SS12 - http://developers.sun.com/sunstudio/downloads/patches/ss12_patches.jsp | ||
* If you're running Solaris 10 instead of SXCE, then you can grab the SUNWmercurial package from an SXCE media, since Sun/OpenSolaris removed the SUNWmercurial package from www.opensolaris.org. | * If you're running Solaris 10 instead of SXCE, then you can grab the SUNWmercurial package from an SXCE media, since Sun/OpenSolaris removed the SUNWmercurial package from www.opensolaris.org. | ||
==== Patching your System ==== | ==== Patching your System ==== | ||
You can use | You can use Solaris 10 update 8 (S10U8). or Solaris Express (Nevada build 101 or 110 -- these two versions run on our build machine and on at least one developer's desktop). Other versions of the operating system might work, but there are no guarantees and probably not much sympathy either; OpenSolaris 2008.5 is downright broken as a development platform. | ||
'''Studio 12''' | '''Studio 12''' | ||
Line 107: | Line 106: | ||
FOSSboost will fail as follows: | FOSSboost will fail as follows: | ||
<code> | |||
vesta% tail /tmp/FOSSboost.log | vesta% tail /tmp/FOSSboost.log | ||
pkgbuild: + chmod 755 Solaris/patch.sh | pkgbuild: + chmod 755 Solaris/patch.sh | ||
Line 119: | Line 118: | ||
pkgbuild: + exit 1 | pkgbuild: + exit 1 | ||
pkgbuild: Bad exit status from /var/tmp/pkgbuild-edwardoc/pkgbuild-tmp-1.8081 (%prep) | pkgbuild: Bad exit status from /var/tmp/pkgbuild-edwardoc/pkgbuild-tmp-1.8081 (%prep) | ||
</code> | |||
{{warning|In /usr/include/python2.4/pyport.h , there's a gethostbyname prototype; it's wrong. Commenting it out is sufficient as the make system will check for its presence with a bounded grep [ie, ^externt int gethostbyname]). | {{warning|In /usr/include/python2.4/pyport.h , there's a gethostbyname prototype; it's wrong. Commenting it out is sufficient as the make system will check for its presence with a bounded grep [ie, ^externt int gethostbyname]). | ||
Line 182: | Line 182: | ||
* 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 | * 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- | == Getting KDE4-SPEC's-440 (Unstable Testing/Development) == | ||
Simply; | Simply; | ||
Line 188: | Line 188: | ||
cd ~ ; mkdir KDE4.X.x ; cd KDE4.X.x/ | cd ~ ; mkdir KDE4.X.x ; cd KDE4.X.x/ | ||
hg clone https://solaris.bionicmutton.org/hg/kde4-specs- | hg clone https://solaris.bionicmutton.org/hg/kde4-specs-440 | ||
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). | 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). |
Revision as of 17:23, 8 December 2009
Projects/KDE on Solaris
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | Eesti | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenčina | Slovenščina | српски | Türkçe | Tiếng Việt | Українська | 简体中文 | 繁體中文
Solaris and OpenSolaris are operating systems that are available for free. In addition, OpenSolaris is released under the CDDL, a FOSS license, by Sun Microsystems. 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 12/08/2009. It lists dependencies, showstopper bugs and issues with dependencies.
OpenSolaris: Building on OpenSolaris is covered on the OpenSolaris-specific page.
This page is concerned with instructions on how to build it all.
!!! Substantially effort is being put into getting all the package requirements for Solaris 10 to be put into the dev-440 tree. See status page for packages that have been migrated to full spec.
Solaris and OpenSolaris are trademarks of Sun Microsystems, Inc.
Scope
This page is about KDE4 (the KDE 4.4.0 branch; we are aiming for having KDE4.4.0 fully functional on Solaris) on Sun Solaris S10U8, running on both amd64 or SPARCv9 hardware and compiled with Sun Studio 12.
No other KDE releases, operating system versions, compiler version (ie, not Studio 11 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.4.0, since Sun has not even put xcb into the Xserver in SXCE or OSOL. (which is a minor addition to the X protocol, and minor functionality in KDE).
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.
Prerequisites
Getting KDE4 on your Solaris machine requires the following:
- Solaris 10U8. or patch to it. 64-bit libraries like openssl is important
enough to get it there. we have a 64-bit libusb available.
- 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 automagicly grab the sources for you). - I'll show you as we go.
- Sun Studio 12. - http://developers.sun.com/sunstudio/downloads/
- The latest patches for SS12 - http://developers.sun.com/sunstudio/downloads/patches/ss12_patches.jsp
- If you're running Solaris 10 instead of SXCE, then you can grab the SUNWmercurial package from an SXCE media, since Sun/OpenSolaris removed the SUNWmercurial package from www.opensolaris.org.
Patching your System
You can use Solaris 10 update 8 (S10U8). or Solaris Express (Nevada build 101 or 110 -- these two versions run on our build machine and on at least one developer's desktop). Other versions of the operating system might work, but there are no guarantees and probably not much sympathy either; OpenSolaris 2008.5 is downright broken as a development platform.
Studio 12 There is a command line install and a GUI. With the GUI, you can choose not to patch immediately (select the Advanced Options tab when you get to the install options, and un-select "Install Product Patches"). If not using the GUI, then use the batch installer as such (set -a <parm> as required):
./batch_installer -d /opt/SUNWspro -a intel-S2 --copy-sysprep --accept-sla --no-prodpatch
The reason to not patch immediately, is that you're going to have patch Studio 12 after installing, and there's no sense carrying around an extra 400MB in saved patches because the Studio 12 distro already has some older patches included in the distribution. Using Patch Check Advanced (PCA) works well on both S10 and SXCE to handle patches for Studio 12.
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. Patch Sun Studio 12 with at least the following (there's an up-to-date list), assuming amd64; for SPARC, check that download page:
- 124864-16 (Sun Studio 12_x86: Patch for Sun C++ Compiler)
- 124868-10 (Sun Studio 12_x86: Patch for C 5.9 compiler)
- 124869-02 (Sun Studio 12_x86: Patch for Sun Performance Library)
- 124873-07 (Sun Studio 12_x86: Patch for dbx 7.6 Debugger)
- 124876-02 (Sun Studio 12_x86: Patch for Debugger GUI 3.0)
- 126496-04 (Sun Studio 12_x86: Patch for debuginfo handling)
- 126498-16 (Sun Studio 12_x86: Sun Compiler Common patch for x86 backend)
- 126504-01 (Sun Studio 12_x86: Patch for Sun Distributed Make 7.8)
- 126996-04 (Sun Studio 12_x86: Patch for Performance Analyzer Tools)
- 127002-10 (Sun Studio 12_x86: Patch for Fortran 95 8.3 Compiler)
- 127003-03 (Sun Studio 12_x86: Patch for Fortran 95 8.3 Dynamic Libraries)
- 127144-03 (Sun Studio 12_x86: Patch for Fortran 95 8.3 Support Library)
- 127148-01 (Sun Studio 12_x86: Patch for update notification)
- 127153-01 (Sun Studio 12_x86: Patch for IDE)
- 127157-01 (Sun Studio 12_x86: Patch for install utilities.)
- 128226-01 (Sun Studio 12_x86: Patch for localization of Sun C C++ F77 F95)
Also patch your OS with (again, these are listed on the SS12 patches page):
- 119964-08
- 120754-05
- 118677-03
- 119961-04
- 119255-57
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 10U5 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:
[edward@SXCE-Workstation]:/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/sfw/bin/wget http://xorg.freedesktop.org/archive/individual/util/xorg-cf-files-1.0.2.tar.bz2
/usr/bin/bunzip2 -cd xorg-cf-files-1.0.2.tar.bz2 | tar -xvf -
cd xorg-cf-files-1.0.2
- 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
- x86/x64:
/usr/sfw/bin/wget http://dlc.sun.com/osol/jds/downloads/cbe/test/desktop-cbe-1.7.0-rc1-x86.tar.bz2
/usr/bin/bunzip2 -cd desktop-cbe-1.7.0-rc1-x86.tar.bz2 | tar -xvf -
- SPARC:
/usr/sfw/bin/wget http://dlc.sun.com/osol/jds/downloads/cbe/test/desktop-cbe-1.7.0-rc1-sparc.tar.bz2
/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.X.x ; cd KDE4.X.x/
hg clone https://solaris.bionicmutton.org/hg/kde4-specs
- 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-440 (Unstable Testing/Development)
Simply;
cd ~ ; mkdir KDE4.X.x ; cd KDE4.X.x/
hg clone https://solaris.bionicmutton.org/hg/kde4-specs-440
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/
more README
- Read though and take note of anything important you may need to know since this was last updated.
/opt/dtbld/bin/env.sh
- 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
- This updates cmake from the CBE base because there are some Solaris/Studio 12 fixes there in the updated package.
make
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 |
Getting help
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-solaris 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; otherwise you will be quickly ignored.
Binary Packages
A basic install script has been provided to do as much validation as can be done to make sure accounts, privileges, space requirements are satisfied to install the binary packages for KDE4 for Solaris.
The install script has several options:
You must set SRC_DOWNLOAD to a location that has 3GB of free space, not including the requirements for 2GB on /opt.
There is an option to download, unroll, and remove the tarball and pkg dir after install which minimizes the need for keeping it all local. This is done by editing the following variables in the script as such:
- KEEP_TARBALL=NO
- KEEP_PKGDIRS=NO
The script was tested locally, and other than not downloading the tarballs to the local system, the script stands up a beautiful KDE4 install for Solaris 10. You are expected to follow the instructions the script give you if you are missing accounts or privilieges.
No warranties, implied or otherwise. I'm doing this just because I'm hoping other folks will help test KDE4 and be able to report bugs. It does take about a day to build KDE4 on a Quad core X64 box as I've packaged it, so the build is not trivial.
Solaris 10/X64
This is KDE-4.1.3 for Solaris 10/X64. (if you choose to load it on SXCE or OSOL, comments about it's functionality or things being borked will be ignored... )
Space requirements:
- Downloads: 700MB
- Uncompressed pkgs: 2GB
- /opt/foss 1.3GB
- /opt/kde-4.1 700MB
The install script is maintained and located (and will be updated) at http://solaris.bionicmutton.org/PKGS/S10-x64/Install-s10-x64-kde4.sh
There are some local variables in the script, which will allow you to change some of the behaviors, such as download all, but don't install, or download each package, install it and remove the downloaded package.