[comp.os.minix] Bizzare behaviour of asld in 1.2

sbanner1@uvicctr.UUCP (08/30/87)

   I just started to get enough time to start playing with MINIX
again, and the first thing I did was start getting the 1.2 updtates
installed.  I started installing the stuff that was posted a while
back (before the "Difinitive V1.2 updates"), and everything went
fine, when I recommpiled all the commands stuff (well, almost
everything, but that is irrelevent).  Next, I went on to the
Libraries, and fs, and that went fine too.  Then, I looked through
all my back messaege from this group (for the amounts to use in the
chmem on the new commands), then added a few mods to cc, and
recompiled it, and *bang*.  Unresolved referances.  Specifically,
_sendrec, and another one, which I have been able to fix, but no
matter what I have tried, asld doesn't want to find _sendrec.  I
have tried everything I can think of except go back to full 1.1,
and packing the assembler file before putting it in the archive (I
did go back to the full 1.1 lib, and try that, and with the updates
in the "difinitive updates" posting).  I am at wit's end.  I have
tried almost everything I can think of, so I ask for help (I hope I
am overlooking something obvious).  The one thing I knoticed when
playing with the libraries was that in at least sendrec.s, catchsig.s,
and csv.s (no .c files for these), the functions that they were
supposed to define were declared in '.globl's, and not '.define's,
as they should be (at least according to the description of asld in
the book).  However fixing that had no effect on my problem (but
either way, which is really right???).

    Thanks for any help, if there is call for it, I will sumarize
to the net.

                      S. John Banner

...!uw-beaver!uvicctr!sol!sbanner1
...!ubc-vision!uvicctr!sol!sbanner1
ccsjb@uvvm
sbanner1@sol.UVIC.CDN
 
PS. Once I get things going under 1.2, I plan on trying to get
Kermit going so we can all transfer files directly from our mail
sites, to MINIX rather than going through DOS, and similar type
stuff.  If anyone is currently working on such stuff please let me
know any problems, etc.  Thanks.       sjb.

sullivan@marge.math.binghamton.edu.UUCP (09/01/87)

In article <317@uvicctr.UUCP> sbanner1@uvicctr.UUCP (S. John Banner) writes:
>
>recompiled it, and *bang*.  Unresolved referances.  Specifically,
>_sendrec, and another one, which I have been able to fix, but no
> 
I have had similar problems with getc.  The linker can't find it.  I
extracted getc.s file from the archive, and linked it in explicitly.  Then
everything worked.

>PS. Once I get things going under 1.2, I plan on trying to get
>Kermit going so we can all transfer files directly from our mail
>sites, to MINIX rather than going through DOS, and similar type
>stuff.  If anyone is currently working on such stuff please let me
>know any problems, etc.  Thanks.       sjb.

I would be extremely grateful for a working kermit.  Any hope for vt100
emulation as in the msdos version?  Has anyone done this?

Fred Sullivan
Department of Mathematical Sciences
State University of New York at Binghamton
Binghamton, New York  13903
Email: sullivan@marge.math.binghamton.edu

dcd@fluke.UUCP (09/02/87)

In <317@uvicctr.UUCP> sbanner1@uvicctr.UUCP (S. John Banner) mentioned
the problem that the new asld doesn't want to find _sendrec.

I had this same problem when trying to re-build the library /usr/lib/libc.a.
It seems that the sources as distributed do not include the line
.define _send, _receive, _sendrec

When one examines the ar extracted, libupack'ed version of sendrec.s
from /usr/lib/libc.a there are two lines
.define _send, _receive, _sendrec
.globl _send, _receive, _sendrec

The libpack'ed, libupack'ed version of the source (with comments) does
not include the .define line, just the .globl line.

This same problem can be found in the following files:
	sendrec.s
	getutil.s
	setjmp.s
	brksize.s
	catchsig.s
	

After updating the sources I was able to rebuild the library,
and recompile and run the tests (which, by the way, took me
a while that I should be root when runing some of them (or at least
be suid root).

Also: After re-building the new ls and executing the command
	"ls -lg" (to list the groups) one will discover that there
	should be a file called /etc/group around (root touching the
	file is good enough to start with, before adding the group
	entries).

Oh, I haven't had a lot of time to bang on minix yet, but V1.1
does run correctly on a compaq (early model) with the 20Mb HardCard.
I'm starting to try the posted MSC cross development package posted
recently by ericr@ipmoea.UUCP (Eric Roskos).

Thats all for now
	David Dyck
	dcd@tc.fluke.COM


David Dyck/ms274G/John Fluke Mfg Co/Box C9090/Everett WA 98206 USA/206-356-5807
   dcd@tc.fluke.COM
UUCP:
   {{cornell,decvax,ihnp4,sdcsvax,tektronix,utcsrgv}!uw-beaver} \
{allegra,microsoft,gatech!sb1,sb6,hplabs!lbl-csam,decwrl!sun,sunup} - !fluke!dcd
 {ssc-vax,hplsla,wavetek,physio,uw-vlsi,cae780,tikal,telematic} /
ARPA: fluke!dcd@uw-beaver.ARPA
BITNET: "fluke!dcd@uw-beaver.ARPA"@wiscvm.bitnet

ast@cs.vu.nl (Andy Tanenbaum) (09/02/87)

In article <317@uvicctr.UUCP> sbanner1@uvicctr.UUCP (S. John Banner) writes:
>    Thanks for any help.

First of all, I goofed.  I should never have posted V1.2 cc.c.  That
program requires the rest of the 1.2 compiler.  Go back to V1.1 for cc.c.

As to _sendrec, there must be a .define for each globl symbol.
Furthermore, all the .defines must occur at the start of the file,
with no intervening text.  That is what cc -c -LIB generates.
If the .defines are not there at the start, asld will not recognize the
module.

As to kermit, that sounds nice.  One thing that is needed is an RS232
driver.  There have been two posted so far (Andy Valencia and Bing Bang),
but both are very large and said to be not fully debugged.  I think there
is still a need for a minimal RS232 driver that just drives the serial
port as an I/O device, without also requiring a large number of changes
elsewhere in the system to support multiple users.  Hopefully this could
be done in a new file rs232.c, with a few changes to tty.c and not too
many elsewhere.  If anyone wants to do this, it would be much appreciated.
Maybe one of the two drivers already posted could be used as a base.

Andy Tanenbaum (ast@cs.vu.nl)

bengtb@erix.UUCP (Bengt Baeverman) (09/04/87)

In article <1643@sputnik.COM> dcd@tc.fluke.COM (David Dyck) writes:
>
>In <317@uvicctr.UUCP> sbanner1@uvicctr.UUCP (S. John Banner) mentioned
>the problem that the new asld doesn't want to find _sendrec.
>

I experienced the same problem and found that the problem, that asld 
cannot find _sendrec, was due to it not being in the library. The problem
was in the script that created the library libc.a. It calls the  program
basename in a line looking like this (as I can remember it):

	f=`basename $f .c`.s

The variable f should then contain something like "filename.s", BUT due to a
bug in sh (?) it became "filename .s" and grep could not find the file and it
didn't get included in the library...

[Hopefully you understand what I mean if you read the script. It is called
run in the minix/lib directory.]

			Bengt Baverman	
			bengtb@erix.se