実行時にundefined symbolエラーが発生する場合の対応

環境

  • linuxデストリビューション = Fedora Core 13 x86_64
  • PHP 5.3.3
  • Zend Debugger v5.2

現象

$ php hoge.php
Failed loading /usr/local/lib64/Zend/ZendDebugger.so:  /usr/local/lib64/Zend/ZendDebugger.so: undefined symbol: clock_gettime

対処方法

  • とりあえず、Apacheからの実行時はエラーはでておらず、cli(コマンドからの実行時)のみエラーになるようなので、下記のように実行ユーザの環境変数指定することで対応。
  • ~/.bash_profile
export LD_PRELOAD=/lib64/rtkaio/librt.so.1     ←追記

facebook slideshare rubygems github qiita