The error make[2]: *** [.../gcc-3.3.3-glibc-2.1.3/i686-unknown-linux-gnu/share/zoneinfo/Africa/Algiers] Segmentation fault make[2]: Leaving directory `.../gcc-3.3.3-glibc-2.1.3/glibc-2.1.3/timezone' make[1]: *** [timezone/subdir_install] Error 2 is caused by glibc trying to run something it just compiled. A crude workaround for this was posted at http://lists.scratchbox.org/pipermail/scratchbox-users/2004-February/000018.html but the following patch lets you optionally override these programs at make time by setting Make variables localedef_FOR_BUILD rpcgen_FOR_BUILD zic_FOR_BUILD and maybe a few others to point to versions of those programs that can run on the build machine. Thanks to http://groups.google.com/groups?selm=9012160052.AA23106%40kaos.ksr.com for pointing out the idiom for inline $(ifdef ...) in GNU Make. Dan Kegel 2004-05-17 [rediffed for glibc-2.3.2] [typos corrected - those are make variables, not environment variables, and it's $(built-program-override-name), not $(build-program-override-name)] --- glibc-2.3.2/Makeconfig.old 2004-05-17 13:53:46.000000000 -0700 +++ glibc-2.3.2/Makeconfig 2004-05-17 14:09:59.000000000 -0700 @@ -534,9 +534,12 @@ run-program-prefix = endif # Never use $(run-program-prefix) for the statically-linked %-bp test programs -built-program-cmd = $(patsubst %,$(run-program-prefix),\ +built-program-real = $(patsubst %,$(run-program-prefix),\ $(filter-out %-bp,$(built-program-file))) \ $(built-program-file) +# If user set foo_FOR_BUILD, use that instead of actually running the program we just linked. +built-program-override-name = $(notdir $(word 2,$^))_FOR_BUILD +built-program-cmd = $(if $(findstring undefined,$(origin $(built-program-override-name))),$(built-program-real),$($(built-program-override-name))) ifndef LD LD := ld -X