QA@IT

Apache起動時にsymbol lookup errorが発生

10714 PV

Apache(httpd)を再起動しようとしたところ、
エラーが発生し、起動できない状況です。
有識者の方お知恵を貸して頂きたく宜しくお願い致します。

■環境
・OS
CentOS release 6.8 (Final)
・ApacheVer
httpd-tools-2.2.27-1.el6.x86_64
httpd-2.2.27-1.el6.x86_64
・APR
apr-devel-1.5.2-1.x86_64
apr-util-1.3.9-3.el6_0.1.x86_64
apr-1.5.2-1.x86_64
apr-util-devel-1.3.9-3.el6_0.1.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64

■発生したエラー
# service httpd status
httpd は停止していますがサブシステムがロックされています

# cat /var/log/httpd/error_log
[Fri Mar 02 15:25:35 2018] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Mar 02 15:25:35 2018] [notice] Digest: generating secret for digest authentication ...
[Fri Mar 02 15:25:35 2018] [notice] Digest: done
/usr/sbin/httpd: symbol lookup error: /usr/lib64/libaprutil-1.so.0: undefined symbol: apr_os_uuid_get

※service httpd startを行うと、[正常]とでて起動したように見えますが、
 httpdプロセスは立ち上がらず上記のエラーがログに出ます。

■確認内容
検索を行ったところ以下の記事が見つかりました。
内容的にはApacheとAPRのバージョンがずれているようです。(ApacheまたはAPRをあげた記憶はありません。)
ただし、Apacheは半年以上連続動作しており、別作業にて何かしらのインパクトがあった可能性もあります。
https://www.linuxquestions.org/questions/linux-server-73/apache-symbol-lookup-error-apr_os_uuid_get-672999/

■質問内容
記事内ではApacheやAPRのパッケージの削除/再インストールが提示されておりますが、
Apacheは構築時に別チームにて行っており、当方で削除してしまうとどんな影響があるかわかりません。
可能であればパッケージの削除等はせずUpdate等で解決できないかと思っております。
また、そもそも確認内容に上げた通り、ApacheとAPRのバージョンのズレなのかも確信が持てていない状況です。
解決のためここを調べた方が良い、または回避策をご存知でしたらご教授の程宜しくお願い致します。

回答

自己解決しました。
本来apr関連のバージョンは1.3.9でなければいけませんが、
一部1.5.2がインストールされており不整合が発生していました。
パッケージの削除を行った場合の影響がわからなかったため、
不整合が起きているライブラリを、別端末から持ってきた1.3.9のライブラリに手動で置き換え、
正常起動することを確認致しました。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。