Opened 9 years ago

Closed 8 years ago

#9182 closed Bugs (fixed)

Boost-filesystem std::runtime_error: locale::facet::_S_create_c_locale name not valid failure on Xamarin.Android

Reported by: Shirley Gong <sgong@…> Owned by: Beman Dawes
Milestone: Boost 1.57.0 Component: filesystem
Version: Boost 1.52.0 Severity: Problem
Keywords: Cc:

Description

On Xamarin.Android with boost 1.52.0, I'm getting locale::facet::_S_create_c_locale name not valid when calling system_complete where the locale is set to locale -c.

This failure occurs both when using Xamarin binding with .jar library and when using PInvoke mechanism to call native C library directly.

Change History (5)

comment:1 by viboes, 9 years ago

Is this related to #8930 boost::path::root_directory() throws locale::facet::_S_create_c_locale name not valid? or #8352 Boost-filesystem std::runtime_error: locale::facet::_S_create_c_locale name not valid failure on OpenBSD?

Last edited 9 years ago by viboes (previous) (diff)

in reply to:  1 ; comment:2 by Shirley Gong <sgong@…>, 9 years ago

Replying to viboes:

Is this related to #8930 boost::path::root_directory() throws locale::facet::_S_create_c_locale name not valid? or #8352 Boost-filesystem std::runtime_error: locale::facet::_S_create_c_locale name not valid failure on OpenBSD?

This is very similar to #8930 except it's happening on Android (particularly, when developing Android apps with Xamarin).

Calling std::setlocale(LC_ALL, "C"); does not solve the problem. I had to call setenv("LANG", "C", 1); to get rid of the exception.

in reply to:  2 comment:3 by Shirley Gong <sgong@…>, 9 years ago

Replying to Shirley Gong <sgong@…>:

Replying to viboes:

Is this related to #8930 boost::path::root_directory() throws locale::facet::_S_create_c_locale name not valid? or #8352 Boost-filesystem std::runtime_error: locale::facet::_S_create_c_locale name not valid failure on OpenBSD?

This is very similar to #8930 except it's happening on Android (particularly, when developing Android apps with Xamarin).

Calling std::setlocale(LC_ALL, "C"); does not solve the problem. I had to call setenv("LANG", "C", 1); to get rid of the exception.

Sorry I meant similar to #8352.

comment:4 by Beman Dawes, 8 years ago

Status: newassigned

Hi Shirley,

1.56.0, which should ship in a few days, has numerous fixes for Android and Filesystem. Is it possible for you to test against it? The files for 1.56.0 RC3 are available at http://boost.cowic.de/rc/ (Look down near the bottom of the list).

Thanks,

--Beman

comment:5 by Beman Dawes, 8 years ago

Milestone: To Be DeterminedBoost 1.57.0
Resolution: fixed
Status: assignedclosed

I'm marking this "fixed" since it appears to be the same as reported in several other tickets that have been fixed for Boost 1.57.0, and have been tested on Linux.

If this is still failing in the 1.57.0 release, please reopen the ticket and supply a simple test program that fails.

Thanks,

--Beman

Note: See TracTickets for help on using tickets.