I am using boost::locale::generator with its default backend (ICU I assume) to generate an std::locale. But for some reason, when I pass certain locale codes to the generator, it fails and the application execution is interrupted with the following output messages:

 

terminate called after throwing an instance of 'boost::locale::conv::conversion_error'

what(): Conversion failed

Abortado

 

I have tested the following values:

 

* gl — FAILS

* gl_ES — FAILS

* gl_ES.utf8 — Works

* en — Works

* en_US — Works

* en_US.utf8 — Works

 

Installed locales should not be the issue:

 

[user@localhost build]$ locale -a

C

en_US

en_US.iso88591

en_US.utf8

galego

galician

gl_ES

gl_ES@euro

gl_ES.iso88591

gl_ES.iso885915@euro

gl_ES.utf8

POSIX

 

So why might this be happening?