2015-10 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

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]

2015-10-26 Mon

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

Express5800/110Ge の電源が死んだ はてぶ

家に帰ると、Express5800/110Ge のあたりから、
Fan がまわりだして止まるような音がしていたので確認したところ、
電源が死んでいた。

とりあえず、余っていた電源に交換して仮復旧。
余っていた電源を使うのも気分的によくないので、
新しく買う方向で。

[2008-12-06-4] に注文しているので、7 年近く使っていることになる。
まあ、それなりの寿命なのかと。

- NEC Express5800/110Ge に CentOS をインストール [2008-12-14-1]
- NEC Express5800/110Ge 注文 [2008-12-06-4]

2015-10-25 Sun

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

OSC 2015 Tokyo/Fall で話してきた はてぶ

日本 OpenSolaris ユーザグループの人として、
OSC 2015 Tokyo/Fall で話してきた。

[ Read More... ]

2015-10-11 Sun

[別の年の同じ日: 2003 2005 2006 2007 2008 2009 2010 2011

zonecfg delete -F はてぶ

手元の環境で、zone を作ったり壊したりしている時に、
面倒で zonecfg -z testzone delete -F を使ってみた。

zone が 'installed' の状態から 'zonecfg -z testzone delete -F' で testzone を削除するのは、
'zoneadm -z testzone detach && zonecfg -z testzone delete' と同等っぽい。

zonepath の zfs が残っているので、同じ zonepath で zone を設定し、
zoneadm -z testzone install すると、以下のようなエラーになる。

ERROR: The zone you are trying to clone has been detached previously.
You must either re-attach the zone or mark incomplete and uninstall before
trying again.
zoneadm: zone 'testzone': ERROR: cloning failed:  zone switching to configured state

書かれている通り、

# zoneadm -z testzone attach && zoneadm -z testzone uninstall

または

# zoneadm -z testzone mark incomplete && zoneadm -z testzone uninstall

すれば、zoneadm -z test install できるようになる。

zonepath の zfs が既に存在するのが問題なので、
zonepath の zfs を削除してしまってもよい。

ということで、同じ zonepath で zone を作ったり壊したりする時、
'installed' な zone に対して

# zonecfg -z testzone delete -F

すると

# zoneadm -z testzone uninstall && zonecfg -z testzone delete

より、面倒になってしまう。