通常你能在 Solaris 2.7 上使用 Solaris 2.6 二进制代码。大多数Solaris 2.6 的问题也适用于Solaris 2.7。
注意:MySQL3.23.4 和更高版本应该能自动检测 Solaris 2.7 并且启用下列问题的解决办法!
Solaris 2.7 在包括文件中有一些bug,在使用gcc
时,你可以看见下列错误:
/usr/include/widec.h:42: warning: `getwc' redefined /usr/include/wchar.h:326: warning: this is the location of the previous definition
如果出现这种情况,你可以做下列事情解决这个问题:
拷贝/usr/include/widec.h
到.../lib/gcc-lib/os/gcc-version/include
并且改变第41行:
#if !defined(lint) && !defined(__lint) 为 #if !defined(lint) && !defined(__lint) && !defined(getwc)
另外,你可以直接编辑“/usr/include/widec.h”。这两种方法,在你进行修正以后,你应该删除“config.cache”并且再运行configure
!
如果当你运行make
时,你得到象这样错误,那是因为configure
没检测“curses.h”文件(可能因为/usr/include/widec.h
的错误):
In file included from mysql.cc:50: /usr/include/term.h:1060: syntax error before `,' /usr/include/term.h:1081: syntax error before `;'
解决它的方案是做下列步骤之一:
- 如上所述编辑“/usr/include/widec.h”并且再次运行configure。
- 从“config.h”文件删除
#define HAVE_TERM
行并再次运行make
。 - 用
CFLAGS=-DHAVE_CURSES CXXFLAGS=-DHAVE_CURSES ./configure
进行配置。