2015-10-27 Tue

[別の年の同じ日: 2002 2003 2004 2006 2007 2008 2009 2010

Solaris 上で PHP を --enable-intl 付きでビルドする はてぶ

PHP で intl を使いたいという話が出てきたので、
Solaris 上で PHP を --enable-intl 付けてビルドしたところ、

pkgbuild: cc: -W option with unknown program no-write-strings


のようなエラーがでてビルドに失敗。

この cc は Solaris Studio の cc で gcc ではないので、
gcc の '-Wno-write-strings' というオプションが渡されているため
エラーになっているということはすぐにわかる。

'-Wno-write-strings' は

// 文字列定数の宣言の問題
// gcc4.5.0のg++だと
// deprecated conversion from string constant to 'char*'
// というエラーがでた
// passing -Wno-write-strings to gcc will suppress this warning.
// と書くと、消えるらしい( ↑stringじゃなくて、stringsである事に注意 )

c言語 文字列定数を宣言したり、関数に代入する時の注意 - ながとダイアリー


というもののようなので、Solaris Studio では関係ない。
ということで、./configure で生成された Makefile 内に含まれる
'-Wno-write-strings' を削除してしまう。

とりあえず、手元の環境でビルドできることは確認した。

上の話は 5.5 系。

5.6 系は Solaris Studio でのビルドはあきらめて
GCC を使っている([2015-08-14-1])ので、この件にはひっかからない。

- PHP 5.6.12 を Solaris 11.2 上でビルドする [2015-08-14-1]