Jean-Marc Lasgouttes wrote:

> - do you know of any problem related to boost::format and wchat_t?

No. I remember some problems, but they were eventually solved, I believe by
switching from boost::uint32_t to wchar_t.

> - how can we test whether freebsd's wchat_t support is good enough?

First of all is wchar_t really 32 bit on freebsd? I know that some unices
have 16bit wchar_t, IIRC AIX. This could be tested with a small test
program that simply prints sizeof(wchar_t). I know that the configure test
is supposed to find that out, but who knows.

Then, by looking at the compiler and libstdc++ version. I see that Koji uses
gcc 4.1, this version works perfectly on linux and should have all needed
stuff in libstdc++.
I also see that it is installed in /usr/local. If that means that he
compiled himself from source then I would guess that something went wrong
with the configuration of the compiler. gcc has tons of configuration
options, and with many combinations you can get an unusable result (BTDT).

Then Koji could fire up a debugger, set a breakpoint in
parse_printf_directive() and report what the result of the narrow() call
is.

Another thing to try is to force Enricos facet implementation by applying
the attached patch. Does that change anything?

> - if it is not, what shall we do?

Develop a suitable test that can be used instead of the #if 1 in the
attached patch. But I doubt that this is the case (or if it is the case
then it is a bug of gcc and/or freebsd that should be reported).


Georg
Index: src/support/docstring.cpp
===================================================================
--- src/support/docstring.cpp	(Revision 18558)
+++ src/support/docstring.cpp	(Arbeitskopie)
@@ -217,7 +217,8 @@ lyx::docstring & operator+=(lyx::docstri
 
 } // namespace lyx
 
-#if (!defined(HAVE_WCHAR_T) || SIZEOF_WCHAR_T != 4) && defined(__GNUC__)
+//#if (!defined(HAVE_WCHAR_T) || SIZEOF_WCHAR_T != 4) && defined(__GNUC__)
+#if 1
 
 // gcc does not have proper locale facets for lyx::char_type if
 // sizeof(wchar_t) == 2, so we have to implement them on our own.

Reply via email to