Question

Running guile (in interactive mode or with script) gives this error on my 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))'.

Any inputs on how to debug this will also help.

Was it helpful?

Solution

Short answer: you must use en_IN.UTF-8 as your encoding if you want to use Indian English. Don't forget to run sudo locale-gen en_IN if you haven't already.

Long answer: I finally got around to installing Ubuntu 12.04.3, so I could test this out. When I tested it, it seems that the locale must include the encoding, otherwise it fails:

$ 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.

OTHER TIPS

Changing the locale from en_IN to en_US fixed it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top