web-dev-qa-db-ja.com

クロスコンパイルされたValgrindの使用

Valgrindトランクからソースをダウンロードし、ARM926(ARMv5tアーキテクチャ)を搭載した組み込みLinuxシステム(Montavista Linux)で使用するためにビルドしました。作成したアプリケーションを確認するために実行するまで、すべてがうまくいきました。 Valgrindは私に言います:

"valgrind:プラットフォーム 'arm-linux'のツール 'memcheck'の開始に失敗しました:そのようなファイルまたはディレクトリはありません。

他のツールを実行しようとすると、同じメッセージが表示されます。 make installの場合、NFS経由でマウントされている組み込みシステムのファイルシステムを指す--prefixオプションを使用しました(例--prefix =/home/NFS_mounted/opt/valgrind)。インストール場所を確認しましたlibディレクトリには適切なツールが含まれています。 Valgrindの対応するpkgconfigファイルも確認しましたが、問題はないようですので、現時点では何の問題もなく、何が問題なのか理解できません。 2つの質問:

  1. そのようなクロスコンパイルされたValgrindを使用/インストールすることは正しいですか?多分私はセットアップに関して何か間違ったことをしている、または多分私が見逃しているホストシステムに関係している何かがある(gdb/gdbserverのような)。
  2. 誰かがARM=アーキテクチャ上でそれを実行してみましたか?私はサポートがかなり最近であることを知っているので、きちんとした結果が得られるかどうか疑問に思っています。
12
celavek

ターゲットデバイスでこのコマンドを実行します

export VALGRIND_LIB=~/valgrind/lib/valgrind/

どこ ./valgrindはインストールされたディレクトリパスです(./configure

15
bhargav

問題は、「valgrind」が実際のチェックを実行するための別の実行可能ファイルを探していることです。構成時に指定したインストールパスを使用します。これは、ターゲット上のパスとは異なります。

'/'を指すシンボリックリンク/ home/NFS_mountをターゲットに作成することで、これを確認できるはずです。

4
Kristof Provost

AMD64-linuxディレクトリの親ディレクトリをVALGRIND_LIBに配置します。例えば。:

export VALGRIND_LIB=/u/gallinar/downloaded/valgrind-3.2.3/.in_place

それは今日私のために働いた:)。

2
Hemant

VALGRIND_LIBは、memcheckツールと他の依存するxコンパイル済みライブラリがあるフォルダーを指す必要があります

0
DERRIC LYNS