From: flebbe@nova.tat.physik.uni-tuebingen.de (Olaf Flebbe)
Subject: Re: more problems building ST Minix 1.6.23
Organization: TAT (Theoretical Astrophysics Tuebingen), U. of Tuebingen, FRG
Date: Thu, 31 Dec 1992 08:59:17 GMT

powers@asd.enet.dec.com (Bill Powers) writes:



>  I am having difficulty building ST Minix 1.6.23.  Maybe someone
>could enlighten me as to what I might be doing wrong.  Here are
>the steps I took to try to get it to work.

>1) I loaded my 1.5.10 sources into a source tree.

>2) I applied Andy's 1.6.23 diffs & patches from an ftp site.

>3) I applied Frans's patches he posted on comp.os.minix.

>At this point all source CRC's looked fine except for the few in
>the libraries that I had mentioned in a previous post.  But that
>turned out to be a non issue.

>4) I modified config.h to match my system.

>5) I built the library files that Frans calls out in his install
>   doc.  The only thing I had to do here which wasn't called out
>   was to edit 68000/setjmp.s.  The assembler wouldn't assemble
>   this file due to syntax errors.  I had to add a '.' in front
>   of the first 11 lines of source directives.  Then it assembled.
Strange. I guess you have a corrupt version of lib files. The file I
got was correct. I don't have any idea what went wrong. 

>6) I replaced the specified files in libc.a that Frans calls out
>   in his install doc.

>7) Although it wasn't listed in the install doc, there have been
>   several posts which seem to indicate that one must build cv
>   before building the kernel.  So I built cv, and coppied it to
>   /usr/lib.
You should place your old head.o end.o and cv at a secure place, so
that you can quickly change back, when an error occurs. I had to copy
the files many times until I finally did the upgrade.

>8) I went into src/fs and did a make.  It compiled everything, and
>   seemed to do the ld then it went to do the 'cv tmp fs' & make 
>   aborted with an error -256.  I tried to do the cv by hand and
>   it did nothing.  I then just entered cv with no parameters, and
>   it did nothing, not even print out a usage line, and from looking
>   at the source, it should do.
Any more error messages?

>Questions:

>A) When building cv do you use the new libc.a or the old one?
cv is only needed if you want to have a minix executable. i.e. it is
not needed for makeing a lib.

>B) When building cv do you use the new include files or the old
>   ones?
First step: Making a cross-cv: i.e. Using the *old* lib, the *old*
includes to making a cross-cv (a 1.5.10 executable to generate a
1.6.23 executable). I used it to generate a new kernel. And
remember: You need a *old* lib, and an *old* include to make a *new*
build. After 1.6.23 was running I made a new cv (*new* header *new*
lib.

>C) When building cv do you have to copy the new head.o end.o
>   & crtso.o to /usr/lib?
No. see above. But when you are makeing a *new* kernel, fs, mm, init
you need a new lib, new header new end, head.

>D) If not, when must this be done if at all?
It works, but it is very puzzling.

>E) I also can't find a crtso.s in the source tree, there is
>   a ncrtso.s.  Is this what I should use instead of crtso.s?
>   After assembly, do you need to rename it to crtso.o?
I didn't touch my /usr/lib/crtso.o

>F) I seem to get the impression the new command binconv is to
>   convert the 1.5.10 binaries to 1.6.23.  Is that correct?
>   At what point in the process do you need to compile this?
It is correct. You will need it if you wan't to deal with 
commands form 1.6.23  like chmem. These commands look at the file
header and don't recognize 1.5 execs as an valid a.out file. binconv
can help you patching this header. You will need it (perhaps) after
you have changed to the new 1.6.23 kernel. So compile it with the new
lib include etc.


--
  Olaf Flebbe,  Theoretische Astrophysik Tuebingen
  Internet:     flebbe@tat.physik.uni-tuebingen.de