# Trouble cross compiling world



## erikf154 (May 27, 2010)

We got a build server 7.2 i386. On the very same machine we use NFS to export /usr/src and /usr/obj. We've been building native i386 kernel world for a long time and on other servers we've mounted the build server's shares to install kernel and world with no problems.

Recently we've started introducing amd64 servers into our server park so we figured we'd start cross compiling. Building world and kernel worked fine, same with installing the kernel, but not world.

Build server:

```
# make TARGET=amd64 buildworld && make TARGET=amd64 buildkernel
```

On destination server

```
# mount build001:/usr/src /usr/src
# mount build001:/usr/obj /usr/obj
# cd /usr/src
# setenv MAKEOBJDIRPREFIX /usr/obj/amd64
# make TARGET=amd64 installkernel
# make TARGET=amd64 buildworld
..
..
..
===> csu/i386-elf (install)
cc -m32 -march=i686 -mmmx -msse -msse2 -mfancy-math-387 -DCOMPAT_32BIT  -iprefix /usr/obj/amd64/usr/src/lib32/usr/  -L/usr/obj/amd64/usr/src
/lib32/usr/lib32  -B/usr/obj/amd64/usr/src/lib32/usr/lib32 -O2 -fno-strict-aliasing -pipe -I/usr/src/lib/csu/i386-elf/../common  -I/usr
/src/lib/csu/i386-elf/../../libc/include -DNDEBUG -Wsystem-headers -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes 
-Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-
subscripts -Winline -Wnested-externs -Wredundant-decls -Wno-pointer-sign -c /usr/src/lib/csu/i386-elf/crt1.c
Assembler messages:
FATAL: can't create crt1.o: Read-only file system
*** Error code 2

Stop in /usr/src/lib/csu/i386-elf.
*** Error code 1

Stop in /usr/src/lib.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
```

I use the MAKEOBJDIRPREFIX because make seems to put everything in /usr/obj/amd64, seems to work fine during installkernel, rebooting and everything works. But I can't figure out why installworld fails.


----------



## erikf154 (May 27, 2010)

I was using ccache and it looks like buildworld didn't like that. I tried again w/o it and now it works fine


----------

