SCO Openserver 5.0.7 installation

Aus Knowledgebase
Zur Navigation springen Zur Suche springen

Openserver

SCO started in 1983 with a XENIX port to the IBM PC/XT. They later acquired XENIX from Microsoft completely. In 1989 they released the first version of a new SVR3 port called "SCO UNIX System V Release 3.2". It replaced XENIX as SCO's main product and went through a number of iteration. The last versions of this line of Unix system was called "Openserver 5". It is basically a classic SVR3 Unix system with added quality of life improvements and support for more-of-less recent hardware. One interesting aspect of Openserver is that SCO has build in XENIX compatibility.


Installing Openserver 5.0.7 on a PC

IBM Thinkcentre S50

We will be installing SCO Openserver on this lovely little IBM Thinkcentre S50 PC. It has a 3GHz Pentium 4, 2GB of RAM, 80GB of IDE disk, and Intel 865G (Extreme Graphics 2) chipset graphics. There is also an Intel Pro/100 ethernet chip onboard, but I could not get this working in Openserver. Fortunately, IBM design two normal height PCI slots into this little machine, so I just added a 3com 905B PC ethernet card. This machine should be more than enough for Openserver. In theory one could go for a much faster SMP machine, but a 3GHz P4 is really just fine. The graphics chip will only work after installing maintenance pack 5.


installation media there is an updated Openserver CD "OpenServer-5.0.7Hw-10Jun05_1800". It solves problems with AHCI. Use this CD, rather than the original, old CD. There is also a supplemental CD that includes maintenance pack 5. Make sure you get the following packages and patches from the archives: "gnutools", "oss672a", "oss674a".

Installation sequence:

1 base OS OpenServer-5.0.7Hw-10Jun05_1800:

enter an "enterprise" license and it will basically select most of what can be selected. Add language environments if you want them. I had some bad luck with the "database" option, so I do not recommend that. Just stick to the default. It will guide you through the install process and the reboot. On reboot it will stop at "enter root password to enter single user mode or press CTRL-D to boot up". Here you should login as root to complete the installation.
If you login, it will drop you into a simple root shell. Type "scoadmin" and go through the menus of the administration tool. Enter additional licenses (SCO OpenServer SMP, SCO Openserver Development System, user licenses, etc...). Then go to "software" to install more things.

2 smp:

It's on the OpenServer-5.0.7Hw-10Jun05_1800 CD. Install the smp package right after installing the base system.

3 devsys

It's on the OpenServer-5.0.7Hw-10Jun05_1800 CD. It includes a bunch of Java things that require a certain maintenance pack (MP) revision. Just leave this out for now.

4 mp5

on the supplemental CD.

5 devsys

install the missing parts of the development system (like Java) if you want them.

6 touch /tmp/gnutools.nocheck

this is a necessary step. If you don't do this, the installation of gnu tools will fails.

7 gnutools (gnutools-5.0.7Kj)

from the archives. It includes some updated versions of some libraries.

8 mp5

reinstalling MP5 is necessary, because gnu tools comes with older versions of some libraries (gwxlibs).

9 oss672a (header update) 10 oss674a (smp update)

patches from the archives.


configuring the system

.profile:

PATH=/usr/local/gcc346/bin:/usr/local/bin:/usr/gnu/bin:/sbin:/usr/sbin:/usr/ccs/bin:/usr/lib/X11/IXI/XDesktop/bin:/usr/lib/X11/IXI/XDesktop/bin/i3sc0322:/bin:/etc:/usr/bin:/tcb/bin:/usr/bin/X11

export PATH

stty intr "^C"

stty erase "^?"

LC_CTYPE=de_DE.ISO8859-15
export LC_CTYPE

CONFIG_SHELL=/usr/bin/bash
export CONFIG_SHELL

LD_RUN_PATH=/usr/local/lib
export LD_RUN_PATH



building software


the old Openserver /bin/sh is complete garbage. Use /usr/bin/bash (that is 3.1.17) whenever necessary/possible. It may be necessary to replace some sh with bash in configure scripts.

The LD_RUN_PATH variable will tell the linker to look for additional libraries. It will hardcode this path into the binaries.


gcc-3.4.6:

configure --enable-languages=c --with-gnu-as --with-as=/usr/gnu/bin/gas --prefix=/usr/local/gcc346

one fixed header file is incorrect:

gcc-3.4.6bin/gcc/include/math.h is missing an #endif:

#ifndef FIXINC_WRAP_MATH_H_MATH_EXCEPTION
#define FIXINC_WRAP_MATH_H_MATH_EXCEPTION 1
#endif


libiconv-1.13.1:

configure needs /usr/bin/bash


ncurses-5.9:

./configure --with-shared --without-cxx --without-ada


vim90:

./configure --with-tlib=ncurses --enable-gui=no --without-x --enable-multibyte


bash-3.2.57:

./configure --with-libiconv-prefix=/usr/local --enable-readline --enable-multibyte

edit several Makefiles and remove "-b elf".


pkg-config-0.18.1:

some tests fail, because scripts in check use /bin/sh. They PASS with /usr/bin/bash


mc-4.1.35

./configure --with-sco --with-ncurses 

names.c: In function `finduname':
names.c:62: error: conflicting types for 'getpwuid'
names.c:62: note: an argument type that has a default promotion can't match an empty parameter name list declaration
/usr/include/pwd.h:83: error: previous declaration of 'getpwuid' was here
names.c: In function `findgname':
names.c:98: error: conflicting types for 'getgrgid'
names.c:98: note: an argument type that has a default promotion can't match an empty parameter name list declaration
/usr/include/grp.h:61: error: previous declaration of 'getgrgid' was here
make[1]: *** [names.o] Error 1
make[1]: Leaving directory `/usr/local/compile/mc-4.1.35/vfs'
make: *** [all] Error 1

delete the definitions of getpwuid and getgrgid.


gcc -c -I..  -I./../vfs -I./.. -I/usr/local/include/ncurses -I.. -DBINDIR=\""/usr/local/bin/"\" -DLIBDIR=\""/usr/local/lib/mc/"\" -DICONDIR=\""/usr/local/share/icons/mc/"\"  -DLOCALEDIR=\""/usr/local/share/locale/"\"  -DREGEX_MALLOC -DHAVE_CONFIG_H -g -D_SVID3 utilunix.c
utilunix.c:680: error: conflicting types for 'gettimeofday'
/usr/include/sys/time.h:65: error: previous declaration of 'gettimeofday' was here
utilunix.c:680: error: conflicting types for 'gettimeofday'
/usr/include/sys/time.h:65: error: previous declaration of 'gettimeofday' was here
make[1]: *** [utilunix.o] Error 1
make[1]: Leaving directory `/usr/local/compile/mc-4.1.35/src'
make: *** [all] Error 1

uncomment the definition