以往在 FreeBSD 編譯 databases/mysql55-{server,client} 時,要下這樣的參數:
make WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci WITH_XCHARSET=complex install
不過因為在 MySQL 5.5.8 後的 build system 改成了 CMake,導致 ports maintainer 必須重新設計 Makefile。
而目前的 Makefile 尚未設計完善,所以想把這些 options 傳遞給 CMake 的話,只能直接改 Makefile 解決:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
--- mysql55-server/Makefile.orig 2011-03-19 21:13:47.000000000 +0800 +++ mysql55-server/Makefile 2011-04-08 14:31:05.815962791 +0800 @@ -39,7 +39,10 @@ -DINSTALL_SQLBENCHDIR="share/mysql" \ -DINSTALL_SUPPORTFILESDIR="share/mysql" \ -DWITH_LIBEDIT=0 \ - -DWITH_LIBWRAP=1 + -DWITH_LIBWRAP=1 \ + -DDEFAULT_CHARSET="utf8" \ + -DDEFAULT_COLLATION="utf8_general_ci" \ + -DWITH_EXTRA_CHARSETS="complex" .ifdef USE_MYSQL .error You have `USE_MYSQL' variable defined either in environment or in make(1) arguments. Please undefine and try again. |
如果在做這修改前不小心將沒設好的 MySQL 整套裝起來的話,請記得把 mysql55-client 也砍掉一起重裝。
特別是對那些真正需要用到 WITH_EXTRA_CHARSET="complex" 的人,有一邊沒弄好的話,網頁上就準備出現一大堆「???????」了。
至於是否能像以前那樣直接用 make 送參數,就只能慢慢等 maintainer,看他何時會重新把所有 options 對應上去了。