Staroffice was discontinued in 2011. At one time it was (barely) possible to get it running on SCO using "lxrun" Linux emulation.
I really don't know why you'd even bother: given the cost of hardware and the ease of installing Linux, why would you struggle with this? Put up a Linux box, install Staroffice (or Open Office) and save yourself the headache.
There are other choices: Linux Word Processing at Christopher Browne's Web Pages covers a few.
It's also possible to run Microsoft Office on Linux using
Crossover Office: https://www.codeweavers.com/site/products/
Book review: Star Office 5 for Linux, Nicholas D. Wells, R. Dean Taylor
This one is to inform you about the steps I took in order to get Star Office 5.0. installed (and working) via lxrun under SCO OpenServer 5.0.5. I apologize in advance for my English which (I know) sometimes is not up to the "role".
OK; my work started with SCO OpenServer 5.0.5 + RS 5.0.5A + OSS497B + OSS600A (even if I think the above patches don't come into play concerning the lxrun package). I installed the lxrun utility from the SkunkWare 98 CD-ROM using the "scoadmin -> Software Manager" (akas custom); the installed version was 0.9.0.
Next, I downloaded version 0.9.4pre3 from the 'Net just to make sure I was playing with the latest version. The StarOffice version I did play with came along with a Magazine on a CD-ROM and was labeled "version 5.0"; I extracted the whole directory contents under my root filesystem under a directory of my choice (/tmp/fred/star5). Also, make sure you have the zip/unzip package installed (from Skunk98); I had to unzip the setup.zip utility by using the 'unzip -L setup.zip' command in the same directory above. This should give a 74MB directory with the following files:
=== cut here ===
allgemein.bmp f_6102 f_6395 f_6803 f_7821 base.bmp f_6103 f_6396 f_6804 f_7823 calc.bmp f_6104 f_6397 f_6805 f_7824 cdrom f_6106 f_6398 f_6806 f_7825 desktop.bmp f_6107 f_6399 f_6807 f_7829 draw.bmp f_6109 f_6400 f_6808 f_7830 f_1310 f_6110 f_6401 f_6809 f_7832 f_1311 f_6111 f_6402 f_6810 f_7833 f_1312 f_6112 f_6403 f_6811 f_7834 f_1315 f_6113 f_6404 f_6812 f_7837 f_1316 f_6114 f_6405 f_6813 f_7838 f_1318 f_6115 f_6406 f_6856 f_7839 f_1319 f_6116 f_6407 f_6857 f_7840 f_1320 f_6117 f_6408 f_6867 f_7841 f_1321 f_6118 f_6409 f_6868 f_7842 f_1329 f_6119 f_6410 f_6869 f_7843 f_1330 f_6120 f_6411 f_6870 f_7845 f_1342 f_6121 f_6412 f_6871 f_7846 f_1343 f_6122 f_6413 f_6872 f_7847 f_1344 f_6123 f_6414 f_6873 f_7848 f_1345 f_6124 f_6415 f_6880 f_7849 f_1346 f_6125 f_6416 f_6881 f_7850 f_1347 f_6126 f_6417 f_6882 f_7851 f_1348 f_6128 f_6418 f_6883 f_7852 f_1349 f_6129 f_6419 f_6884 f_7853 f_1350 f_6130 f_6420 f_6885 f_7854 f_1351 f_6131 f_6421 f_6894 f_7855 f_1352 f_6132 f_6422 f_6895 f_7856 f_1353 f_6133 f_6423 f_7256 f_7857 f_1354 f_6136 f_6424 f_7258 f_7858 f_1355 f_6137 f_6425 f_7263 f_7859 f_1356 f_6140 f_6426 f_7264 f_7860 f_1359 f_6141 f_6427 f_7302 f_7861 f_1362 f_6144 f_6428 f_7303 f_7862 f_1364 f_6148 f_6429 f_7323 f_7863 f_1365 f_6149 f_6430 f_7324 f_7864 f_1366 f_6150 f_6431 f_7325 f_7865 f_1367 f_6151 f_6432 f_7326 f_7867 f_1368 f_6152 f_6433 f_7758 f_7868 f_1369 f_6153 f_6434 f_7759 f_7870 f_1370 f_6155 f_6435 f_7760 f_7875 f_1371 f_6160 f_6436 f_7761 f_7876 f_1372 f_6161 f_6437 f_7762 f_7878 f_1382 f_6162 f_6438 f_7763 f_7879 f_1385 f_6169 f_6439 f_7764 f_7880 f_1386 f_6344 f_6440 f_7765 f_7882 f_1390 f_6346 f_6441 f_7766 f_7883 f_1391 f_6347 f_6442 f_7767 f_7884 f_1403 f_6348 f_6443 f_7772 f_7885 f_1404 f_6349 f_6444 f_7773 f_7886 f_1408 f_6350 f_6445 f_7774 f_7887 f_1409 f_6351 f_6446 f_7775 f_7888 f_1410 f_6352 f_6447 f_7776 f_7889 f_1411 f_6353 f_6448 f_7777 f_7890 f_1412 f_6354 f_6449 f_7778 f_7891 f_1413 f_6355 f_6450 f_7779 f_7892 f_1414 f_6357 f_6451 f_7780 f_7893 f_1415 f_6358 f_6452 f_7781 impress.bmp f_1416 f_6361 f_6453 f_7782 libcnt506li.so f_1418 f_6363 f_6454 f_7784 libj506li_g.so f_1419 f_6364 f_6455 f_7785 libone506li.so f_1421 f_6365 f_6456 f_7787 libosl506li.so f_1422 f_6366 f_6457 f_7789 libreg506li.so f_1423 f_6367 f_6458 f_7790 librtl506li.so f_1424 f_6368 f_6459 f_7791 libsb506li.so f_1425 f_6369 f_6460 f_7792 libset506li.so f_1426 f_6370 f_6461 f_7793 libsex506li.so f_1427 f_6371 f_6462 f_7794 libso506li.so f_1428 f_6372 f_6578 f_7795 libsot506li.so f_1429 f_6373 f_6582 f_7796 libsvt506li.so f_1430 f_6374 f_6583 f_7797 libtk506li.so f_1431 f_6375 f_6707 f_7798 libtl506li.so f_1432 f_6376 f_6708 f_7799 libuno506li.so f_1434 f_6377 f_6709 f_7800 libusr506li.so f_1437 f_6378 f_6710 f_7801 libvcl506li.so f_1438 f_6379 f_6711 f_7802 libvos506li.so f_1439 f_6380 f_6712 f_7803 libzip506li.so f_1441 f_6381 f_6713 f_7804 register.bmp f_1442 f_6382 f_6714 f_7805 schedule.bmp f_1443 f_6383 f_6715 f_7806 set50639.res f_1444 f_6384 f_6716 f_7807 setup f_1445 f_6385 f_6717 f_7808 setup.bin f_1447 f_6386 f_6718 f_7809 setup.ins f_1653 f_6387 f_6719 f_7810 sfx50639.res f_3005 f_6388 f_6720 f_7811 sh1.sh f_5661 f_6389 f_6795 f_7812 shared f_5664 f_6390 f_6796 f_7813 svt50639.res f_5680 f_6391 f_6797 f_7814 vcl50639.res f_6097 f_6392 f_6798 f_7815 writer.bmp f_6098 f_6393 f_6799 f_7818 f_6101 f_6394 f_6802 f_7819 === cut here ===
A kind guy from the 'Net (tom - tcgreen@nuskin.net) provided me with an install script I used to drive the setup phase. The script (in the above list was named sh1.sh) is reported below:
==== cut here ===
#!/bin/sh # # StarOffice setup script # (c) 1997, Star Division GmbH cd `dirname $0` sd_archive_path=`pwd` sd_setup_binary=setup.bin sd_platform=`uname -s` # some platforms may need an additional search path for X11 shared libraries case $sd_platform in SunOS) SAL_IGNOREXERRORS=1 export SAL_IGNOREXERRORS LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/openwin/lib:.:./lib export LD_LIBRARY_PATH ;; Linux) LD_LIBRARY_PATH=.:./lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH ;; SCO_SV) LD_LIBRARY_PATH=.:./lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH ;; *) ;; esac export SAL_FONTPATH XPPATH # execute setup binary exec lxrun $sd_archive_path/$sd_setup_binary $*
==== cut here ===
Notice the lxrun command placed on the last line of the script.
If you try by executing the above shell under your X environment with the version 0.9.0 of lxrun, the installer tells you that you don't have enaugh free space on your disk, even if there's plenty of it. This is because of a bug (unimplemented feature) of lxrun; all you have to do is to modify the sources of lxrun (version 0.9.4) you previously downloaded and to recompile the binary.
So, edit the filesys.c file and insert the following lines in the copy_out_new_statfs function (notice: there are 2 of 'em named this way. The first one is enclosed in a #ifdefined statement related to UW7; we're interested in the second one - the one starting at line 91).
The whole routine is depicted below :
==== cut here ===
static int copy_out_new_statfs(struct statfs *from, struct lx_statfs *to) { if (! verify_write(to, sizeof(*to))) return -1; (void) memset((void *)to, 0, sizeof(*to)); to->f_type = from->f_fstyp; to->f_bsize = from->f_bsize; to->f_blocks = from->f_blocks; to->f_bfree = from->f_bfree; /* StarOffice 5.0 fails to install if f_bavail is set to 0 */ to->f_bavail = from->f_bfree; /* R. Zini - Strhold (05/21/1999) */ to->f_files = from->f_files; to->f_ffree = from->f_ffree; /* * Fields that are undef for a particular file system are set to -1. * (see statfs(2)). */ to->f_namelen = -1; return 0; }
==== cut here ===
Notice the above comments; I'm not sure if f_bavail should be set to f_bfree but thus making the installer is able to proceed. Please advise me if this is not the correct way of setting f_bavail.
However, following you can find the complete filesys.c file:
==== cut here ===
#ifdef OSR5 #pragma comment(exestr, "%Z% %M% %I% %E% %Q%") #endif #ifdef SOLARIS #pragma ident "%Z% %M% %I% %D% %Q% SMI" #endif /* * Copyright (C) 1996 Michael Davidson. * All rights reserved. * * This software is provided "as is" without express or implied warranty. */ #include <errno.h> #include <sys/types.h> #include <string.h> #if defined(UNIXWARE) || defined(UW7) #include <sys/statvfs.h> #else #include <sys/statfs.h> #endif #include "linux/statfs.h" #include "lxrun.h" /* * filesystem specific system calls */ /* * mount (NOT IMPLEMENTED) * umount (NOT IMPLEMENTED) * statfs * fstatfs * setfsuid (NOT IMPLEMENTED) * setfsgid (NOT IMPLEMENTED) */ int lx_mount() { return enosys("mount"); } int lx_umount() { return enosys("umount"); } #if defined(UNIXWARE) || defined(UW7) /* better trigger on if struct statvfs exists */ static int copy_out_new_statfs(struct statvfs *vfs, struct lx_statfs *to) { if (! verify_write(to, sizeof(*to))) return -1; (void) memset((void *)to, 0, sizeof(*to)); to->f_type = EXT_SUPER_MAGIC; to->f_bsize = vfs->f_bsize; to->f_blocks = vfs->f_blocks; to->f_bfree = vfs->f_bfree; to->f_bavail = vfs->f_bavail; to->f_files = vfs->f_files; to->f_ffree = vfs->f_ffree; to->f_fsid.val[0] = vfs->f_fsid; to->f_fsid.val[1] = 0; to->f_namelen = vfs->f_namemax; return 0; } int lx_statfs(const char *path, struct lx_statfs *buf) { struct statvfs vfs; if (statvfs(path, &vfs) == -1) return -1; return copy_out_new_statfs(&vfs, buf); } int lx_fstatfs(int fd, struct lx_statfs *buf) { struct statvfs vfs; if (fstatvfs(fd, &vfs) == -1) return -1; return copy_out_new_statfs(&vfs, buf); } #else /* ! UW7 */ static int copy_out_new_statfs(struct statfs *from, struct lx_statfs *to) { if (! verify_write(to, sizeof(*to))) return -1; (void) memset((void *)to, 0, sizeof(*to)); to->f_type = from->f_fstyp; to->f_bsize = from->f_bsize; to->f_blocks = from->f_blocks; to->f_bfree = from->f_bfree; /* StarOffice 5.0 fails to install if f_bavail is set to 0 */ to->f_bavail = from->f_bfree; /* R. Zini - Strhold (05/21/1999) */ to->f_files = from->f_files; to->f_ffree = from->f_ffree; /* * Fields that are undef for a particular file system are set to -1. * (see statfs(2)). */ to->f_namelen = -1; return 0; } lx_statfs(const char *path, struct lx_statfs *buf) { int ret; struct statfs nbuf; if ((ret = statfs(path, &nbuf, sizeof(struct statfs), 0)) == 0) ret = copy_out_new_statfs(&nbuf, buf); return ret; } int lx_fstatfs(int fd, struct lx_statfs *buf) { int ret; struct statfs nbuf; if ((ret = fstatfs(fd, &nbuf, sizeof(struct statfs), 0)) == 0) ret = copy_out_new_statfs(&nbuf, buf); return ret; } #endif /* ! UW7 */ int lx_setfsuid() { return enosys("setfsuid"); } int lx_setfsgid() { return enosys("setfsgid"); }
==== cut here ===
Now rebuild the binary; a simple "make" should do it for us. Once you have the "new" lxrun, you must copy it under it's "target" directory. On my system, lxrun was installed under :
/opt/K/SKUNK98/Lxrun/0.9.0/usr/local/bin
So copy the new lxrun under the above dir (please notice that the lxrun binary under /usr/local/bin is a symlink to the above one). Try by executing lxrun and you should get the above output :
Linux Emulator Version 0.9.4pre3, built on May 20 1999 at 09:49:26
Usage: lxrun -u lxrun [-t <element1>[,<element2>...]] [-R <root>] [-U <uname>] prog [args ...]
Trace elements are: all sys sig sock select read write open access fcntl ioctl brkexec procfs pathmap mmap elf verbose
Ok, we're on final; switch to the StarOffice directory and execute the sh1.sh script under your X environment. You'll be presented with a setup program which prompts for a number of things (who are you, where are you from ...); during the installation you'll be prompted for a code. This code will allow you to use SO 5.0 for up to 30 days; once expired, you'll have to get in touch with StarDivision (www.stardivision.com) in order to get your "full code". In my case (Star Office 5.0 - ITALIAN), the code which came with the CD-ROM is as follows:
GNJ9-9XVS-L69F-6XKT
Follow the screens and see if you can reach past the installation method (standard, custom ...); the setup binary will start by reading the various files up to point where the progressive bar (sp?) reaches 20%. At this point, a popup window will appear asking you to insert the Star Office 5.0 CD-ROM; there are 3 buttons depicted (Yes, No, Cancel - again, not sure about the exact spelling since I've got the Italian version). However, click over the third one (Cancel) and you'll be fine.
Once finished, switch to the SO 5.0 destination directory you selected during the install (in my case, /usr/fred/Office50), cd to the "bin" one and you'll find the following files:
psetup setup soffice
They are 3 simple shell scripts which have to be modified in order to get 'em "lxrun-able"; so simply add "lxrun" between the "exec" command and the "$sd_inst..." part of the line (repeat this step for the 3 above commands).
In order to start SO 5.0, simply run "soffice"; if you want to perform some printer setups, issue the "psetup" command. If you want to redo the installation, run the "setup" command.
In the next few days I'll try with version 5.1 so stay tuned !
Feel free to get in touch with me if you need additional info (I'll try to help).
Hope this helps ! © 1999 Roberto Zini, Strhold Sistemi Edp - Italy
Got something to add? Send me email.
More Articles by Roberto Zini © 2011-03-17 Roberto Zini
Be respectful to your superiors, if you have any. (Mark Twain)
Printer Friendly Version
Star Office on SCO Copyright © May 1999 Roberto Zini
Have you tried Searching this site?
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.
Contact us
Printer Friendly Version