Wednesday, April 27, 2005

HUGE_VAL on Solaris 10

Solaris 10 的 HUGE_VAL 定義在 /usr/include/iso/math_c99.h 中:

#define HUGE_VAL __builtin_huge_val

然而這個 __builtin_huge_val 在 Sun CC 是定義為 constant,在 GCC 卻是一個 function pointer。

如果用 GCC (我用 3.4.3)在 Solaris 10 上 compile Python 2.4 時就會遇到問題,簡單的解法就是把 Include/pyport.h 中的

#define Py_HUGE_VAL HUGE_VAL

改為

#define Py_HUGE_VAL HUGE_VAL()

這個問題的根本解決之道,就留待 Sun 跟 GCC team 去協調了。

No comments: