Projects/KDE on Solaris: Difference between revisions

    From KDE TechBase
    (Notes about where pkgtool builds software, and changing the defaults)
    (Studio 12 errata for OSOL)
    Line 29: Line 29:


    * 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/
    * A check in of the RPM-style SPEC files (they automagicly grab the sources for you). - I'll show you as we go.
    * 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/
    * 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
    * SXCE or Solaris 10u5+. - For SXCE see; http://www.opensolaris.org/os/downloads/sol_ex_dvd_1/
    * SXCE or Solaris 10u5+. - For SXCE see; http://www.opensolaris.org/os/downloads/sol_ex_dvd_1/
    * If your running Solaris 10 over SXCE, then you can grab the hg install packages (needed to do the check in) from here : http://www.opensolaris.org/os/community/tools/scmdownloads/
    * If you're running Solaris 10 instead of SXCE, then you can grab the hg install packages (needed to do the check out) from here : http://www.opensolaris.org/os/community/tools/scmdownloads/


    ==== Patching your System ====
    ==== Patching your System ====
    Line 48: Line 48:
    Advanced (PCA)] works well on both S10 and SXCE to handle patches for  
    Advanced (PCA)] works well on both S10 and SXCE to handle patches for  
    Studio 12.
    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 be able to
    update the packages for bug fixes on the compiler.


    '''Solaris 10 '''
    '''Solaris 10 '''

    Revision as of 14:06, 20 December 2008

    Solaris (and OpenSolaris) are Free Software operating systems released under the CDDL by Sun Microsystems. They are vaguely SysV-like. 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.

    For an overview of the remaining issues, see the KDE4 on Solaris status page. It lists showstopper bugs and issues with dependencies. This page is concerned with instructions on how to build it all.

    Solaris and OpenSolaris are trademarks of Sun Microsystems, Inc.

    Scope

    This page is about KDE4 (the KDE 4.1 branch; we are aiming for having KDE4.1 fully functional on Solaris) on Sun Solaris S10U5 or OpenSolaris Nevada 70b or OpenSolaris Nevada 83 running on both amd64 or SPARCv9 hardware and compiled with Sun Studio 12. No other KDE releases, operating system versions 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 obsolete hardware platforms (32-bit only like i386 and SPARCv8). You can probably run the binaries produced by the project on other OpenSolaris releases, even OpenSolaris 2008.5, 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.

    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

    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:

    Patching your System

    You can use either Solaris 10 update 5 (S10U5) or Solaris Express (Nevada build 70b or 83 -- 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. Having installed with both types, I much prefer the GUI. It has finer grain control, and you can choose not to patch immediately (select the Advanced Options tab when you get to the install options, and unselect "Install Product Patches"). 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 [http://www.par.univie.ac.at/solaris/pca 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 be able to update the packages for bug fixes on the compiler.

    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-08
    • 124864-04
    • 124868-05
    • 124869-02
    • 124873-04
    • 124876-02
    • 126496-02
    • 126498-07
    • 126504-01
    • 126996-03
    • 127002-04
    • 127003-01
    • 127144-03
    • 127148-01
    • 127153-01
    • 127157-01

    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)

    Warning
    In /usr/include/python2.4/pyport.h , there's a gethostbyname prototype; it's wrong. comment it out for building.

    The line reads as:

    extern int gethostname(char *, int);


    SNV_(97<->103) - Special info

    Warning
    If you would like to build FOSSnas as a dep, It will fail unless you copy the following files into /usr/X11/lib/X11/config/ More info here; cat /tmp/FOSSnas.log


    * 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.

    Warning
    If you didn't tell CBE where you want to build the code, it will try to put it under /opt/dtbld. That really won't work because /opt/dtbld is owned by root. Modify ~/.pkgbuildmacros and fix %_topdir to some writable directory that you want to build the code in. Most folks use ~/packages. You can also route the BUILD logs to a directory specified by: ~/.pkgtoolrc and tell "logdir:" where to put it. (~/packages/BUILDLOGS seems reasonable)


    Getting KDE4-SPEC's (Release)

    Simply; cd ~ ; mkdir KDE4.X.x ; cd KDE4.X.x/

    hg clone https://solaris.bionicmutton.org/hg/kde4-specs

    Getting KDE4-SPEC's-Dev (Unstable Testing/Devolpment)

    Simply;

    cd ~ ; mkdir KDE4.X.x ; cd KDE4.X.x/

    hg clone https://solaris.bionicmutton.org/hg/kde4-specs-dev

    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.

    KBE 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

    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.