Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Nov 1995 09:55:23 +0100 (MET)
From:      grog@lemis.de (Greg Lehey)
To:        terry@lambert.org (Terry Lambert)
Cc:        hackers@freebsd.org (FreeBSD Hackers)
Subject:   Re: Where is the documentation for ibcs2?
Message-ID:  <199511270855.JAA04164@allegro.lemis.de>
In-Reply-To: <199511261948.MAA15284@phaeton.artisoft.com> from "Terry Lambert" at Nov 26, 95 12:48:38 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert writes:
> 
>>>> What is the name of the man page for ibcs2?
>>> 
>>> There isn't one.  There doesn't need to be one.  
>> 
>> I strongly disagree.  BSDI has found the need to write two separate
>> man pages (ibcs2(5) and sco(1)), and the information contained there
>> is very useful.  At the very least, you need to tell people how to
>> enable it (yes, I did know about the entry in /etc/sysconfig; that's
>> where I came in), and how to run a COFF executable, even if it's
>> trivial.
> 
> BSDI needs one because they have to enable it explicitly.

Wrong.  That's the case for FreeBSD, as you say:

> FreeBSD can set the value in the /etc/sysconfig to "YES" at install
> time because FreeBSD supports LKMs.

>>> I think I need to
>>> rephrase my answer:
>>> 
>>> You use "modload", whose man page is "modload(8)" to load it.  You
>>> don't have any other options regarding IBCS2:  you only have the option
>>> of loading it or not loading it.
>> 
>> Options aren't the only think to document.  How about limitations and
>> bugs?
> 
> What are the limitations and bugs in FreeBSD itself?  Not very documented,
> and more important that similar documents for IBCS2.

Well, people are addressing this problem, and not just claiming "There
isn't one.  There doesn't need to be one." 

>> How do I know how to enable the emulation?
> 
> At install time, when it asks you about it.

I didn't want it then.  I want it now.  How do I know how to enable
the emulation?

>> How do I run the program?  Just start it by name?
> 
> Yes.

Aha.  Where can I read that?

>> Do I need to say "ibcs2 vi", or will it be enough just to write "vi"?
> 
> Do I need to type "run foo" or just "foo"?

I don't know.  What's foo?

>> I tried vi with the SCO version and got:
>> 
>> === root@freebie (/dev/ttyp0) /allegro/usr/sco/usr/bin 16 -> ./vi
>> Abort trap
> 
> It apparently won't run.

Why not?

>> === root@freebie (/dev/ttyp0) /allegro/usr/sco/usr/bin 17 -> ibcs2 vi
>> modload: error initializing module: File exists
> 
> You are now typing things at random.  

People tend to do that if they can't find the documentation.

> A bad idea for root (you must have
> been root to get that particular error message).

Give me a better suggestion.

>> Well, it appears that I need to run it as "ibcs2 vi".  But what's this
>> modload problem?  I have enabled Or have I done it wrong after all?
> 
> Tell me: what must you do to enamle running of FreeBSD binaries?  You
> must install.

Must I?  I thought it was sufficient to copy the data.  If I run them
across the net, I don't even need to do that?

> What must you do to run FreeBSD binaries?  You type their name.  The
> questions are divisible.  What makes you believe (incorrectly) that
> you would need to type "ibcs2 <binary name>" to run a binary?

The fact that the first attempt failed.  This wasn't a belief, it was
a desperate hope.

>> I'm an experienced computer person, and quite honestly the lack of
>> documentation (coupled, admittedly, with a lack of interest in SCO
>> software) is enough that I'm prepared to give up.  Who is going to use
>> this stuff if they run into trouble and can't even be certain they've
>> started it properly.  How does it work?
> 
> I agree that there is a lot of missing "theory of operation" documentation
> for lots of the kernel.  Execution classes are one such beastie.  The
> VM is another.
> 
> But if you expect Joe Schmoe to be able to make it work without asking
> questions on -questions at this point if Joe Schmoe didn't have things
> handled for him in the install, then you are barking up the wrong tree.

