[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-solaris
Subject:    [kde-solaris] Howto compile kde-2.2.1 on Solaris 8
From:       Peter.Weiss () germany ! sun ! com (Peter Weiss, Sun Microsystems, Germany)
Date:       2001-09-25 6:52:01
[Download RAW message or body]

--=-=-=

Hello,

    for those of you who might be interested, here's a report on how I
    managed to compile a complete KDE-2.2.1 source distribution on my Solaris
    8 box.

    Enjoy -- Peter


--=-=-=
Content-Disposition: attachment; filename=DONE.kde-2.2.1
Content-Description: Description compiling KDE-2.2.1 on Solaris 8

Description for compiling KDE 2.2.1 on Solaris 2.8:

Note: This description is based on my script loggings (see man
script(1)) and is very solaris 8 specific though you might find other
usefull information for other solaris versions or unix os's. I'm using
bash as my standard login shell and a normal /usr/ccs/bin/make for
making.

All non-kde packages that are not delivered by sun solaris and are
self compiled are mentioned as well. They are all installed to
/usr/local, kde stuff installs into /usr/local/kde. So using this
document you should be able to compile and install kde-2.2.1 from the
sources using a fresh solaris 8 installation (for the next time it's
purpose for me is more a source for cut'n paste).

1) Packages from sunfreeware

   Download and install the following packages from ftp.sunfreeware.com
   Directory  /pub/freeware/sparc/8

     binutils-2.11.2-sol8-sparc-local.gz
     bison-1.28-sol8-sparc-local.gz  
     flex-2.5.4a-sol8-sparc-local.gz
     gcc-2.95.3-sol8-sparc-local.gz
     jpeg-6b-sol8-sparc-local.gz
     libpng-1.0.11-sol8-sparc-local.gz
     libxml2-2.4.3-sol8-sparc-local.gz
     openssl-0.9.6b-sol8-sparc-local.gz
     tiff-3.4beta037-sol8-sparc-local.gz
     xpm-3.4k-sol8-sparc-local.gz
     zlib-1.1.3-sol8-sparc-local.gz

   Install them like this

     # for i in *gz; do echo "Installing package $i"; gzip -d $i; pkgadd -d $i all; \
done

   After installation pkginfo should give the following

     pkginfo | grep SMC 
     application SMCbinut       binutils
     application SMCbison       bison
     application SMCflex        flex
     application SMCgcc         gcc
     application SMCjpeg        jpeg
     application SMClpng        libpng
     application SMCossl        openssl
     application SMCtiff        tiff
     application SMCxpm         xpm
     application SMCzlib        zlib

2) Compile QT

   Download from
     http://www.trolltech.com/products/download/freelicense/qtfree-dl.html
     ftp://ftp.trolltech.com/qt/source

   Extract sources in file /usr/local/kde:
     cd /usr/local/kde
     gzip -dc  /usr/local/source/Kde2/src/packages/qt-x11-2.3.1.tar.gz | tar xvf -
     cd /usr/local/kde
     ln -s qt-2.3.1 qt

   Create a small script for setting up environment variables. Be
   carefull with LD_LIBRARY_PATH not to be mixed up with other things.

     cat > $HOME/bin/qtsetup <<EOF
     export KDEDIR=/usr/local/kde
     export QTDIR=$KDEDIR/qt
     export MANPATH=$MANPATH:$QTDIR/bin
     export PATH=$PATH:$QTDIR/bin
     export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:/usr/local/lib
     EOF

   Setup environment using the script
     . $HOME/bin/qtsetup

   There's no need to change anything in $QTDIR/configs/solaris-g++-shared
   anymore. Run standard-build with following options given:

     ./configure -system-jpeg -system-zlib  -gif -system-libpng -I/usr/local/include \
-platform solaris-g++  make

   Depending on your machine go and have a _lot_ of coffee ;-)

   make install is not necessary.

3) Other packages/ libraries compiled on my own:

   a) libmng Compile

      Download from
        http://www.libmng.com/downloadpublic.html
      be sure to grab the gzip archive (text-files with LF)

      Unpack and standard compile
        gtar xzvf packages/libmng-1.0.2.tar.gz
        cd libmng-1.0.2
        ./configure
        make
        make install

   b) libxml compile

      Download from
        ftp://xmlsoft.org/libxml2-2.4.3.tar.gz

      Unpack and standard compile
        gtar xzvf packages/libxml2-2.4.3.tar.gz
        cd libxml2-2.4.3
        ./configure --prefix=/usr/local --with-zlib=/usr/local
        make
        make install

   c) Compile "PCRE - Perl Compatible Regular Expressions" (java
      script support for kdelibs)

      Download from

        ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

      Run configure:

        configure --prefix=/usr/local
        make; make install

   d) Compile Audiofile (http://oss.sgi.com/projects/audiofile)

      Download from
        ftp://oss.sgi.com/projects/audiofile/download/

      Run configure:

        configure --prefix=/usr/local
        make; make install


   e) Simple DirectMedia Layer (http://www.libsdl.org/)

      Download from
        http://www.libsdl.org/download-1.2.html

      Run configure:

        configure --prefix=/usr/local
        make; make install

4) Compiling KDE, starting with kdelibs:

   Extracting kdelibs-2.2.1:
     gtar xvf packages/kdelibs-2.2.1.tar.bz2 --use-compress-program=bzip2
     cd kdelibs-2.2.1

   Configure with some additional options:
     ./configure --prefix=$KDEDIR \
