This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi; While trying to compile glibc-2.3.6 under tr_TR.UTF-8 locale, it fails with following (attention to locale name); DEBUG: make -C iconv others DEBUG: make[2]: Entering directory `/var/tmp/pisi/glibc-2.3.6-11/work/glibc-2.3.6/iconv' DEBUG: make[2]: Nothing to be done for `others'. DEBUG: make[2]: Leaving directory `/var/tmp/pisi/glibc-2.3.6-11/work/glibc-2.3.6/iconv' DEBUG: make -C iconvdata others DEBUG: make[2]: Entering directory `/var/tmp/pisi/glibc-2.3.6-11/work/glibc-2.3.6/iconvdata' make[2]: *** No rule to make target `/var/tmp/pisi/glibc-2.3.6-11/work/build-default-i686-pc-linux-gnu-nptl/iconvdata/Äso8859-1.os', needed by `others'. Stop. DEBUG: make[2]: Leaving directory `/var/tmp/pisi/glibc-2.3.6-11/work/glibc-2.3.6/iconvdata' make[1]: *** [iconvdata/others] Error 2 DEBUG: make[1]: Leaving directory `/var/tmp/pisi/glibc-2.3.6-11/work/glibc-2.3.6' make: *** [all] Error 2 Turkish has 4 letter "I"s. English has only two, a lowercase dotted i and an uppercase dotless I. Turkish has lowercase and uppercase forms of both dotted and dotless I. So tolower(I) != i and toupper(i) != I for us. Althought this situation is not a glibc bug (sed can't convert these properly) its directly affected. All iconvdata/gen-8bit-*.sh scripts (which generated by below command) generates wrong locale names but these script must locale independent. So please find attached simple patch to solve this issue. DEBUG: { echo ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15 ISO8859-16 .... ...iso-ir-209 mac-sami iso8859-11 ibm866nav pt154 rk1048; } | \ DEBUG: gawk 'NR == 1 { \ DEBUG: for (i = 1; i <= NF; i++) { \ DEBUG: printf "%s-routines := %s\n", $i, tolower($i); \ DEBUG: printf "%s-map := gconv.map\n", $i; \ DEBUG: } \ DEBUG: }; \ DEBUG: NR > 1 { \ DEBUG: for (i = 2; i <= NF; i++) { \ DEBUG: printf "$(objpfx)%s.stmp: ", $i; \ DEBUG: map = toupper($i); \ DEBUG: sub(/^ISO8859/, "ISO-8859", map); \ DEBUG: if (map == "ISO_2033") map = map "-1983"; \ DEBUG: printf "$(charmaps)/%s ", map; \ DEBUG: printf "gen-%s.sh\n", $1; \ DEBUG: printf "\t$(generate-%s-table)\n", $1; \ DEBUG: } \ DEBUG: }' > /var/tmp/pisi/glibc-2.3.6-11/work/build-default-i686-pc-linux-gnu-nptl/iconvdata/iconv-rules.new DEBUG: mv -f /var/tmp/pisi/glibc-2.3.6-11/work/build-default-i686-pc-linux-gnu-nptl/iconvdata/iconv-rules.new /var/tmp/pisi/glibc-2.3.6-11/work/build-default-i686-pc-linux-gnu-nptl/iconvdata/iconv-rules Cheers -- S.ÃaÄlar Onur <caglar@uludag.org.tr> http://cekirdek.uludag.org.tr/~caglar/ Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
diff -ur glibc-2.3.6.orig/iconvdata/gen-8bit-gap-1.sh glibc-2.3.6/iconvdata/gen-8bit-gap-1.sh --- glibc-2.3.6.orig/iconvdata/gen-8bit-gap-1.sh 2006-04-02 01:22:30.000000000 +0300 +++ glibc-2.3.6/iconvdata/gen-8bit-gap-1.sh 2006-04-02 01:26:26.000000000 +0300 @@ -1,4 +1,5 @@ #! /bin/sh +export LC_ALL=C echo "static const uint32_t iso88597_to_ucs4[96] = {" sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \ -e 's/^<U\(....\)>[[:space:]]*.x\([A-Fa-f].\).*/ [0x\2 - 0xA0] = 0x\1,/p' \ diff -ur glibc-2.3.6.orig/iconvdata/gen-8bit-gap.sh glibc-2.3.6/iconvdata/gen-8bit-gap.sh --- glibc-2.3.6.orig/iconvdata/gen-8bit-gap.sh 2006-04-02 01:22:31.000000000 +0300 +++ glibc-2.3.6/iconvdata/gen-8bit-gap.sh 2006-04-02 01:26:31.000000000 +0300 @@ -1,4 +1,5 @@ #! /bin/sh +export LC_ALL=C echo "static const uint32_t to_ucs4[256] = {" sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \ -e 's/^<U\(....\)>[[:space:]]*.x\(..\).*/ [0x\2] = 0x\1,/p' \ diff -ur glibc-2.3.6.orig/iconvdata/gen-8bit.sh glibc-2.3.6/iconvdata/gen-8bit.sh --- glibc-2.3.6.orig/iconvdata/gen-8bit.sh 2006-04-02 01:22:34.000000000 +0300 +++ glibc-2.3.6/iconvdata/gen-8bit.sh 2006-04-02 01:26:38.000000000 +0300 @@ -1,4 +1,5 @@ #! /bin/sh +export LC_ALL=C echo "static const uint32_t to_ucs4[256] = {" sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \ -e 's/^<U\(....\)>[[:space:]]*.x\(..\).*/ [0x\2] = 0x\1,/p' \
Attachment:
pgp00000.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |