On NetBSD 4.0, failed to build scim-1.4.7.
scim_chartraits.cpp:44: error: no member function 'assign' declared in 'std::char_traits<unsigned int>'
scim_chartraits.cpp:44: error: invalid function declaration
(and same errors)...
NetBSD 4.0 is not __STDC_ISO_10646__ and GCC 4.1.2.
(NetBSD 3 is gcc 3.3.3, build fine)
How to fix this problem?
It seems that following code in scim_types.h.in avoid this error on FreeBSD.
# include <osreldate.h>
# if __FreeBSD_version > 500035
# define __STDC_ISO_10646__
This is not reflect reality.
Probably, it is originally here:
It does not means that FreeBSD 5 is __STDC_ISO_10649, but just workaround of build failor with GCC>=3.4.
This error due to std::char_traits in GNU ISO C++ Library included in newer gcc only accept 'class'.
At least, C++ Library in GCC4.1.2 have __gnu_cxx::char_traits, it accept none-class, accept uint32.
After apply following patch, succeed to build on NetBSD 4.0 and it seems to be able to use with scim-anthy:
--- src/scim_chartraits.cpp.orig 2007-06-26 14:31:38.000000000 +0000
@@ -36,7 +36,11 @@ using namespace scim;
#if !defined(__STDC_ISO_10646__) && GCC_VERSION >= 30200
+#if GCC_VERSION >= 30400
But I don't know to what functions char_traits affect.
Are there any test case to confirm the function?
Log in to post a comment.