yann@1
|
1 |
The error
|
yann@1
|
2 |
|
yann@1
|
3 |
make[2]: *** [.../gcc-3.3.3-glibc-2.1.3/i686-unknown-linux-gnu/share/zoneinfo/Africa/Algiers] Segmentation fault
|
yann@1
|
4 |
make[2]: Leaving directory `.../gcc-3.3.3-glibc-2.1.3/glibc-2.1.3/timezone'
|
yann@1
|
5 |
make[1]: *** [timezone/subdir_install] Error 2
|
yann@1
|
6 |
|
yann@1
|
7 |
is caused by glibc trying to run something it just compiled.
|
yann@1
|
8 |
A crude workaround for this was posted at
|
yann@1
|
9 |
http://lists.scratchbox.org/pipermail/scratchbox-users/2004-February/000018.html
|
yann@1
|
10 |
but the following patch lets you optionally override these programs at
|
yann@1
|
11 |
make time by setting environment variables
|
yann@1
|
12 |
localedef_FOR_BUILD rpcgen_FOR_BUILD zic_FOR_BUILD
|
yann@1
|
13 |
and maybe a few others to point to versions of those programs
|
yann@1
|
14 |
that can run on the build machine.
|
yann@1
|
15 |
Thanks to http://groups.google.com/groups?selm=9012160052.AA23106%40kaos.ksr.com
|
yann@1
|
16 |
for pointing out the idiom for inline $(ifdef ...) in GNU Make.
|
yann@1
|
17 |
|
yann@1
|
18 |
Dan Kegel 2004-05-17
|
yann@1
|
19 |
|
yann@1
|
20 |
--- glibc-2.1.3/Makeconfig.old 1999-11-29 11:19:20.000000000 -0800
|
yann@1
|
21 |
+++ glibc-2.1.3/Makeconfig 2004-05-17 15:57:53.000000000 -0700
|
yann@1
|
22 |
@@ -470,20 +470,24 @@
|
yann@1
|
23 |
# The program binary is assumed to be $(word 2,$^).
|
yann@1
|
24 |
built-program-file = $(dir $(word 2,$^))$(notdir $(word 2,$^))
|
yann@1
|
25 |
ifneq (yes,$(build-shared))
|
yann@1
|
26 |
-built-program-cmd = $(built-program-file)
|
yann@1
|
27 |
+built-program-real = $(built-program-file)
|
yann@1
|
28 |
else
|
yann@1
|
29 |
comma = ,
|
yann@1
|
30 |
sysdep-library-path = \
|
yann@1
|
31 |
$(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\
|
yann@1
|
32 |
$(filter -Wl$(comma)-rpath-link=%,\
|
yann@1
|
33 |
$(sysdep-LDFLAGS)))))
|
yann@1
|
34 |
-define built-program-cmd
|
yann@1
|
35 |
+define built-program-real
|
yann@1
|
36 |
$(elf-objpfx)$(rtld-installed-name) \
|
yann@1
|
37 |
--library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
|
yann@1
|
38 |
$(built-program-file)
|
yann@1
|
39 |
endef
|
yann@1
|
40 |
endif
|
yann@1
|
41 |
|
yann@1
|
42 |
+# If user set foo_FOR_BUILD, use that instead of actually running the program we just linked.
|
yann@1
|
43 |
+built-program-override-name = $(notdir $(word 2,$^))_FOR_BUILD
|
yann@1
|
44 |
+built-program-cmd = $(if $(findstring undefined,$(origin $(built-program-override-name))),$(built-program-real),$($(built-program-override-name)))
|
yann@1
|
45 |
+
|
yann@1
|
46 |
ifndef LD
|
yann@1
|
47 |
LD := ld -X
|
yann@1
|
48 |
endif
|