Plus I have a spare PC which is just beggin' to be booted with Eros. :-)
So here are some questions :
make update : does it ? Does it really update the source tree completely, or am I missing bits and pieces which need to be done individually.
libbfd and libiberty, which are currently causing me problems, look like they are built. They just might not be in the right place ?? Of course trying to figure out what the right place might be is not nearly as easy as it sounds...
Brian
Anyway, here's the results of my latest attempt for those that might have all sorts of spare time to help me out :
Start from the VERY beginning :
rm -rf eros
for i in *.tgz ; do tar xvzf $i ; done
cd eros/src
make update
Try a make clean, just in case there is cruft which might cause problems :
make -k clean
Fails.
make[3]: Leaving directory `/usr/local/src/eros/eros/src/doc/www' make[3]: Entering directory `/usr/local/src/eros/eros/src/doc/dissertation' make[3]: *** No rule to make target `do-clean'. make[3]: Leaving directory `/usr/local/src/eros/eros/src/doc/dissertation'*** RECURSIVE BUILD STOPS ***
make[2]: *** [recursive-clean] Error 1 make[2]: Target `do-clean' not remade because of errors. make[2]: Leaving directory `/usr/local/src/eros/eros/src/doc'*** RECURSIVE BUILD STOPS ***
make[1]: *** [recursive-clean] Error 1 make[1]: Target `do-clean' not remade because of errors. make[1]: Leaving directory `/usr/local/src/eros/eros/src'make: *** [clean] Error 2
Assume that make clean, made everything clean enough and try
make install
Fails.
/bin/sh: /usr/local/src/eros/eros/xenv/bin/i386-unknown-linux-gcc: No such file or directory
OK. The cross tools aren't built.
cd xenv
make install
Completes successfully. Go back and try the build again.
cd ..
make install
Fails again for something which looks really suspicious, i.e. if kern_main doesn't build then basically nobody can build so maybe there's still something wrong with the tree.
/usr/local/src/eros/eros/xenv/bin/i386-unknown-linux-g++ -fdefault-inline -fno-implicit-templates -g -O2 -m486 -malign-functions=4 -fno-rtti -fno-exceptions -I../../include -I../../../../../../base/sys -I. -D__KERNEL__ -DTRACE= -DFAST_IPC_ARG_VALIDATE -DCONFIG_ISA=1 -DCONFIG_PCI=1 -DCONFIG_BASE=1 -DINET=1 -DKERN_TIMING_STATS=1 -DALLOW_USER_RDTSC=1 -DSCSI=1 -DDDB=1 -DFAST_IPC_STATS=1 -DKERN_STATS=1 -DSMALL_SPACES=1 -DKERN_PROFILE=1 -DOB_MOD_CHECK=1 -DKEYREGS_IN_CONTEXT=1 -DCPU_I386=1 -DCPU_I486=1 -DCPU_PENTIUM=1 -DCPU_PPRO=1 -DARCH_X86=1 -DMACHINE_PC=1 -Wall -Winline -Werror -Wno-format -c ../../../../../../base/sys/kernel/kern_main.cxx
../../../../../../base/sys/eros/machine/SaveArea.h: In function `bool sa_IsProcess(const struct fixregs_t *)':
In file included from ../../../../../../base/sys/kerninc/Process.hxx:36,
from ../../../../../../base/sys/kerninc/Thread.hxx:33,
from ../../../../../../base/sys/kernel/kern_main.cxx:41:
../../../../../../base/sys/eros/machine/SaveArea.h:29: `struct fixregs_t' has no member named `CS'
Try
make clean
again. Fails at the same place as last time, but again maybe it's "clean enough".
make install
Fails.
g++ -fdefault-inline -fno-implicit-templates -g -I../ -I/usr/local/src/eros/eros/cross/include -I/usr/local/src/eros/eros/xenv/include -Wall -Winline -Werror -Wno-format -c ExecImageElf.cxx ExecImageElf.cxx: In method `bool ExecImage::InitElf()': ExecImageElf.cxx:75: using typedef-name `elfhdr' after `struct' make[4]: *** [ExecImageElf.o] Error 1
Wow ! It got past the previous point ! This makes me kind of nervous. Is the build process swapping header files around ? Is there some sort of ugly order dependency on the build ? Well, this time we know the correction - from Andrew's e-mail (Any chance it can be put in the cvs tree ?)
Apply the (very minor) fix and try again.
make install
Fails.
make clean
make install
Fails with the same error.
Darnit.