Linuxメモ/Valgrind/インストール方法
Tag: Linux Valgrind
緑文字が入力コマンド。
桃文字が今回の変更箇所。
Linuxでメモリデバッグや、メモリリークの検出、プロファイリングを行うためのプログラミングツールのValgrindをインストールする方法である。
以下のコマンドでインストールします。
sudo(又はスーパーユーザ)で実行する。
$ sudo aptitude install valgrind[ENTER]
Ubuntsu 8.04で確認しました。
aptitude@Ubuntsuインストール中画面例
パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 タグのデータベースを構築しています... 完了 以下の新規パッケージがインストールされます: valgrind 0 個のパッケージを更新、 1 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。 19.1MB のアーカイブを取得する必要があります。 展開後に 47.5MB のディスク領域が新たに消費されます。 拡張状態情報を書き込んでいます... 完了 取得:1 http://ubuntutym.u-toyama.ac.jp hardy/main valgrind 1:3.3.0-1ubuntu1 [19.1MB] 19.1MB を 46s 秒でダウンロードしました (410kB/s) 未選択パッケージ valgrind を選択しています。 (データベースを読み込んでいます ... 現在 138076 個のファイルとディレクトリがインストールされています。) (.../valgrind_1%3a3.3.0-1ubuntu1_i386.deb から) valgrind を展開しています... valgrind (1:3.3.0-1ubuntu1) を設定しています ... パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 タグのデータベースを構築しています... 完了 $
以下のコマンドでインストールします。
スーパーユーザで実行する。
# yum install valgrind[ENTER]
CentOS 5.2で確認しました。
yum@CentOSインストール中画面例
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.riken.jp * updates: ftp.riken.jp * addons: ftp.riken.jp * extras: ftp.riken.jp Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package valgrind.x86_64 1:3.2.1-6.el5 set to be updated ---> Package valgrind.i386 1:3.2.1-6.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved ========================================================================================== Package Arch Version Repository Size ========================================================================================== Installing: valgrind x86_64 1:3.2.1-6.el5 base 11 M valgrind i386 1:3.2.1-6.el5 base 11 M Transaction Summary ========================================================================================== Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 22 M Is this ok [y/N]:
y[ENTER]
Downloading Packages: (1/2): valgrind-3.2.1-6.el5.i386.rpm | 11 MB 00:29 (2/2): valgrind-3.2.1-6.el5.x86_64.rpm | 11 MB 00:30 ------------------------------------------------------------------------------------------ Total 374 kB/s | 22 MB 01:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : valgrind [1/2] Installing : valgrind [2/2] Installed: valgrind.x86_64 1:3.2.1-6.el5 valgrind.i386 1:3.2.1-6.el5 Complete! #
下記のURLからvalgrind-?.?.?.tar.bz2をダウンロードする。
例ではvalgrind-3.4.1.tar.bz2を入手したものとする。
作業フォルダにダウンロードしたファイル(例ではvalgrind-3.4.1.tar.bz2)を格納する。
作業フォルダは書き込み権限があればどこでもいい。
作業フォルダは/home/kanaeとします。
以下、CentOS 5.2で確認しました。
$ tar xvjf valgrind-3.4.1.tar.bz2[ENTER]
valgrind-3.4.1に解凍されるのでカレントフォルダを移動する。
$ cd valgrind-3.4.1[ENTER]
$ ./configure[ENTER]
configure中画面例
checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for gawk... gawk
: (省略)
config.status: creating drd/tests/Makefile config.status: creating config.h config.status: executing depfiles commands configure.in: VG_ARCH_MAX = x86 configure.in: VG_ARCH_PRI = x86 Primary build target: X86_LINUX Secondary build target: Default supp files: exp-ptrcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.5.supp
$ make[ENTER]
make中画面例
gcc -m32 -Wl,--verbose -nostdlib 2>&1 | sed \ -e '1,/^=====\+$/d' \ -e '/^=====\+$/,/.\*/d' \ -e '/\. = \(0x[0-9A-Fa-f]\+\|SEGMENT_START("[^"]\+", 0x[0-9A-Fa-f]\+)\) + SIZEOF_HEADERS/s/0x[0-9A-Fa-f]\+/valt_load_address/g' > valt_load_address_x86_linux.lds \ || rm -f valt_load_address_x86_linux.lds make all-recursive make[1]: ディレクトリ `/home/kanae/valgrind-3.4.1' に入ります Making all in include
: (省略)
make[3]: `all-am' に対して行うべき事はありません. make[3]: ディレクトリ `/home/kanae/valgrind-3.4.1/docs' から出ます make[2]: ディレクトリ `/home/kanae/valgrind-3.4.1/docs' から出ます make[1]: ディレクトリ `/home/kanae/valgrind-3.4.1' から出ます
スーパーユーザで実行する。
# make install[ENTER]
make install中画面例
make install-recursive make[1]: ディレクトリ `/home/kanae/valgrind-3.4.1' に入ります Making install in include make[2]: ディレクトリ `/home/kanae/valgrind-3.4.1/include' に入ります
: (省略)
if test -r valgrind.1 ; then \ mkdir -p /usr/local/man/man1; \ cp valgrind.1 /usr/local/man/man1/valgrind.1; \ fi make[5]: ディレクトリ `/home/kanae/valgrind-3.4.1/docs' から出ます make[4]: ディレクトリ `/home/kanae/valgrind-3.4.1/docs' から出ます make[3]: ディレクトリ `/home/kanae/valgrind-3.4.1/docs' から出ます make[2]: ディレクトリ `/home/kanae/valgrind-3.4.1/docs' から出ます make[1]: ディレクトリ `/home/kanae/valgrind-3.4.1' から出ます
コメントはありません。 コメント/Linuxメモ/Valgrind/インストール方法?
Online: 1