ソフトウェアのリリース前に確認すること
本日はとある案件のリリースでメンバーが現場に出向いて作業してきました。
そのときにいろいろと問題が起きたので、どうすれば防げたのか?ということは簡単に書いてみます。
今回納品したソフトウェアはウェブアプリですが、バックエンドでC言語で書かれた外部モジュールも呼び出します。
このC言語のプログラムが動かなかったのです。
プログラムは更にライブラリにも依存しているので、ライブラリももちろん納品物として持っていきましたが・・・
本体はコンパイル済みバイナリ、ライブラリはソースで持って行ってしまったことが問題の要因となってしまいました。
メンバーに電話で確認したところ、ライブラリはきちんとコンパイルしインストールができたとのこと。
しかし、プログラムは動かない。
いろいろと情報を聞きだしたところ、どうやらバイナリは 32bit OS でコンパイルしていったのですが、
現場の OS は 64bit だったということがわかりました。
そのため、ライブラリが動的にリンクできずエラーとなってしまっていたのです。
対応としては、ライブラリの 32bit版バイナリをリモートで届けて事なきをえましたが、
お客様の環境は常にきちんと把握していなくてはならないと実感させられました。
メンバーはもちろん OSのバージョンなどはきちんと確認をとってくれていたのですが。。。
今はちょうど 32bitから64bitへの移行期ということもあり、今後はそのあたりもきちんと確認しなくてはならない。
ということで、失敗談でした。