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)