From: SourceForge.net <no...@so...> - 2012-09-21 17:41:53
|
Bugs item #1943849, was opened at 2008-04-16 04:28 Message generated for change (Comment added) made by tzhuan You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=650539&aid=1943849&group_id=108454 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Build config Group: 1.4.x Status: Open Resolution: None Priority: 5 Private: No Submitted By: OBATA Akio (obache) Assigned to: Tz-Huan Huang (tzhuan) Summary: Can't build on NetBSD 4.0 Initial Comment: 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. #ifdef __FreeBSD__ # include <osreldate.h> # if __FreeBSD_version > 500035 # define __STDC_ISO_10646__ # endif #endif This is not reflect reality. Probably, it is originally here: http://www.freebsd.org/cgi/query-pr.cgi?pr=69777 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 +++ src/scim_chartraits.cpp @@ -36,7 +36,11 @@ using namespace scim; #if !defined(__STDC_ISO_10646__) && GCC_VERSION >= 30200 +#if GCC_VERSION >= 30400 +namespace __gnu_cxx +#else namespace std +#endif { template<> But I don't know to what functions char_traits affect. Are there any test case to confirm the function? ---------------------------------------------------------------------- >Comment By: Tz-Huan Huang (tzhuan) Date: 2012-09-21 10:41 Message: I have scanned all patches from NetBSD (http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/inputmethod/scim/patches/) and picked up those which are relevant I think. However, I decide not to include this one because of two reasons: 1. NetBSD is 5.1.2 now, I think the default version of gcc in NetBSD-5 should have no such problem; 2. I want to let scim confirm the standard (both in language such as C and C++, and platform such as POSIX), so in general I don't plan to include patches for specific compiler/platform if there is no good reason. If NetBSD still have this problem, I'll try to find a portable way to work for (almost) all platform. ---------------------------------------------------------------------- Comment By: Rolf (leggewie) Date: 2012-09-19 04:17 Message: Tz-Huan, maybe you can review these patches? Let me know if you need help or are generally unable to do the review. ---------------------------------------------------------------------- Comment By: Rolf (leggewie) Date: 2012-09-19 04:13 Message: wow, it's been another YEAR! and of course I forgot. Mea culpa. ---------------------------------------------------------------------- Comment By: Rolf (leggewie) Date: 2011-09-12 00:45 Message: Thank you for providing that link. I shall have a look through those patches and apply them as appropriate. Please feel free to remind me in about a month's time if you don't hear back. I tend to be forgetful ;-) ---------------------------------------------------------------------- Comment By: OBATA Akio (obache) Date: 2011-08-17 07:04 Message: Our solution for this issue for scim-1.4.9 is here (as already posted here, scim-1.4.10 and 1.4.11 are broken for me, and I cannot find any changes for this issue): http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/inputmethod/scim/patches/ For this issue, patch-ab and patch-ah. Update Implementation for !__STDC_IOS_10646__, then move it from .scim_chartraits.cpp to .scim_types.h.in. ---------------------------------------------------------------------- Comment By: Rolf (leggewie) Date: 2011-08-17 06:22 Message: Is this still an issue with 1.4.11? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=650539&aid=1943849&group_id=108454 |