[FreeBSD-users-jp 92170] portversion で更新情報が表示されない?

2009-03-04 スレッド表示 K.Magara
眞柄です

少々お恥ずかしい話ですが、ご教授ください。

何かゴニョゴニョやりすぎたのか...
最近まで問題がなかったマシンで

% portsnap fetch update
...
Building new INDEX files... done.

まではOKなんですが、

% portversion -vFL=

で、あきらかに更新があるにも関わらず
何も出力してくれなくなりました。
ゴニョゴニョしていない(^^;)正常なマシンなら

% portversion -vFL=
[Updating the portsdb format:bdb_btree in /usr/ports ... - 19838 port entries 
found 
...
と続き、更新があるportsを教えてくれます。
おかしくなったマシンで一度 /usr/ports と
念のため /var/db/portsnap 配下を全て消去し
portsツリーの再構築

% portsnap fetch extract

をしてみましたが、結果は同じでした。
恥ずかしながら心当たりがないのですが、
1つ気になる点と言えば、

おかしなマシン% ls -l /usr/ports/INDEX*
-rw-r--r--  1 root  wheel  19944598  3  5 08:15 /usr/ports/INDEX-6
-rw-r--r--  1 root  wheel   1234380  1  5 07:00 /usr/ports/INDEX-6.bz2
-rw-r--r--  1 root  wheel  34319360  3  5 08:15 /usr/ports/INDEX-6.db

正常なマシン% ls -l /usr/ports/INDEX*
-rw-r--r--  1 root  wheel  10441465  3  5 08:48 /usr/ports/INDEX
-rw-r--r--  1 root  wheel  17370624  3  5 08:48 /usr/ports/INDEX-5
-rw-r--r--  1 root  wheel  19005209  3  5 08:48 /usr/ports/INDEX-6
-rw-r--r--  1 root  wheel  33584128  3  5 08:49 /usr/ports/INDEX-6.db

です。
この差は何なんでしょう???

おかしなマシンでも

% portsdb -uU

とすれば、portversion コマンドが効くようになるのですが、
portsdb -uU は時間もかかるしCPUリソースを消費しますので、
できれば正常なマシンのように元に戻したいのですが、
いかんせん、何をしてこうなったのか
全く心当たりがなくて、ご指導を請う次第です。


[FreeBSD-users-jp 92084] Re: PHP と libxml2 の関係

2009-02-16 スレッド表示 K.Magara
眞柄です

http://cvs.php.net/viewvc.cgi/php-src/ext/xml/compat.c?view=log
鶴谷さんのおっしゃるとおり、5.2.9 では直りそうですね。

うまく行けば19日頃に正式リリースとなりそうですね。
## ports は来週かな?

とりあえずこれを待って試してみたいと思います。

ところで蒸し返すようで恐縮ですが、
別の環境でも試してもらったところ
意外な結果となりました。

CentOS 5.2 本日、yum update 済の環境

$ md5sum php-5.2.8.tar.gz
e748cace3cfecb66fb6de9a945f98e2a  php-5.2.8.tar.gz

$ /usr/local/php5/bin/php -v
PHP 5.2.8 (cli) (built: Feb 17 2009 11:37:49)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

test.php のパスを変更
---
#!/usr/local/php5/bin/php
---

$ ./test.php

foo

wibble

/foo

$

こちらは期待通りの結果でした。
同じPHP5.2.8でも違う結果となりましたが、
libxml2-2.6.26
だからでしょう。

とにかく PHP5.2.9 を待ってみます。
ありがとうございました。


[FreeBSD-users-jp 92079] Re: PHP と libxml2 の関係

2009-02-15 スレッド表示 K.Magara
眞柄です

   [FreeBSD-users-jp 92076] Re: PHP  とlibxml2 の関係  において、
   maya m...@negeta.comさんは書きました:

maya です。

お返事ありがとうございます。
## [FreeBSD-users-jp 92073] では「さん」が抜けており
## 大変失礼しました。


 肝心の『コースのリストアでHTMLタグのとが取れるというバグ』
 XMLparser絡みのバグが直っていませんでした orz
 OSの再起動、ブラウザのキャッシュ削除も試しましたがNGです。

http://bugs.php.net/bug.php?id=45996
についていた
https://qa.mandriva.com/attachment.cgi?id=1075
ではどうなりますか?

https://qa.mandriva.com/attachment.cgi?id=10757
ですね。
## 1075 でもリンクがありましたが、意味不明でアセリました(^^;)

うちは libxml を ports で、PHP を自分でコンパイルしていますが、
このテスト用コードは意図したとおり動いています。

% php test.php
foo
wibble
/foo

残念ながら Expected result にはなりませんでした。

## #!/usr/local/bin/php で、実行権限付けて
## ./test.php でも同じ(当たり前ですが)

恐れ入りますが、引き続き情報をお願いいたします。


ここから
#!/usr/bin/env php
?php

class Parser
{
private $mParser;

public function Parse($xml, $encoding = 'UTF-8')
{
$this-mParser = xml_parser_create($encoding);

xml_parser_set_option($this-mParser, XML_OPTION_CASE_FOLDING, 
0);
xml_parser_set_option($this-mParser, 
XML_OPTION_TARGET_ENCODING, $encoding);
xml_set_object($this-mParser, $this);

// Set the element handlers for the parser.
xml_set_element_handler($this-mParser, 
'start_element','end_element');
xml_set_character_data_handler($this-mParser,'character_data');
return xml_parse($this-mParser, $xml, true);
}

public function start_element($parser, $name, $attrs)
{
// Noop
}

public function end_element($parser, $name)
{
// Noop
}

public function character_data($parser, $data)
{
echo $data.\n;
}
}

$parser = new Parser;
$parser-Parse('xmllt;foogt;wibblelt;/foogt;/xml');


/*
Expected results:

$ php test.php

foo

wibble

/foo



Actual results:
$ php test.php
foo
wibble
/foo

*/
ここまで


[FreeBSD-users-jp 92073] Re: PHP と libxml2 の関係

2009-02-12 スレッド表示 K.Magara
眞柄です

   [FreeBSD-users-jp 92071] Re: PHP  とlibxml2 の関係  において、
   Tsurutani Naoki turut...@scphys.kyoto-u.ac.jpさんは書きました:

こんにちは、鶴谷です。

お返事ありがとうございます。

 はい。ですが libphp5.so では ldd コマンドが効かないので
 ports option で指定(デフォルト)のCLI(CGI?)版で見てみました。
うちではなんか出力してくれますが...
h120[root] % ldd /usr/local/libexec/apache22/libphp5.so
/usr/local/libexec/apache22/libphp5.so:
libcrypt.so.4 = /lib/libcrypt.so.4 (0x33d8b000)
libm.so.5 = /lib/libm.so.5 (0x33da4000)
libxml2.so.5 = /usr/local/lib/libxml2.so.5 (0x341b8000)
libz.so.4 = /lib/libz.so.4 (0x33db9000)
libiconv.so.3 = /usr/local/lib/libiconv.so.3 (0x342dd000)
libc.so.7 = /lib/libc.so.7 (0x33c89000)

すいません。これはおもいっきり凡ミスでした。

% cd /usr/local/libexec/apache22/
% ldd libphp5.so
libphp5.so:
ldd: libphp5.so: Shared object libphp5.so not found, required by ldd
libphp5.so: exit status 1

% ldd /usr/local/libexec/apache22/libphp5.so
/usr/local/libexec/apache22/libphp5.so:
libcrypt.so.3 = /lib/libcrypt.so.3 (0x28457000)
libm.so.4 = /lib/libm.so.4 (0x2847)
libxml2.so.5 = /usr/local/lib/libxml2.so.5 (0x28488000)
libz.so.3 = /lib/libz.so.3 (0x285ba000)
libiconv.so.3 = /usr/local/lib/libiconv.so.3 (0x285cb000)

ちゃんと libxml2.so.5 を見てくれているようです。
失礼しました。

ところで、phpinfoでの確認もやってみましたが、php5-xml〜 を再ビルド&インストールすると、
libxml2のバージョンと一致しました(これをする前は、古いままだった)。
実際のところ、表記上の問題なのか、本当に古いままのものが
静的にリンクされているのかは知りません。

はい。maya が指摘してくれてますが、動的取得では無さそうです。
確かに表示上だけかどうかは不明ですが...

それで、
% portupgrade -fr libxml2
で関係するportsを更新したら(*1)、表示は 2.7.3 に直りました(^o^)

で・す・が、
肝心の『コースのリストアでHTMLタグのとが取れるというバグ』
XMLparser絡みのバグが直っていませんでした orz
OSの再起動、ブラウザのキャッシュ削除も試しましたがNGです。

う〜ん...困りました。
アテが外れたというか、どこが問題なのか
解らなくなってしまいました(TxT)



(*1)
% portupgrade -f php5-xml
でも十分かと思いましたが、
DOM回りやMoodleの中身が不明なので
% portupgrade -fr libxml2
で行いました。