From filter at heavybell.org  Sun Jul 23 07:07:01 2006
From: filter at heavybell.org (filter)
Date: Sun, 23 Jul 2006 09:07:01 +1200
Subject: [pups] V6 kernel compile help
Message-ID: <44C29375.10009@heavybell.org>

Hi All

I need help with the V6 kernel compilation. I read the Unix setup guide
and the
file /usr/sys/run. I've seen one problem so far with the /usr/sys/run
file. That is
that the two lib files (lib1 & lib2) did not contain any symbols.

When I ran:
# ar r ../lib1
and
# ar r ../lib2

I got a string of error messages from ld.

But after I did this:
# ar r ../lib1 *.o
and
# ar r ../lib2 *.o

I have these missing symbols
# ld -x l.o m40.o c.o ../lib1 ../lib2
Undefined:
_end
_edata
_iinit
_iget
_update
_schar
_namei
_maknode
_access
_itrunc
_iput
_alloc
_uchar
_closef
_getf

Can anyone help me with this?
(I saw that MIT athena  has a  V6 repository with a  Makefile in it
But I cannot access it at all. (-_-) )

thanks
bent lee



From helbig at Lehre.BA-Stuttgart.DE  Sun Jul 23 17:57:53 2006
From: helbig at Lehre.BA-Stuttgart.DE (Wolfgang Helbig)
Date: Sun, 23 Jul 2006 09:57:53 +0200 (MEST)
Subject: [pups] V6 kernel compile help
Message-ID: <200607230809.k6N89ZH00228@bsd.korb>

Hi Bent Lee,

you asked for help
>
>I need help with the V6 kernel compilation. I read the Unix setup guide
>and the
>file /usr/sys/run. I've seen one problem so far with the /usr/sys/run
>file. That is
>that the two lib files (lib1 & lib2) did not contain any symbols.
>
>When I ran:
># ar r ../lib1
>and
># ar r ../lib2
>
>I got a string of error messages from ld.

which error messages?

>
>But after I did this:
># ar r ../lib1 *.o
>and
># ar r ../lib2 *.o

This might have corrupted your lib files. These two lines are only meant as
templates to replace some files in your archives, that is lib[12], if necessary.
But replacing an object file is necessary only if you changed the corresponding 
source file and recompiled it.

Here are the files supposed to be in lib1:
# ar t lib1
main.o
alloc.o
iget.o
prf.o
rdwri.o
slp.o
subr.o
text.o
trap.o
sig.o
sysent.o
clock.o
fio.o
malloc.o
nami.o
pipe.o
sys1.o
sys2.o
sys3.o
sys4.o


>
>I have these missing symbols
># ld -x l.o m40.o c.o ../lib1 ../lib2
>Undefined:
>_end (defined by ld if successful)
>_edata (same)
>_iinit (from alloc.c)
>_iget (from iget.c)

replace lib1 and lib2 with the original files and it should work!

You might want to consult
	http://www.ba-stuttgart.de/~helbig/os/script/chapt1.1
for help installing V6.


Regards,
Wolfgang

--
"Dijkstra is right, but you don't say such things!"
(A less courageous programmer)



