Projects/KDE on Solaris/KDE4 on Solaris10 Status

From KDE TechBase

May 17, 2011 Status

Work on the KDE4.6.3/Solaris 10 project restarted again, though currently effort is being put toward getting as many qtwebkit and qt patches to the tree since there's rumor of another release of qt upcoming.

While the initial push was to continue using Sun Studio 12, it has manifested that there are just too many limitations with that compiler to continue justifying using it.

The default compiler should be Sun Studio 12.1. The default download is busticated, but given that SS12.1 is built on Solaris 10, the folks from the OpenSolaris KDE4 team suggested using that to "hand patch" that compiler. The main reason for this move is the glaring number of problems with C++ templating.


I have reverted many changes that were done to try and use Solaris 10 tool chain which have some serious issues. I am not opposed to trying to do this with the basic Solaris tools, but both options should be available. KDE4.4.1 worked with all the original FOSS software (gettext/iconv/mit-kerberos5/openldap/cyrus-sasl).

Qt-4.7.2 now builds out of the repo on Solaris10/SS12. Working towards getting the rest of the builds working for KDEgdm-consolidation.

Qt-4.7.2 fails on an internal compiler bug with Solaris 10/SS12.2 so that is a stopper for right now.

exiv2-0.20 - One sticky issue has cropped up which has to do with Templates with SS12 and the exiv2-0.20. This builds from the repo if using Sun Studio 12.1. I've written in some code to base-exiv2.spec which resets the compiler to sexp (how cbe recognizes SunStudio12.1) to effect a hands-off build.

curl-7.3.21 is fixed, back to depending on FOSSmit-kerberos5, some library magic and taking care of the GSS_DLLIMP define error that existed there.

boost-1.46.1 - upgraded from 1.45. Needless to say, I was amazed that the upgrade went so smoothly. Had to tweak a couple of patches and that was it. Need to run the verification test. Also, the download fails to unroll with gtar, and I've used Solaris tar to unroll and reroll the tar ball.

akonadi-1.4.95 - add a patch for S10 to inline a fake mkdtemp function and modify for support of boost-1.46.1

avahi-0.6.22 - small fixups on directory permissions missed in the big prefix move, and use the correct patchprefix variable.

redland-1.0.8 - add small LDFLAGS add for -L|-R/usr/sfw/lib and -l gssapi_krb5

strigi-0.7.2 - modify base-strigi.spec to build using Sun Studio 12.1 (sexp), since it uses exiv2 includes....

libdbusmenu-qt-0.6.4 - add a patch for S10 to deal with the lack of function mkdtemp. created a patch for S10 to inline comparable functionality.

nss-mdns-0.10 - convert to spec file, nss.h from FreeBSD.

KDElibs-4.6.1 - Ok, I cheated. I used opencsw to pull down docbook and the dtd's and needed a little magic in the base-kde-libs.spec file. One small patch added for S10/SS12 (works fine without on S10/SS12.1), and will look at adding the docbook xml 4.5 module into the normal place on Solaris 10 so we don't have to use more external modules.

KDEpimlibs-4.6.1 - FindBooost.cmake in /opt/dtbld/share/cmake-2.6/Modules has to be updated since that version of FindBoost.cmake only supports boost <= 1.38.0. Manually add 1.45, 1.46 and 1.46.1 to the recognized versions (since you must add the major, then the major-minor version). Additionally, have to fix include/kde-common.spec to set the Boost_Include_DIR to use the new boost-1_46_1 directory. This should probably not be hard coded, but set if not set by a variable in Makefile.config Hajma (Pavel) also pointed out that we probably need to fix /opt/kde4/share/cmake-2.8/Modules/FindBoost.cmake since it only recognizes up to 1.44.

KDEbase-workspace-4.6.1 - Problems with xrandr in kcontrol/randr/randroutput.cpp (and other modules). I suspect some isolation between xrandr-1.2 and xrandr-1.3 is not done, since the problem continues

FOSSintltool - update a patch

FOSSgnome-doc-utils - spec generated from ideas from JDS spec

FOSSdocbook-dtd - this includes a custom download of the docbook 4.3-4.5 sgml and xml dtd's, so I didn't have to work too hard to managed the separate downloads and work around some pkgbuild issues. This is a custom addition to Solaris 10. It appears to work because:

FOSSgtk-doc - built without any issues, which means the docbook-dtd requirement for 4.3 works as expected.

FOSSlibpng14 - used JDS spec as example, add requirements for FOSSesound (a bit unexpected) and fixed the base-esound.spec %patchprefix variable.

Reducing the amount of clutter in the CXX flags - Steve Clamage of Sun/Oracle C++ Studio Forum has commented repeatedly about the KDE4 project's use of default flags that don't need to be there, or can cause problems. We now have a flag that can be put in the Makefile.config file called "CLAMAGE_CXXFLAG_CLAIMS=YES" which will enable the infrastructure to build with the "reduced" set of flags. STDCXX and BOOST are two packages that have their own set of "diffs" that include these kinds of flags. These have also been updated, and the base-{stdcxx|boost}.spec file handle the flag properly. If you don't set the CLAMAGE_CXXFLAG_CLAIMS flag, you get the standard behavior, which is the set of flags originally setup on the project.

FOSSsubverion - split out FOSSneon, FOSSapr and FOSSapr-util to current revisions and FOSSsubversion builds against those packages. Needs a verification test, but it looks good

FOSSgdbm - created to help build FOSSperl512

KDE - lots of minor tweaks for Solaris 10. This is getting close.

FOSS - lots of minor tweaks, mostly due to patches being moved to the subdirectory structure.

Since April 25, 2011

Add: FOSSlibmp4v2, support for facc-1.28

Update: FOSSfacc, update from 1.25 to 1.28

Update: FOSSfaad2, update 2.6.1 to 2.7

Update: FOSSfontconfig, update 2.5.0 to 2.8.0

Update: FOSSfreetype2, update 2.3.9 to 2.4.4

Update: FOSSghostscript, fix build after source opensolaris repo moved the location of patches

Update: FOSSexiv2, tweak problem after calling "env.sh sexp"

Add: FOSSdotconf, add for requires for speechd, which is a requires for KDEaccessibility-4.6.3

Update: CBEyasm, update from 0.6.2 to 0.7.1

Update: FOSSsane-backends, patch move

Update: FOSSflac, update from 1.1.2 to 1.2.1

Update: FOSSlibvorbis, update from 1.1.2 to 1.3.2

Update: FOSSlibao, update from 1.0.0 to 1.1.0

Update: FOSSlibtheora, update from 1.0 to 1.1.1

Update: FOSSvorbistools, update from 1.2.0 to 1.4.0

Update: FOSSspeex, small tweak

Update: FOSSlibogg, update from 1.1.4 to 1.2.1

Update: FOSSmpeg2dec (libmpeg2) update from 0.4.1, to 0.5.1 and 0.5.2 (svn head). Both versions pass the regression tests. Other distros use a 1MB patch...

Add: FOSSenca, add version 1.13 to support FOSSlibass

Add: FOSSlibebml, add version 1.2.0 to support libmatroska

Add: FOSSlibmatroska, add version 1.1.0

Add: FOSSmkvtoolnix, add version 4.7.0, internal versions of libebml and libmatroska

Update: FOSSglib2, add versions 2.25.1 and 2.27.5, src_ver selectable

Update: FOSSgstreamer, add support for 0.10.34

Update: FOSSaudiofile, add support for 0.2.7