Locale problems while building Pike
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4632
Reported by @zino
A Polish developer runs who ran "make" got this output:
Compiling tmodule.c
sed -e 's![^ -~]lib_prefix[^ -~]!/home/opera/instalki/pike-current/build/
linux-2.6.27-7-generic-x86_64/lib!' -e 's![^ -~]share_prefix[^ -~]!/home/
opera/instalki/pike-current/lib!' -e 's![^ -~]include_prefix[^ -~]!/home/
opera/instalki/pike-current/build/linux-2.6.27-7-generic-x86_64/bundles/
include/pike!' -e 's,x,x,' </home/opera/instalki/pike-current/lib/
master.pike.in >master.pike
sed: -e expression #1, char 99: Invalid range end
make[2]: *** [master.pike] Error 1
make[1]: *** [_make_in_builddir] Error 2
make: *** [compile] Error 2
With the following environment:
Ununtu sed 4.1.5 make 3.61 tcsh 6.14.00-7ubutu1
LANG=pl_PL.UTF-8 LC_MESSAGES=C
The following patch from Piotr Smyrak fixes it, but I'm unsure about the implications for legacy systems:
--- src/Makefile.in.orig 2008-11-07 15:26:57.000000000 +0100
+++ src/Makefile.in 2008-11-07 15:27:50.000000000 +0100
@@ -924,7 +924,7 @@
then u=s,x,x,; \
else u='s/^#undef PIKE_MODULE_RELOC/#define PIKE_MODULE_RELOC
1/'; \
fi; \
- LC_CTYPE=C; LC_LANG=C; export LC_CTYPE LC_LANG;
+ LC_CTYPE=C; LC_COLLATE=C; export LC_CTYPE LC_COLLATE; \
cmd="sed -e 's![^ -~]lib_prefix[^ -~]!`echo '$(TMP_LIBDIR)' | ./
posix_to_native.sh`!' \
-e 's![^ -~]share_prefix[^ -~]!`echo '$(LIBDIR_SRC)' | ./
posix_to_native.sh`!' \
-e 's![^ -~]include_prefix[^ -~]!`echo '$(TMP_BUILDDIR)/bundles/
include/pike' | ./posix_to_native.sh`!' \