閉じる

POPFile-1.1.1

perlを更新したらエラーを吐いて起動しなくなってしまった。*1

SQLite.c: loadable library and perl binaries are mismatched (got first handshake key 0xed00080, needed 0xeb80080)

メッセージどおり、SQLiteがビルド時とバージョン不一致ということなので cpanから install DBD::SQLiteしてみるが…そもそも DBD::SQLiteのビルド時に同様のエラーが出てしまう。
~/.cpan/build/DBD-SQLite-1.70-3DBD-SQLite-1.70.?/Makefile.PLを追ってみると、古いバージョンからのアップグレードを試みる為に「require DBD::SQLite」している部分でエラーが発生していることがわかる。
「古いバージョンが動かなくなったからアップグレードをするのに古いバージョンを動かそうとしてハマる」というパターンの模様。
perlの古いバージョンを入れ直して、DBD::SQLiteをアップグレード後、perlを最新のバージョンへという線で行けそうな気もするけど、面倒なので requireしている行をコメントアウトし、アップグレード自体を諦めさせる。
無事に perl Makefile.PLが通ったところで make;make installでアップグレード完了。
POPFileも動くように。


*1 随分前のことで perlを古いのに戻してお茶を濁していたのだけど、他のアプリへの影響が無視できなくなってしまったので根本的な対応を行う。

POPFile-1.1.1」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)