Re: Forwarding: EROS Successfull Compiled on Debian Jonathan S. Shapiro (shap@eros-os.org)
Fri, 12 May 2000 06:26:05 -0400

> > 4. I changed the following lines in...
> I didn't do that. I noticed that the xenv tools weren't in the expected
directory, so I did :
>
> cd src/xenv
> make install

You definitely don't want to change the lines in the makefile. The build is set up so that you only (ever) run the xenv build once, so it is not built by the makefile by default.

> It appears that "make install" from src doesn't build the xenv tools.

Correct. You should build the xenv by hand once. This is left over from the days when the native Linux G++ compiler worked and most compilations didn't require an xenv. Now that they all do I should figure out what to do about this.

> After "building" the xenv tools, the changes from item 4 were not
> necessary. The build then started, but unfortunately stopped with an
> error message.
>
> > 5. Compilation next stopped with an error in
>
>
/usr/local/src/eros/eros/xenv/bin/i386-unknown-linux-g++ -fdefault-inline -f no-implicit-templates -g -O2 -m486 -malign-functions=4 -fno-rtti -fno-excep tions -I../../include -I../../../../../../base/sys -I. -D__KERNEL__ -DTRACE= -DFAST_IPC_ARG_VALIDATE -DCONFIG_ISA=1 -DCONFIG_PCI=1 -DCONFIG_BASE=1 -DI NET=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'

It looks to me like the kernel configuration didn't get generated properly. If you look at SaveArea.h, you'll see that it includes "fixregs.h". First, double check that I remember this right, and that fixregs.h is a generated file. If so, delete it to force it to be regenerated, then go back up to sys/ and type "make".

This could be a python or awk problem if it persists.

Interesting. I just noticed that it's not getting generated correctly in the automated source tree online either.

I'm probably not going to have time to look at this before 22 May, because I'm out of town all next week, but I'll try. The short version is that fixregs.h is a generated file, and the file isn't getting built correctly.

shap