2015-10-27 Tue

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-05-19 Tue

Boris はてぶ

PHP 使いたくないし、覚える気もないのだけど、
何かが動かなかった時なんかに、ちょっと REPL が欲しかったので、
ググってでてきた Boris を入れてみた。

$ curl -L -O https://github.com/borisrepl/boris/releases/download/v1.0.8/boris.phar
$ chmod +x boris.phar
$ mv boris.phar ~/bin/boris
$ boris --version
Boris 1.0.8


.phar だけとお手軽だし、とりあえずは、これで十分。

2014-01-12 Sun

PHP 5.5.7 の opcache が SolarisStudio でビルドできない件 はてぶ

C コンパイラとして SolarisStudio を指定して、
--enable-opcache でビルドすると、以下のようなログが大量に出てビルドに失敗する。

pkgbuild: "/home/tonaka/packages/BUILD/php-5.5.7/ext/opcache/Optimizer/zend_optimizer.h", line 22: warning: invalid white space character in directive
pkgbuild: "/home/tonaka/packages/BUILD/php-5.5.7/ext/opcache/Optimizer/zend_optimizer.h", line 23: warning: invalid white space character in directive


ググったら以下が見つかった。

PHP :: Bug #65207 :: OPCache can't be compiled with SolarisStudio
https://bugs.php.net/bug.php?id=65207

どうやら、いくつかのファイルの改行コードの問題らしい。

[ Read More... ]

2012-10-03 Wed

php pear のパッケージを作る はてぶ

Solaris 用に pear のパッケージを作るため,
pear のオプションを眺めていたら,
makerpm という rpm 用の spec ファイルを作ってくれるオプションがあった.

#jposug のパッケージは rpm と同様の spec ファイルを使うので,
これが使えれば便利ということで,試してみたところ,
makerpm は deprecated なようで,
PEAR_Command_Packaging をインストールして make-rpm-spec を使え
というようなことを言われてしまった.

ということで,PEAR_Command_Packaging をインストール

sudo /usr/php/5.2/bin/pear install channel://pear.php.net/PEAR_Command_Packaging-0.3.0


ダウンロード済みのソースがある場合は以下のように実行.

/usr/php/5.2/bin/pear make-rpm-spec ~/packages/SOURCES/Mail-1.2.0.tgz


PEAR::Mail-1.2.0.spec が書き出されるので,
これを適当に修正して specbuild にかければパッケージのできあがり.

2012-10-03 Wed

pear はてぶ

pear のモジュールをパッケージ化したいので,ちょこちょこ触ってみている.
ということで,覚え書き.

pear update-channel


pear config-show


pear config-get http_proxy


pear config-set http_proxy localhost:3128


pear の config はユーザ毎に持つようなので,

pear config-set http_proxy localhost:3128


したあと

sudo pear channel-update pear.php.net


ができないとかありがち.

2006-05-17 Wed

Simplate - Template Engine はてぶ

http://simplate.aimy.jp/index.php?Simplate

Simplateは、phpでよく使われているSmartyテンプレートエンジンを参考にして、php extensionとして動作するようにしたものです。簡単にいうとphp extensionのテンプレートエンジンです。ただ、Smartyは、かなり高機能ですが、動作が遅いので、Simplateは、逆に機能はあまりつけず、高速に動作します。

via: [戯] php extension な Smarty ライクのテンプレートエンジン Simplate
     http://cl.pocari.org/2006-05-17-3.html

ChangeLog 最新ページ