StarOffice for Linux mini-Howto Matthew Borowski (mkb@poboxes.com ) Version 0.9, January 14, 1998 Information on installing the StarOffice Office Suite by StarDivision GmbH. 1. Introduction The StarOffice Office Suite is a collection of office tools for Linux, written in C using the Motif toolkit. StarOffice includes: · StarWriter, a word processor · StarCalc, a spreadsheet · StarImage, an image editor · StarDraw, a draw program similar to Corel DRAW · StarChart, a chart-making program · StarMath, a math editor 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. 1.1. Motif info StarOffice is written using the commercial Motif 2.0 GUI toolkit. The dynamically linked version will *not* work with Motif 1.2/LessTif. The static version (with Motif 2.0 linked in) will work regardless of whether or not you have Motif. However, performance drops. 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. 1.2. History of this document · Version 0.8 971109 - added tips, installation w/o libc upgrade, etc. · Version 0.7 970707 - changed section 3.1.1, changed license · Version 0.6 970609 - added fix for the LANG variable problem · Version 0.5 970608 - updated info to StarOffice 3.1 final · Version 0.1 970505 - the initial release. 2. Obtaining the StarOffice Office Suite The current release of StarOffice for Linux is 3.1 final. This release is available for FTP at ftp://ftp.gwdg.de/pub/linux/staroffice The file README.StarOffice contains information on downloading StarOffice 3.1 final. You will need to get three files: · StarOffice31-english.tar.gz (english) templates/demo docs or · StarOffice31-german.tar.gz (german) templates/demo docs · StarOffice31-dynbin.tar.tgz (dynamically linked) or · StarOffice31-statbin.tar.gz (statically linked) binaries · StarOffice31-common.tar.gz There is also version of StarOffice, available from Caldera. Check their website at http://www.caldera.com for details on this. Caldera also makes a StarOffice CD-ROM available for $ 7.99 US. 3. Installation of StarOffice Installation of StarOffice consists of: · Untarring the distribution files as root in /usr/local · running the setup program as a user · sourcing the .sd.sh or .sd.csh · reading section 3.5!!! (do this) 3.1. Libc Issues and Fixes StarOffice is linked with libc 5.4.4. StarOffice 3.1 *will* work on Libc 5.3.x. Unfortunately, the setup program requires 5.4.4 or higher. If you have libc 5.3.x, you might be able to get around this by acquiring a copy of libc 5.4.4+ and adding it to your LD_LIBRARY_PATH environment variable before executing the setup script. I haven't tried this, however, so you're on your own. If you attempt to run the setup script on a libc older than 5.4.4, you will get the following error message: line 1: Syntax error at token 'I' expected declarator; i.e. File ... To upgrade your libc, FTP to sunsite.unc.edu and look in the directory /pub/Linux/GCC for the file libc-5.4.33.bin.tar.gz (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 libc.so.5.4.33 from this directory to your /lib directory. Now, make the symlink from libc.so.5 to libc.5.4.33 with the command: ln -sf /lib/libc.so.5.4.33 /lib/libc.so.5 then run the ldconfig command. Dr. Romano Giannetti (romano@iet.unipi.it ) says: a redhat 4.2 system which has a libc5.3, without doing the upgrade. The exact steps are: 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: rpm2cpio libc.so.5.4.x-y.rpm | cpio --extract --make- directories The library will appear in ./lib subdirectory 2. move libc.so.5.4.x in your home directory. Then (assuming a sh-like shell): ln -s libc.so.5.4.x libc.so.5 export LD_LIBRARY_PATH=$HOME:/lib:/usr/lib 3. Now you can run setup. 3.2. Installing the tar Files After downloading StarOffice, su or login as root and place the archives in /usr/local/. Change directory to /usr/local/ and extract the files. An example command to decompress a gzipped tar file would be: tar -xzvf filename.tar Older systems may require you first use the gzip -d command to unzip the file, then use the tar -xvf command to untar it. The files will extract to their locations within the newly created usr/local/StarOffice-3.1 tree. 3.3. Setup und Configuration After you have extracted the StarOffice files as root, you will need to login with your userid. Change directory to /usr/local/StarOffice-3.1 and execute the setup 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. StarOffice makes use of environment variables. The files .sd.sh (formatted for the Bourne Shell) and .sd.csh (formatted for the C Shell) provide the environment variable settings for StarOffice. These files are located in your home directory. If you use bash, edit your .bashrc and add the line: source /.sd.sh After doing this, restart bash to bring the environment variables into effect. If you use a different shell, consult that shell's man page for information on sourcing a file. 3.4. COL (Caldera OpenLinux) setup bug Phil Reardon (pcr@busprod.com ) says: " 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: exec ${pfad:='.'}/linux-x86/bin/$name;; There should be no / before linux-x86." 3.5. Fixing the LANG variable problem The .sd.sh and .sd.csh files set the LANG variable. This causes problems with perl and man. Man will give the error message " Failed to open the message catalog man on the path NLSPATH=" Perl will give the error message " warning: setlocale(LC_CTYPE, "")..." The .sd.sh 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. In the .sd.csh file (which is formatted for the c shell), you need to remove the line that says "setenv LANG us". Thanks to Adam L. Klein (alklein@adelphia.net) for informing me of this fix. 4. Running StarOffice The StarOffice binaries are located in the directory: /usr/local/StarOffice-3.1/linux-x86/bin/ The applications are: sdraw3, swriter3, scalc3, smath3, schart3, simage3 The program svdaemon must be executed in order to use online help. The program svportmap must be executed to enable application communication features between StarWriter, StarCalc and StarDraw. 5. StarOffice Tips Contributed by Patrick D'Cruze (pdcruze@netpal.com.au) 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: #! /bin/bash at the start of the script and a: exec swriter3 $* 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. 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. 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). 6. More Information More information on StarOffice for Linux is available directly from StarDivision. StarDivision maintains a website at http://www.stardivision.com 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 news://starnews.stardivision.com or follow the support link on the StarDivision homepage. 7. Contributions Thank you to Werner Klaus (wklaus@metronet.de ) 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 http://mkb.home.ml.org/linux/ or http://www.gslink.com/~mkb/linux/ 8. Disclaimer and Copyright This document is (C) 1997 by Matthew Borowski. 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). 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. Comments and questions may be directed to the author at mkb@poboxes.com.