【悲報】ビルドした実行形式が実行できない・・・【納品直前】

こんにちは、ドルフィンシステム福島です。

ドルフィンシステムは開発サービス以外にも、ソフトウェア・ハードウェア製品を販売しております。

ハードウェアならフェージングシミュレータ、ソフトウェアならUSRP-RIOやVSTでRF収録再生を簡単に実現する"RFキャプチャー&プレイバックソフトウェア"を開発販売しております。

Riviera フェージングシミュレータ
RFレコーダー・キャプチャー&プレイバックシステム

先日、NI USRP-2954Rという新しいUSRP-RIOに対応したRFキャプチャーソフトウェアの注文を某研究所様から頂きました。

少しだけソフトウェアを修正作業をして納品期日近くになってから、さぁDVDに焼いて送ろう!と思ってビルドして実行したところ、

clip_image001

なんということでしょう。

ビルドした実行ファイルが実行できないなんて。


原因を探る

原因は全く分かりません。

開発環境上で実行すると全くエラーも何もなく実行できます。ライブラリなどの依存関係も問題なし。

もっとも問題があったらビルド(形式にコンパイルすること)が出来ないですから。

ビルド設定も調べ直したり、ソースコードもリポジトリから引っ張ってきてビルドもし直したり・・・

いくつか試してみましたが、埒があきません。

で、エラーメッセージを検索してみると、LabVIEW 2013 SP1でそれっぽいのが引っかかりました。

clip_image002

で、該当箇所を読んでみると、現象がよく似ています。

弊社の開発環境はLabVIEW 2015 SP1なので同一ではありませんが、弊社でもパックライブラリを呼び出しています。

※パックライブラリとは、LabVIEWで使用するDLL (ダイナミックリンクライブラリ)のようなもの。共通化できるコードをまとめておいて他のプログラムで共用する。

clip_image003


ランタイムライブラリを更新する

LabVIEW 2013 SP1の情報ですが「ランタイムライブラリのバージョンアップ」で解消されているようです。これはやってみる価値があります。

早速開発環境のランタイムライブラリのバージョンを見ると "LabVIEW Runtime 2015 SP1 f7"。

clip_image004

"LabVIEW Runtime 2015 SP1 patch"で検索してみると、最新は "f10"だということが分かりました。

clip_image005

では早速更新です。

スタートメニューからNI Update Serviceを起動します。で、しばらく待っていると、色々と更新モジュールがあるようです(汗)。むやみに更新して他に影響があってはいけませんので、慎重にf10パッチだけを更新します。

※”緊急"と書かれているものや良く使用しているモジュールは随時バージョンアップしていますが、それ以外は通常後回しです。

clip_image006

放っておくとインストールが完了しています。


動作確認をする

さて動作を確認すると。

やった。動きました。(´・ω・`)。

他のPC上でも動作しています。

clip_image007


まとめ

今回はどういう理由か不明ですが問題なくビルドできた実行形式が実行できないというエラーに遭遇しました。

ランタイムライブラリのバージョンを上げることで解消しました。

"LabVIEW Runtime 2015 SP1 f7"がインストールされているPC上でも問題なく動作したので、ビルドするPCのバージョンがf10になっていれば不具合は起きないようです。

最初からエラーメッセージで検索しておけば、直ぐに解決したかも知れません。

でもLabVIEWの情報はネット上にあまりないこともあって、LabVIEWで問題に遭遇しても意外とLabVIEWのエラーメッセージを検索するのは後回しになりがちです。

他の皆様の手がかりになるように、できるだけブログで情報を公開して検索に引っかかるように出来ればと思っています。

というわけで、納品直前にこういうことも現実に起こりますので、納品が完了するまでは気を抜いてはいけないですね。


私たちドルフィンシステムは、今回ご紹介したような不具合を乗り越えてSDRシステムの開発を行っており、お客様の要望に応じた最適な無線システムを提案しています。

SDRを用いた無線システムのご要望はドルフィンシステムへ

以上、ドルフィンシステム福島でした。

コメント