Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Dec 1996 20:37:17 -0800 (PST)
From:      Jake Hamby <jehamby@lightside.com>
To:        hackers@freebsd.org
Cc:        jkh@time.cdrom.com
Subject:   Help, I've been SCOed!
Message-ID:  <Pine.BSF.3.95.961207195642.184D-100000@hamby1>

next in thread | raw e-mail | index | archive | help
I just spent a day trying to upgrade a SCO system to Solaris/x86, and I
thought y'all might be interested to hear a brief summary of:  Why SCO
stinks so bad, What FreeBSD can do to court SCO users, and Why I wasn't
able to upgrade to Solaris (hint: it's not Solaris's fault!).

First, why I wasn't able to upgrade.  This user is primarily using the SCO
system as a dial-in (through a Digi Portserver) to remote sites, who
access a FoxPro database (yes, Microsoft FoxPro 2.6 for SCO UNIX!) for
contact and billing info. We decided that Solaris/x86 would be the most
compatible with SCO, because it has full COFF binary support (or so we
thought).

Wisely, we grabbed a scratch hard drive from the old (now unused) 486
server to install Solaris, so we could leave the SCO installation
untouched until we'd verified compatibility.  Good move.  Solaris
immediately core-dumped when attempting to run the foxpro executable!  A
truss output revealed it was looking for locale data, then immediately
received a bunch of signals (apparently from itself), including SIGABORT.
Copying the locale data over (into the rather odd directory
/usr/lib/locale/C/C/C), didn't fix the problem.  Lacking any more
sophisticated tools, we gave up.

The worst part was that some of the programs they had used (fortunately
not FoxPro) were not even COFF, but XENIX a.out!  Running "file" revealed
something like:

Microsoft a.out pure dynamic byte-swapped executable

(I forget the exact modifiers).  Needless to say, Solaris had NO clue
about this files and tried to run them as shell scripts!

At any rate, to justify our day's worth of work, we replaced the crappy
Trident video card the original sysadmin had installed (this was a
custom-built PC with the only redeeming quality being a dual hot-swappable
power supply, that he had charged them over $6000 for, which we all agreed
was a ripoff) with a Diamond Stealth 64 from another PC, and miraculously
were able to get X running immediately (they had NEVER got it to work
before, so had been using console mode all this time).  We also tried to
install the developer environment on the off chance that we could use ld
or some other tool to somehow "wrap" the a.out binaries with a COFF or ELF
header.  There was a tool called "coff2elf"  but NOTHING related to XENIX
binaries.  Does anyone have background info on these old XENIX binaries? 
Will FreeBSD or Linux run them?

Fortunately, the company is understanding of our failure, because we tried
everything in our power to give them a drop-in replacement for SCO, and
they didn't have high hopes to begin with.  Even if we had been able to
deliver, they still want to migrate to Windows NT, so we spent a lot of
today talking about exactly what our options were.  And for what they need
(a simple relational database, and many are comfortable with Access
already), I can't say that I blame them.  If they did want to stay with
UNIX, they would likely need some programmer to come in and custom-write a
front-end (probably in VB for Windows) to access Oracle or some other
RDBMS on the UNIX host, which would cost them a lot more than using
shrink-wrapped software and NT (I realize they would probably still need
some VB programming on the NT clients regardless). FWIW, the regular
sysadmin was cool, and even though he hadn't used UNIX before, in the six
months he'd worked there, he'd become quite proficient. Personally, he is
comfortable with UNIX or NT, so if anyone can tell me what FreeBSD
software is available to implement basic billing, contact management, and
RDBMS capabilities that would NOT require a lot of custom programming,
they would be equally receptive to a UNIX solution. 

Also, I got a copy of FoxPro squirreled away on my Zip drive, so just to
torment my PC, I will play around with them on FreeBSD and Linux.  If
either of them actually works, I will be VERY pleasantly surprised!

Some final comments about SCO:

Their package system is VERY VERY slow.  It also requires a huge amount of
time just to read the package information from the CD-ROM before it even
starts (every time you use it!).  Packages (including most of the OS
itself) are all installed in /opt/K/SCO/blah/foo/whatever and symlinked
all over the place (this has been mentioned before on this list) 

Changing almost ANY trivial parameter requires a kernel relink and reboot.
This includes adding a SCSI hard drive (boot it up, configure it, and then
reboot again!), or even adding a serial-port mouse!

SCO's next project is Gemini, a merger of OpenServer 5 (SVR3.2) and
UnixWare (SVR4).  The article I read was very flattering of all the
wonderful features of SVR4 (better performance, standard package tools, no
need to relink the kernel), but I couldn't help but notice all of these
features are available now in Solaris or UnixWare, so I guess these people
that are still running SCO must all be using XENIX binaries or something.

The "SCO Doctor Lite" package promised to do all sorts of wonderful
pro-active system management stuff.  It turns out that the really clever
AI stuff ("intelligent kernel tuning", interpreting the results) was in
the full SCO Doctor product so essentially all we got were some pretty
(character-mode) bar graphs of data you could get from "top". 

On the plus side, the X11R5/Motif desktop is decent.  It looks a bit like
both Windows and CDE.  Their help system is done in HTML (oddly, most of
the HTML pages were compress(1)ed), with a modified version of NCSA Mosaic
called "scohelp" (the regular Mosaic was also bundled).  All the pages are
fed through a local http server (running on port 432), so that a cgi
script can also link you to man pages (e.g.  /cgi-bin/man/cp+1).  Also,
scoadmin is a decent program, and the Visual Tcl concept (the same program
works in console or X) is interesting.

So, what can FreeBSD do to court SCO users?  We could:

1) Have really good COFF and/or XENIX binary compatibility.  This is a lot
better than what Solaris/x86 offers right now!

2) Start on a decent admin type program.  Personally, I think a good
approach is something combining the ideas of SCO (works on GUI and
command-line), Sun (supports files and NIS), and AIX (shows you exactly
what commands it's running to do the job, so you can put them in a script
or run them manually if you desire).  The disadvantages of these three
tools we should avoid:  SCO almost everything involves relinking the
kernel, Solaris doesn't use UNIX tools to do its job so you have no idea
how to do things yourself manually (the exact opposite of AIX), and I
don't know about AIX enough to say what its weak points are.

3) Start thinking about a custom help system like scohelp, which would
combine man pages and HTML through a custom HTTP server that could be
accessed remotely.  Everyone is moving to HTML (or SGML) anyway, including
our own FreeBSD Handbook.  We just need to make things more approachable
for new users.

All of these have been discussed recently in hackers, so I thought I'd
post this as a summary of how one vendor has done things.  I wish I had
some more insightful comments, but I hope that repeating what they've done
wrong should show us what we can do better.

I hope you found these comments useful and relevant.  Overall, I'd say
FreeBSD has done as good (and often better) job than many commercial UNIX
vendors have done, as my experience today proved!  BTW, now I know that if
I had spent $10 on "Free SCO", it would've been wasted money.  Rather to
find that out with someone else paying me, than vice versa! :-) Now, when
Free UnixWare comes out, that I might think about buying.  Comments? 

-- Jake




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.961207195642.184D-100000>