[Boost-bugs] [Boost C++ Libraries] #10205: FileSystem runtime error: locale::facet::_S_create_c_locale name not valid

Subject: [Boost-bugs] [Boost C++ Libraries] #10205: FileSystem runtime error: locale::facet::_S_create_c_locale name not valid
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-07-16 11:59:58


#10205: FileSystem runtime error: locale::facet::_S_create_c_locale name not valid
------------------------------+-------------------------
 Reporter: sleary@… | Owner: bemandawes
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: filesystem
  Version: Boost 1.55.0 | Severity: Showstopper
 Keywords: |
------------------------------+-------------------------
 Ok this is still broken (see Ticket #5928). On Solaris 10 (sparc) compile
 this...

 #include <iostream>
 #include <boost/filesystem.hpp>

 int main (void)
 {
   std::cout <<
 boost::filesystem::unique_path("/some/random/path/%%%%%%%").c_str() <<
 std::endl;
   return 0;
 }

 linking against system and filesystem

 I had compiled boost_1_55_0 from the site and built just filesystem and
 system (because program_options fails to compile with gcc 4.9.0 but thats
 a separate issue). I created the above example in stage/lib folder and
 ran..

 g++ test.cpp -I../../ -L. -lboost_filesystem -lboost_system

 Below are the results...

 bash-3.2$ locale
 LANG=en_GB.UTF-8
 LC_CTYPE=en_GB.ISO8859-1
 LC_NUMERIC=en_GB.ISO8859-1
 LC_TIME=en_GB.ISO8859-1
 LC_COLLATE=en_GB.ISO8859-1
 LC_MONETARY=en_GB.ISO8859-1
 LC_MESSAGES=C
 LC_ALL=
 -bash-3.2$ LC_ALL=en_GB.UTF-8 LD_LIBRARY_PATH=. ./a.out
 terminate called after throwing an instance of 'std::runtime_error'
   what(): locale::facet::_S_create_c_locale name not valid
 Abort (core dumped)
 -bash-3.2$ LD_LIBRARY_PATH=. ./a.out
 terminate called after throwing an instance of 'std::runtime_error'
   what(): locale::facet::_S_create_c_locale name not valid
 Abort (core dumped)
 -bash-3.2$ LC_ALL=en_GB.ISO8859-1 LD_LIBRARY_PATH=. ./a.out
 terminate called after throwing an instance of 'std::runtime_error'
   what(): locale::facet::_S_create_c_locale name not valid
 Abort (core dumped)
 -bash-3.2$ LC_ALL=C LD_LIBRARY_PATH=. ./a.out
 /some/random/path/7fff459


 This is utterly crippling and renders boost filesystem useless on Solaris
 10.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10205>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC