2014年9月1日 星期一

valgrind,arm-linux 交叉编译

[下載 valgrind]
http://valgrind.org/downloads/current.html#current

[錯誤解決]
root@lubuntu64:/home/jeff/workspace/valgrind-3.9.0# ./autogen.sh
running: aclocal
./autogen.sh: 1: eval: aclocal: not found
error: while running 'aclocal'

=>sudo apt-get install automake


1.解開 valgrind
2.cd valfrind
3.設定toolchain路徑
export PATH=/opt/toolchains/toolchain_gnueabi-4.4.0_ARMv5TE/usr/bin:$PATH
3. ./autogen.sh
4. vi configure
    => armv7* 改為 armv7* | arm*
6.
CC=/opt/toolchains/toolchain_gnueabi-4.4.0_ARMv5TE/usr/bin/arm-unknown-linux-uclibcgnueabi-gcc CPP=/opt/toolchains/toolchain_gnueabi-4.4.0_ARMv5TE/usr/bin/arm-unknown-linux-uclibcgnueabi-cpp CXX=/opt/toolchains/toolchain_gnueabi-4.4.0_ARMv5TE/usr/bin/arm-unknown-linux-uclibcgnueabi-g++ ./configure --host=arm-linux --prefix=/usr/local

7. make && make install

8. 拷貝 valgrind 到板子,然後執行 ./valgrind -d
..... launching /usr/local/valgrind/lib/valgrind/memcheck-arm-linux

(1) 將 valgrind 轉拷貝到此目錄下 /usr/local/valgrind/lib/valgrind/
(2) 再額外拷貝memcheck-arm-linux到此目錄下
(3) 該目錄下執行 ./valgrind,即OK

==
其他參考資料:
source1:
http://cplusplus2012.blog.163.com/blog/static/20667626820144179302476/

1. 下载及解压valgrind-3.9.0
2.CC=/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-gcc CPP=/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-cpp CXX=/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-g++ ./configure --host=armv7-a-linux --prefix=/nfsroot/valgrind
记住--prefix这里的路径要与你在板子上放的路径一样。否则会出现valgrind: failed to start tool 'memcheck' for platform 'arm-linux': No such file or directory”错误。 host=armv7-a-linux 这可以改成arm-linux, 修改configure里面的armv7* 为 armv7*|arm*
3. 放到板子上目录是--prefix的路径。
valgrind: failed to start tool 'memcheck' for platform 'arm-linux': No such file or directory”,这个错误纠结了好久,最后在http://blog.csdn.net/jiazhen/article/details/18966423?reload#reply 大神这里找到解决方法了。

valgrind source : http://valgrind.org/downloads/current.html#current



沒有留言:

張貼留言