Setting LANG=sv_SE.ISO_8859-1 breaks 7.0 buildworld

Martin Nilsson martin at gneto.com
Sun Nov 18 01:18:29 PST 2007


Can we have this fixed before 7.0-R or at least unset LANG in the Makefile?


If I add the following line to the default profile in /etc/login.conf
         :lang=sv_SE.ISO_8859-1:\

Awk will do something really strange when creating an options.h file 
when building gcc. The build ends with the error:

cc -O2 -fno-strict-aliasing -pipe -I. -DIN_GCC -DHAVE_CONFIG_H 
-DPREFIX=\"/usr\" 
-I/usr/obj/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../cc_tools 
-I/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../cc_tools 
-I/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc 
-I/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/config 
-I/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcclibs/include 
-I/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcclibs/libcpp/include 
-I/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcclibs/libdecnumber 
-g -DGENERATOR_FILE -DHAVE_CONFIG_H 
-I/usr/obj/home/FreeBSD/RELENG_7/src/tmp/legacy/usr/include -c 
/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/gengtype.c
In file included from ./tm.h:4,
                  from 
/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcc/gengtype.c:24:
./options.h:901: error: redeclaration of enumerator 'OPT_w'
./options.h:899: error: previous definition of 'OPT_w' was here
*** Error code 1

Stop in /home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools.
*** Error code 1

Stop in /home/FreeBSD/RELENG_7/src.
*** Error code 1

Stop in /home/FreeBSD/RELENG_7/src.
*** Error code 1

Stop in /home/FreeBSD/RELENG_7/src.


I think this file is created with src/contrib/gcc/opth-gen.awk

tail /usr/obj/home/FreeBSD/RELENG_7/src/gnu/usr.bin/cc/cc_tools/options.h
   OPT_trigraphs,                             /* -trigraphs */
   OPT_undef,                                 /* -undef */
   OPT_w,                                     /* -w */
   OPT_v,                                     /* -v */
   OPT_w,                                     /* -w */
   OPT_version,                               /* -version */
   N_OPTS
};

#endif /* OPTIONS_H */


OPT_w is present twice! The awk script is supposed to remove duplicates 
and sort the result but it does not seem to work with our i18n support.


/Martin


More information about the freebsd-current mailing list