Assuming that this abort trap is not typical, yes, I do expect Joe
Schmoe to be able to make it work without asking questions on
-questions at this point.  Joe and his brother Bill are working for
one of my customers, who are doing just this with a System V
application running on BSD/OS in Munich.  It would be nice if they
could use them on FreeBSD as well.  They have FreeBSD, but for various
minor, silly reasons they don't use it.

> Perhaps the right tree is http://www.freebsd.org.  

It should be the FM.  Anyway, I've looked through the handbook.  I
can't find anything there, either.

> Or the source code,
> which is provided free of charge.  

I looked there too.  The program is called /usr/bin/ibcs2, but there's
no source directory /usr/src/usr.sbin/ibcs2.  There's a directory
/usr/src/sys/i386/ibcs2, but it doesn't have a Makefile.  There's a
directory /usr/src/lkm/ibcs2, but the program there does nothing more
than load an lkm.  Anyway, what do you think Joe would say?

> Or the installation software that
> should have created the missing devices for you.  

No it shouldn't.  I didn't want one then.  But that's
interesting--this is the first I have heard of missing devices.  Maybe
that's why it doesn't work.  Where's this documented?

> Or the fact that to
> use an SCO shared binary, you must first own a copy of SCO to get the
> shared libraries.  And you must know enough about how SCO uses shared
> libraries to get them moved over.  And you must know general theory of
> operation of execution classes.

Indeed.  Where's the man page?

> And let me tell you, a simple (or even a complex) man page will sure
> as hell not cover it, especially without doing what Linux did and
> supplying our own IBCS2 shared libraries, etc.

Why not?  Because of a dislike of man pages on the part of the person
who should be writing them?

> So who will use it?  People who have this information already, people
> willing to dig it out of the sources, or people willing to ask questions
> of people who already know these things.
> 
>> How do I go about finding out what's wrong here?
> 
> Ask.

RTFM.

>>> Typically, you don't document things that don't have parameters, options,
>>> or other controls.  
>> 
>> Speak for yourself.  From my point of view, this is completely wrong.
> 
> Are we talking "typically" (like I thought) or "ideally"?  If "typically",
> then feel free to write man pages to make yourself right.  "Typically"
> means in the common case, and if we pick a case at random (oh, say, IBCS2?)
> and examine it, we find the documentation unwritten except as source code.

As I said, speak for yourself.  If I release software, I document it.

>>> Things like IBCS2 are binary: they either are or
>>> are not loaded.
>>> 
>>> If you don't want to load it as a module (why not? It's an easy thing
>>> to do), then you can statically compile it.  Look at /sys/i386/conf/LINT,
>>> at the bottom of the file:
>> 
>> I can't see any reason not to load the module either.
> 
> Memory.  You should be asked on install.  One problem is that the install
> configuration is not very reentrant.  So fix it, you have the sources.

First I need to know what the problem is.  If I run into problems, the
first thing I do is read the man page.  That's what I've been trying
to do, but I've come across this claim "There isn't one.  There
doesn't need to be one."

> Tell me, how is your hypothetical IBCS2 user, who will be using IBCS2 based
> apps, not system components like "vi" going to *load* his software without
> IBCS2 install tools?  I know the answer to this one: they will do it by
> playing computer and running the install script by hand.  Try Lotus 1-2-3
> this way some day: I have.

I don't know.  I don't have the documentation.  But I would guess that
he will run his install tools in the same environment that he would
use to run them.

> The software is incomplete.  You are incorrectly equating the kernel
> components (which are to be optioned at install time, if done correctly)
> with a full IBCS2 environment.

Now here's the first statement with which I can agree.  Fine, except
that I didn't know that (it didn't say that in the man page).  Still,
a minimum of documentation would help even at this stage.  So, what
remains to be done?

Greg



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511270855.JAA04164>