--with-extra-includes=/usr/local/include:$KDEDIR/include:/usr/openwin/include \
--with-extra-libs=/usr/local/lib:$KDEDIR/lib:/usr/openwin/lib \
--x-includes=/usr/local/include:/usr/openwin/include \
--x-libraries=/usr/local/lib:/usr/openwin/lib --with-ssl-dir=/usr/local/ssl

   make; make install

   Same with most of the other packages (special effort section see
   below), Order of compilation:

   1) kdelibs
   2) kdebase
   3) kdemultimedia (kdeaddons needs noatun from kdemultimedia)
   4) kdeaddons
   5) kdeadmin
   6) kdeartwork
   7) kdenetwork (contains mimelib used by kdebindings package)
   8) kdebindings
   9) kdegames
   10) kdegraphics
   11) kdesdk
   12) kdepim
   13) kdetoys
   14) kdeutils
   15) kdoc
   16) kdevelop

   17) Locale support from package kde-i18n that is needed
   18) koffice-1.1 compiles
   
5) Packages with special effort necessary:
   a) kdeaddons-2.2.1

      Comment out line 58 ("#include <endian.h>") in the following files listed,
      it's obsolete:
        kdeaddons-2.2.1/noatun-plugins/synaescope/syna.h
        kdeaddons-2.2.1/noatun-plugins/tippercanoe/syna.h


   b) kdebindings-2.2.1

      For Java support there's some tweaking necessary:

      Be sure the following solaris packages are installed:
         $ pkginfo | egrep 'SUNWj3(dev|rt)'
         system      SUNWj3dev      JDK 1.3 development tools
         system      SUNWj3rt       JDK 1.3 run time environment

      Then ensure that /usr/java is a symlink to /usr/j2se, after that
        ./configure --prefix=$KDEDIR \
--with-extra-includes=/usr/local/include:$KDEDIR/include:/usr/openwin/include:/usr/java/include/solaris \
--with-extra-libs=/usr/local/lib:$KDEDIR/lib:/usr/openwin/lib \
--x-includes=/usr/local/include:/usr/openwin/include \
--x-libraries=/usr/local/lib:/usr/openwin/lib --with-ssl-dir=/usr/local/ssl \
--with-java=/usr/java

        make; make install

      fails due to commandline restrictions in libtool usage. I've
      traced this down to the following rule that is used by the
      Makefile residing in
      kdebindings-2.2.1/qtjava/javalib/qtjava/Makefile (2 times):

        libqtjava.la.closure: $(libqtjava_la_OBJECTS) $(libqtjava_la_DEPENDENCIES)
                @echo "int main() {return 0;}" > libqtjava_la_closure.cpp
                @$(LTCXXCOMPILE) -c libqtjava_la_closure.cpp
                @$(CXXLINK) libqtjava_la_closure.lo $(libqtjava_la_LDFLAGS) \
$(libqtjava_la_OBJECTS) $(libqtjava_la_LIBADD) $(LIBS)  @rm -f libqtjava_la_closure.* \
libqtjava.la.closure  @echo "timestamp" > libqtjava.la.closure

      So this should be a workaround:

      (cd qtjava/javalib/qtjava; echo "timestamp" > libqtjava.la.closure;  make)
      (cd kdejava/koala/kdejava; echo "timestamp" > libkdejava.la.closure; make)

      AFAICS this is just a test link to check if all symbols are
      found. Just executing the last line ("echo "timestamp" >
      libqtjava.la.closure") disables this target. The library itself
      is correctly generated thereafter.

   c) kdesdk-2.2.1
      Do not use /usr/ccs/bin/make, use Gnu make instead!

      Patch file kbabel/common/libgettext/xmalloc.c to use perror() instead of
      function error() that is missing in the sources.

--=-=-=

-- 
Consultant der CLASS AG   http://www.class.de
Technical Services
mobil +49 (0) 172/837 91 25
mailto:Peter.Weiss@class.de

--=-=-=--
___________________________________________________
This message is from the kde-solaris mailing list.
Account management:  http://mail.kde.org/mailman/listinfo/kde-solaris.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic