Hi,
My system has Coreutils-7.4 compiled with the i18n patch from
http://cvs.fedoraproject.org/viewvc/devel/coreutils/coreutils-i18n.patch.
Using this to compile dash, when in an en_GB.UTF-8 locale, I get the following error:
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN -Wall -g -O2 -MT eval.o -MD -MP -MF ".deps/eval.Tpo" -c -o eval.o eval.c; \
then mv -f ".deps/eval.Tpo" ".deps/eval.Po"; else rm -f ".deps/eval.Tpo"; exit 1; fi
eval.c: In function ‘evalcommand’:
eval.c:810: error: ‘EXECCMD’ undeclared (first use in this function)
eval.c:810: error: (Each undeclared identifier is reported only once
eval.c:810: error: for each function it appears in.)
eval.c:812: error: ‘COMMANDCMD’ undeclared (first use in this function)
make[3]: *** [eval.o] Error 1
This is because the src/mkbuiltins script ends up generating an incomplete
src/builtins.h file. This, in turn, is caused by 'sort -u -k 3,3' not
working correctly.
The attached patch fixes/works around things by setting LC_CTYPE=C, thus
overriding the build environment (in a similar manner to the earlier call to
'sort' in that same script).
Regards,
Matt.
Submitted by: Matt Burgess (matthew_at_linuxfromscratch_dot_org)
Date: 2009-08-15
Initial Package Version: 0.5.5.1
Upstream Status: Submitted
Origin: Matt Burgess
Description: In UTF-8 locale's with an
diff -Naur dash-0.5.5.1.orig/src/mkbuiltins dash-0.5.5.1/src/mkbuiltins
--- dash-0.5.5.1.orig/src/mkbuiltins 2009-01-13 23:37:13.000000000 +0000
+++ dash-0.5.5.1/src/mkbuiltins 2009-08-15 17:31:19.000000000 +0000
@@ -83,7 +83,7 @@
*/
!
-sed 's/ -[a-z]*//' $temp2 | nl -v 0 | sort -u -k 3,3 |
+sed 's/ -[a-z]*//' $temp2 | nl -v 0 | LC_CTYPE=C sort -u -k 3,3 |
tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ |
awk '{ printf "#define %s (builtincmd + %d)\n", $3, $1}'
printf '\n#define NUMBUILTINS %d\n' $(wc -l < $temp2)