运行guile(在交互模式下或使用脚本)在我的ubuntu 12.04上出现此错误: -
guile test.scm
Backtrace:
In ice-9/boot-9.scm:
149: 2 [catch #t #<catch-closure 9ec72f0> ...]
157: 1 [#<procedure 9e8f8c0 ()>]
In unknown file:
?: 0 [catch-closure]
ERROR: In procedure catch-closure:
ERROR: Throw to key `decoding-error' with args `("scm_from_stringn" "input locale conversion error" 22 #vu8(116 101 115 116 46 115 99 109))'.
关于如何调试它的任何输入也会有所帮助。
答案 0 :(得分:1)
简短回答:如果您想使用印度英语,则必须使用en_IN.UTF-8
作为编码。如果您还没有,请不要忘记运行sudo locale-gen en_IN
。
答案很长:我终于安装了Ubuntu 12.04.3,所以我可以测试一下。当我测试它时,似乎语言环境必须包含编码,否则它将失败:
$ for LANG in en_{IN,US}{,.UTF-8,.ISO-8859-1}; do echo LANG=$LANG; guile </dev/null; done
LANG=en_IN
Backtrace:
In ice-9/boot-9.scm:
149: 2 [catch #t #<catch-closure 224b4e0> ...]
157: 1 [#<procedure 21e90f0 ()>]
In unknown file:
?: 0 [catch-closure]
ERROR: In procedure catch-closure:
ERROR: Throw to key `decoding-error' with args `("scm_from_stringn" "input locale conversion error" 22 #vu8(103 117 105 108 101))'.
LANG=en_IN.UTF-8
GNU Guile 2.0.5-deb+1-1
Copyright (C) 1995-2012 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
LANG=en_IN.ISO-8859-1
warning: failed to install locale: Invalid argument
GNU Guile 2.0.5-deb+1-1
Copyright (C) 1995-2012 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
LANG=en_US
Backtrace:
In ice-9/boot-9.scm:
149: 2 [catch #t #<catch-closure 1def1c0> ...]
157: 1 [#<procedure 1d8d0f0 ()>]
In unknown file:
?: 0 [catch-closure]
ERROR: In procedure catch-closure:
ERROR: Throw to key `decoding-error' with args `("scm_from_stringn" "input locale conversion error" 22 #vu8(103 117 105 108 101))'.
LANG=en_US.UTF-8
GNU Guile 2.0.5-deb+1-1
Copyright (C) 1995-2012 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
LANG=en_US.ISO-8859-1
warning: failed to install locale: Invalid argument
GNU Guile 2.0.5-deb+1-1
Copyright (C) 1995-2012 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
答案 1 :(得分:0)
将区域设置从en_IN更改为en_US修复了它。