<!doctype linuxdoc system>

<!-- This is the StarOffice 3.1 Mini-HOWTO -->

<article>

<title>StarOffice 3.1 Mini-HOWTO

<author>Matthew Borowski <tt/(<htmlurl url="mailto:mkb@poboxes.com" name="mkb@poboxes.com"> )<newline> ( <htmlurl url="http://tarp.worldserve.net" name="http://tarp.worldserve.net/"> )/

<date>v1.1, 28 November 1999

<abstract>Information on installing the <tt>StarOffice 3.1</tt> Office Suite by StarDivision.
</abstract>

<toc>

<!-- Begin of document -->

<sect>Introduction
<p>This document deals with installing StarOffice 3.1. The current version
of StarOffice is 5.1. Version 5.1 is considerably easier to install and less
buggy than version 3.1. In fact, in my opinion there is no need for a HOWTO
for version 5.1, since StarDivision has written a fairly complete
installation guide. The StarOffice mini-HOWTO was useful while it lasted,
but it is now being archived only for the few who still wish to install
StarOffice 3.1. For information about StarOffice 5.1, check StarDivision's site at <tt><htmlurl url="http://www.stardivision.com" name="http://www.stardivision.com"></tt>.


<p>
The StarOffice Office Suite is a collection of office tools for Linux,
written in C using the Motif toolkit. 
<p>
StarOffice includes:
<itemize>
<item> StarWriter, a word processor
<item> StarCalc, a spreadsheet
<item> StarImage, an image editor
<item> StarDraw, a draw program similar to Corel DRAW
<item> StarChart, a chart-making program
<item> StarMath, a math editor
</itemize>
<p>
The StarOffice Office Suite for Linux is free for non-commercial use. 
Commercial use requires a license. The cost for a commercial license
seperate from Caldera's OpenLinux system is currently undecided.

<sect1>Motif info
<p>
StarOffice is written using the commercial Motif 2.0 GUI 
toolkit. The dynamically linked version will *not* work with Motif 
1.2/LessTif.
<p>
The static version (with Motif 2.0 linked in) will work regardless 
of whether or not you have Motif. However, performance drops.
<p>
I run StarOffice on a Pentium 100 with 48 megs RAM, 
running Redhat 4.1 and Motif 2.0. Dynamically linked 
StarOffice takes about a minute to load. However, it is noticable 
that, once it loads up, StarOffice dynamically linked takes up 
much less resources than the static version.

<sect1>History of this document
<p>
<itemize>
<item> Version 1.1 991128 - updated URLs and changed references to StarOffice 4.0 to the new 5.1
<item> Version 1.0 980602 - added information on StarOffice 4.0 and about how this document is now outdated
<item> Version 0.8 971109 - added tips, installation w/o libc upgrade, etc.
<item> Version 0.7 970707 - changed section 3.1.1, changed license
<item> Version 0.6 970609 - added fix for the LANG variable problem
<item> Version 0.5 970608 - updated info to StarOffice 3.1 final
<item> Version 0.1 970505 - the initial release.
</itemize>

<sect> Obtaining the StarOffice Office Suite
<p>
The release of StarOffice 3.1 for Linux is available for FTP at <tscreen>
<htmlurl url="ftp://ftp.gwdg.de/pub/linux/staroffice" 
name="ftp://ftp.gwdg.de/pub/linux/staroffice"></tscreen>
<p>
The file <tt>README.StarOffice</tt> contains information on downloading 
StarOffice 3.1 final. You will need to get three files:

<itemize>
<item> <tt>StarOffice31-english.tar.gz</tt> (english) templates/demo docs or
<item> <tt>StarOffice31-german.tar.gz</tt> (german) templates/demo docs
<item> <tt>StarOffice31-dynbin.tar.tgz</tt> (dynamically linked) or
<item> <tt>StarOffice31-statbin.tar.gz</tt> (statically linked) binaries
<item> <tt>StarOffice31-common.tar.gz</tt>
</itemize
<p>
There is also version of StarOffice, available from Caldera. Check their 
website at <tscreen><htmlurl url= "http://www.caldera.com" 
name="http://www.caldera.com"></tscreen> for details on this. Caldera also 
makes a StarOffice CD-ROM available for &dollar 7.99 US.

<sect> Installation of <tt>StarOffice</tt>
<p>
Installation of StarOffice consists of:
<itemize>
<item>Untarring the distribution files as root in <tt>/usr/local</tt>
<item>running the <tt>setup</tt> program as a user
<item>sourcing the <tt>.sd.sh</tt> or <tt>.sd.csh</tt>
<item>reading section 3.5!!! (do this)
</itemize>

<sect1>Libc Issues and Fixes
<p>
StarOffice is linked with <tt>libc 5.4.4</tt>.
<p>
StarOffice 3.1 *will* work on <tt>Libc 5.3.x</tt>. Unfortunately, the setup 
program requires 5.4.4 or higher. If you have <tt>libc 5.3.x</tt>, you might 
be able to get around this by acquiring a copy of <tt>libc 5.4.4+</tt> and 
adding it to your LD_LIBRARY_PATH environment variable before executing the 
<tt>setup</tt> script. I haven't tried this, however, so you're on your own.
<p>
If you attempt to run the <tt>setup</tt> script on a libc older than 5.4.4, 
you will get the following error message:

<tscreen>line 1: Syntax error at token 'I' expected declarator;
  i.e. File ...
</tscreen>

<p>
To upgrade your libc, FTP to <tt><htmlurl url="ftp://sunsite.unc.edu" name="sunsite.unc.edu">
</tt> and look in the directory <tt><htmlurl 
url="ftp://sunsite.unc.edu/pub/Linux/GCC"name="/pub/Linux/GCC"></tt> for the 
file <tt>libc-5.4.33.bin.tar.gz</tt> (or whatever the latest libc is). Extract 
the contents of this file in a temporary directory. A new lib/ directory will 
be created. Su to root and copy the file <tt>libc.so.5.4.33</tt> from this 
directory to your /lib directory. Now, make the symlink from 
<tt>libc.so.5</tt> to <tt>libc.5.4.33</tt> with the command:
<p>
<tscreen>
ln -sf /lib/libc.so.5.4.33 /lib/libc.so.5
</tscreen> then run the <tt>ldconfig</tt> command.

<p>
Dr. Romano Giannetti <tt/(<htmlurl url="mailto:romano@iet.unipi.it" name="romano@iet.unipi.it"> )</tt> says:

<quote>
<p>
...I want only to add that I could install (like you suggested) StarWriter in 
a redhat 4.2 system which has a libc5.3, without doing the upgrade.

<p>
The exact steps are: 
   
<p>
1. get a libc.so.5.4.x. If you have a redhat rpm package (as the one you
find in the contrib directory), you can extract the library by going in a 
scratch directory and doing:
<tt>rpm2cpio libc.so.5.4.x-y.rpm | cpio --extract --make-directories</tt>
The library will appear in ./lib subdirectory
			       
<p>
2. move libc.so.5.4.x in your home directory. Then (assuming a sh-like shell):
<tt>ln -s libc.so.5.4.x libc.so.5</tt>
<tt>export LD_LIBRARY_PATH=$HOME:/lib:/usr/lib</tt>

<p>
3. Now you can run setup.
</quote>

<sect1>Installing the tar Files
<p>
After downloading StarOffice, su or login as root and place the archives in 
<tt>/usr/local/</tt>. Change directory to <tt>/usr/local/</tt> and extract 
the files. An example command to decompress a gzipped tar file would be:
<p>
<tscreen>
tar -xzvf filename.tar
</tscreen>
<p>
Older systems may require you first use the <tt>gzip -d</tt> command to unzip
the file, then use the <tt>tar -xvf</tt> command to untar it.
<p>
The files will extract to their locations within the newly created
<tt>usr/local/StarOffice-3.1</tt> tree.

<sect1>Setup und Configuration
<p>
After you have extracted the StarOffice files as root, you will need to login 
with your userid. Change directory to <tt>/usr/local/StarOffice-3.1</tt> and 
execute the <tt>setup</tt> program. This program will install non-shared 
files and symlinks needed for each individual user. The standard installation 
is recommended. There *could* be problems if you do not accept the default 
installation path.
<p>
StarOffice makes use of environment variables. The files <tt>.sd.sh</tt> 
(formatted for the Bourne Shell) and <tt>.sd.csh</tt> (formatted for the 
C Shell) provide the environment variable settings for StarOffice. These 
files are located in your home directory.
<p>
If you use <tt>bash</tt>, edit your <tt>.bashrc</tt> and add the line:
<tscreen>
source ~/.sd.sh
</tscreen>
<p>
After doing this, restart <tt>bash</tt> to bring the environment variables 
into effect.
<p>
If you use a different shell, consult that shell's man page for information 
on sourcing a file.

<sect1>COL (Caldera OpenLinux) setup bug
<p>
Phil Reardon (<tt><htmlurl url= "mailto:pcr@busprod.com" name="pcr@busprod.com"></tt> ) says:
<quote>
&dquot I found a bug in the setup script for StarOffice that came with my 
Caldera COL standard release. It produces // in a path where there should 
only be one /. To fix it, remove the first slash from this line:
<tscreen>
              exec ${pfad:='.'}/linux-x86/bin/$name;;
</tscreen>
There should be no / before linux-x86.&dquot
</quote>
<sect1>Fixing the LANG variable problem

<p>
The <tt>.sd.sh</tt> and <tt>.sd.csh</tt> files set the LANG variable. This 
causes problems with perl and man. Man will give the error message 

