|Summary:||devel/boost-all: inkscape 0.48.2 will crash throwing exception "std::runtime_error: locale::facet::_S_create_c_locale name not valid"|
|Product:||Ports & Packages||Reporter:||Anderson Guzman <aguzman>|
|Component:||Individual Port(s)||Assignee:||FreeBSD Office Team <office>|
|Severity:||Affects Only Me|
Description Anderson Guzman 2012-06-08 06:40:11 UTC
Program will crash throwing exception "std::runtime_error: locale::facet::_S_create_c_locale name not valid" on systems when current locale (LANG,LC_ALL) is not "C" Fix: set LANG and LC_ALL variables to a locale "C" : $ export LANG=C $ export LC_ALL=C The problem is related with boost library (1.48.0) from ports, see related issue in: https://svn.boost.org/trac/boost/ticket/4688 There is a FreeBSD patch specifically to be used in Boost library ver. 1.47... How-To-Repeat: set LANG and LC_ALL variables to a locale distinct to C , for example : $ export LANG=en_US.UTF-8 $ export LC_ALL=en_US.UTF-8 Run Inkscape
Comment 1 Edwin Groothuis 2012-06-11 07:17:37 UTC
Responsible Changed From-To: freebsd-ports-bugs->gnome Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Jeremy Messenger 2012-12-29 17:40:06 UTC
Responsible Changed From-To: gnome->firstname.lastname@example.org It's boost issue rather than inkscape issue. Forward this PR to the boost maintainer.
Comment 3 Mark Linimon 2013-01-19 20:11:48 UTC
Responsible Changed From-To: email@example.com->freebsd-ports-bugs In general we only use committers as GNATS Responsible values.
Comment 4 Baptiste Daroussin 2013-02-02 17:41:44 UTC
Responsible Changed From-To: freebsd-ports-bugs->freebsd-office Over to new maintainer, is it still happening with new boost?
Comment 5 Raphael Kubo da Costa 2013-02-03 19:40:37 UTC
Yes, this bug should be more frequent than before, in fact. r311308 actually removed a few patches added in r267504 which prevented this issue from happening. I'm not 100% sure they were the right fix, though. The problem hasn't been completely solved upstream either ( is still open). As  explains, the problem is that we build gcc (both in base and ports) without passing --clocale=gnu to it, so when boost calls std::locale("") it will fail if LC_ALL is set to anything but "POSIX" or "C".  https://svn.boost.org/trac/boost/ticket/5928  https://svn.boost.org/trac/boost/ticket/4688#comment:17
Comment 6 Raphael Kubo da Costa 2013-02-06 21:04:36 UTC
State Changed From-To: open->closed Fixed in r311771.