misc/KoreanCodecs-2.0.5/src/hangul.c does not compile
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNU Mailman |
Fix Released
|
Medium
|
Unassigned |
Bug Description
SunOS ... 5.10 Generic_118855-36 i86pc i386 i86pc
Python 2.3.5 (#1, Nov 30 2005, 10:43:01) [C] on sunos5
gcc -v yields:
Reading specs from /usr/sfw/
Configured with: /builds/
--prefix=/usr/sfw --with-
--with-
--enable-shared
Thread model: posix
gcc version 3.4.3 (csl-sol210-
--------------
Compilation first fails when it attempts to invoke "cc" despite being
configured to use the default (which is gcc). Hacking around this with a
symbolic link from cc to gcc yields:
src/hangul.c:33: error: syntax error before numeric constant
src/hangul.c:34: error: syntax error before numeric constant
The cause of this is that two of the enums defined in hangul.c
enum { /* Jaeum Codes on U+3100 */
G = 0x3131, GG, GS, N, NJ, NH, D, DD, L, LG, LM, LB,
LS, LT, LP, LH, M, B, BB, BS, S, SS, NG, J, JJ, C, K, T, P, H
};
preprocess to integers (after gcc -E):
enum {
G = 0x3131, GG, 0, N, NJ, NH, D, DD, L, LG, LM, LB,
LS, LT, LP, LH, M, B, BB, BS, S, 18, NG, J, JJ, C, K, T, P, H
};
Presumably this is specific to the python include file version.
Proposed hackaround, inserted before the enums:
#ifdef GS
#undef GS
#endif
#ifdef SS
#undef SS
#endif
It did at least finish the make install after this.
[http://
Originator: NO
I believe this is a Solaris bug, not a Mailman bug. See
<http:// www.google. com/search? hl=en&q= site%3Amail. python. org++inurl% 3Amailman+ +solaris+ hangul>
including
<http:// mail.python. org/pipermail/ mailman- users/2007- January/ 055235. html>
from which I quote
This is due to a bug in Solaris 10 headers. <signal.h> includes
<sys/regset.h> which pollutes the macro "namespace" (if you will)
with definitions for x86 registers, like GS and SS. This is only
on Solaris/x86; Solaris/sparc doesn't have this error.
Regarding the cc/gcc issue see
<http:// www.google. com/search? hl=en&safe= off&q=site% 3Amail. python. org++inurl% 3Amailman+ +solaris+ gcc+cc>
including
<http:// mail.python. org/pipermail/ mailman- users/2007- January/ 055506. html>