<quote>&dquot Failed to open the message catalog man on the path 
NLSPATH=&dquot</quote>Perl will give the error message 
<quote>&dquot warning: setlocale(LC_CTYPE, "")...&dquot</quote>

The <tt>.sd.sh</tt> file contains a line that sets LANG=us and another that 
exports a bunch of variables, including LANG. Remove the LANG=us line and 
remove LANG from the list of variables, and this will be fixed.
<p>
In the <tt>.sd.csh</tt> file (which is formatted for the c shell), you need
to remove the line that says "setenv LANG us".
<p>
Thanks to Adam L. Klein (<tt><htmlurl url="mailto:alklein@adelphia.net" 
name="alklein@adelphia.net"></tt>) for informing me of this fix.

<sect>Running StarOffice
<p>
The StarOffice binaries are located in the directory:
<tt>/usr/local/StarOffice-3.1/linux-x86/bin/</tt>
<p>
The applications are: <tt>sdraw3</tt>, <tt>swriter3</tt>, <tt>scalc3</tt>, 
<tt>smath3</tt>, <tt>schart3</tt>, <tt>simage3</tt>
<p>
The program <tt>svdaemon</tt> must be executed in order to use online help.
The program <tt>svportmap</tt> must be executed to enable application 
communication features between StarWriter, StarCalc and StarDraw.

<sect>StarOffice Tips

<p>
Contributed by Patrick D'Cruze <tt>(<htmlurl url="mailto:pdcruze@netpal.com.au" name="pdcruze@netpal.com.au">)</tt>

<p>
1.  Instead of sourcing the .sd.sh (or .sd.csh) file in my .bash_profile
script, I instead copied the .sd.sh script,  renamed it to swriter and
copied it to /usr/local/bin.  I then modified it by adding a:
<tscreen>#! /bin/bash </tscreen>
<p>
at the start of the script and a:
<tscreen>exec swriter3 $*</tscreen>
<p>
at the end of the script.  Now all I have to do is run swriter and it
automatically sets up the appropriate environment variables and then runs
StarWriter. Saves having those environment variables pollute other
applications/environments.
	    
<p>
2.  I noticed that for a lot of people, StarOffice takes quite a while to
load (upwards of 60 seconds).  The consensus on usenet was that a large
chunk of this time was due to the symbol relocations that the dynamic linker
has to do. ie, for each new symbol the dynamic linker has to locate the
appropriate library.  StarOffice dynamically links against quite a few
libraries so the dynamic linker spends quite a bit of time searching through
lots of libraries.
    
<p>
There is a solution to this. I run StarOffice in a chroot'd jail.  In the
jail, I just put the binaries and libraries that StarOffice uses (all the
libs out of /usr/X11R6/lib, libc/libm and libg++/libstdc++).  StarWriter 
takes approximately 15 seconds to come up on my P133/32MB. This is due to
the fact that the only libraries present are the ones needed by StarOffice
and hence the dynamic linker spends proportionately less time searching
through all the libraries on the system (ie, it doesn't search through all
the useless libs in /usr/lib etc looking to resolve symbols).

<sect>More Information
<p>
More information on StarOffice for Linux is available directly from
StarDivision. StarDivision maintains a website at <tt><htmlurl 
url="http://www.stardivision.com/" name="http://www.stardivision.com"></tt>
<p>
StarDivision runs a news server with support and user groups related to 
StarOffice for linux. These newsgroups are the best place to find up-to-date 
information on StarOffice and to ask for help. Using a newsreader, connect to 
<tt><htmlurl url="news://starnews.stardivision.com" name="news://starnews.stardivision.com"></tt> or follow the support link on the StarDivision homepage.

<sect>Contributions
<p>
Thank you to Werner Klaus <tt>(<htmlurl url="mailto:wklaus@metronet.de"
name="wklaus@metronet.de"> )</tt> for translating this document
to sgml.

If you can contribute any additional information for this mini-HOWTO, please 
contact me via internet e-mail. My address is located at the top of this 
document. You may also wish to take a look at my web page, located at 
<tt><htmlurl url="http://tarp.worldserve.net/"
name="http://tarp.worldserve.net/"></tt> or <tt><htmlurl 
url="http://tarp.linuxos.org/" name="http://tarp.linuxos.org/">
</tt>

<sect>Disclaimer and Copyright
<p>
This document is (C) 1999 by Matthew Borowski.
<p>
Redistribution of this document in electronic form is permitted under the 
condition that the document remains unchanged. If you wish to include this 
document in a CD-ROM or book, please obtain permission from me beforehand 
(I prefer requests to be sent via e-mail).
<p>  
The author claims no responsibility in anything that may occur directly or 
indirectly as a result of using this document. The author is not an employee 
of StarDivision, GmbH or Caldera, Inc. 
<p>
Comments and questions may be directed to the author at <tt><htmlurl 
url="mailto:mkb@poboxes.com" name="mkb@poboxes.com"></tt>.
</article>
