Forwarding: EROS Successfull Compiled on Debian Jonathan S. Shapiro (shap@eros-os.org)
Sat, 6 May 2000 14:53:49 -0400

[I am forwarding this for Andrew. It was bounced by Majordomo, and I have no idea why.]

Hello,

I have succeeded in compiling EROS on a Debian Gnu/Linux system and I thought that it might be helpful for others to post my experiences here.

I used the latest unstable Debian distribution (called woody) and my gcc/g++ version is 2.95.2 20000313

After several compilation attempts, I finally succeeded with the following procedure:

  1. Untar eros-base.tgz, eros-build.tgz and eros-xenv.tgz
  2. Set the following environment variables: EROS_ARCH="i486" EROS_CONFIG="DEFAULT" EROS_HOSTENV="linux-xenv" EROS_ROOT="/mo/eros/eros" EROS_XENV="/mo/eros/eros/xenv" (the eros files were untarred at /mo/eros)
  3. make update
  4. I had to change awk to point to gawk (Gnu Awk), because Debian uses mawk as the default and this caused problems.
  5. I changed the following lines in $EROS_ROOT/src/build/lib/make/makevars.mk, because the cross compilation tools were not being called. from: EROS_GCC=$(NATIVE_GCC) EROS_GPLUS=$(NATIVE_GPLUS) EROS_LD=$(NATIVE_LD) EROS_AR=$(NATIVE_AR) EROS_RANLIB=$(NATIVE_RANLIB) EROS_OBJDUMP=$(NATIVE_OBJDUMP) EROS_STRIP=$(NATIVE_STRIP) EROS_SIZE=$(NATIVE_SIZE) to: EROS_GCC=$(EROS_XENV)/bin/$(CROSS_PREFIX)gcc EROS_GPLUS=$(EROS_XENV)/bin/$(CROSS_PREFIX)g++ EROS_LD=$(EROS_XENV)/bin/$(CROSS_PREFIX)ld EROS_AR=$(EROS_XENV)/bin/$(CROSS_PREFIX)ar EROS_SIZE=$(EROS_XENV)/bin/$(CROSS_PREFIX)size EROS_OBJDUMP=$(EROS_XENV)/bin/$(CROSS_PREFIX)objdump EROS_RANLIB=$(EROS_XENV)/bin/$(CROSS_PREFIX)ranlib EROS_STRIP=$(EROS_XENV)/bin/$(CROSS_PREFIX)strip
  6. Compilation next stopped with an error in $EROS_SRC/src/base/cross/lib/erosimg/ExecImageElf.cxx and I needed to change line 75 from: struct elfhdr& exehdr = *((elfhdr*) image); to: elfhdr& exehdr = *((elfhdr*) image);
  7. "make -k floppy" did not work, because there wasn't any target called "floppy in the Makefile and "make -k ztstflop" didn't write to my FDD which is on /dev/fd0 so I used "make -k zsysvol" and then dd'd the image to /dev/fd0.

It might be possible to eliminate some of these steps, but I haven't had to time to test this yet.

Best regards,

Anthony Mulcahy