编译成功,运行时报错:

在使用 pytorch or tensorflow or caffe 时,都可能存在这个问题:

*** Error in `xxx': free(): invalid pointer: 0x00000000020663b0 ***

很可能是缺少libtcmalloc库

解决方法1:

apt-get安装libtcmalloc
sudo apt-get install libtcmalloc

然后打开~/.bashrc文件
sudo gedit ~/.bashrc
在文件末尾添加如下代码: 
export LD_PRELOAD="/usr/lib/libtcmalloc_minimal.so.4" 
最后重新载入环境变量即可 
sudo source ~/.bashrc

但是我在服务器上是普通user,不是管理员sudoer,所以我采用了另一种方法

解决方法2:(推荐,只在自己的环境里安装,不会影响到服务器上其他人,不需要sudo权限)

github下载tcmalloc源码:

https://github.com/yangzhengxing/tcmalloc

解压,进入目录

./autogen.sh

(运行autogen命令时可能会提示:

那是因为你没有安装autoreconf,自行解决)

./configure

make -j4

然后就完成了,这是你会发现在tcmalloc目录中多了几个.la文件,则就是编译得到的结果。

关于什么是.la文件以及.la文件怎么用:

https://www.ibm.com/developerworks/cn/aix/library/1007_wuxh_libtool/

然后使用libtool工具将自己需要的库的.la文件生成.a和.so,这里我们需要tcmalloc和profiler两个,创建一个build文件夹存储生成的库

libtool --mode=install install -c libtcmalloc.la /home/zhangsuosheng/zss_output_feature_image/tcmalloc/build

libtool --mode=install install -c libprofiler.la /home/zhangsuosheng/zss_output_feature_image/tcmalloc/build

然后我们就进行编译,

使用静态库编译:

g++ -std=c++ -o netapp.bin zss_featureimg.cpp  `pkg-config --libs --cflags opencv` -I ~/caffe_mpi/include/ -I ~/caffe_mpi/src/ -I ~/caffe_mpi/build/src/ -I /usr/local/cuda/include/ -L ~/caffe_mpi/build/lib/ -lprotobuf -lcaffe -lglog -lboost_system /home/zhangsuosheng/zss_output_feature_image/tcmalloc/build/libprofiler.a /home/zhangsuosheng/zss_output_feature_image/tcmalloc/build/libtcmalloc.a

使用动态库编译:

g++ -std=c++ -o netapp.bin zss_featureimg.cpp  `pkg-config --libs --cflags opencv` -I ~/caffe_mpi/include/ -I ~/caffe_mpi/src/ -I ~/caffe_mpi/build/src/ -I /usr/local/cuda/include/ -L ~/caffe_mpi/build/lib/ -L ~/zss_output_feature_image/tcmalloc/build/ -lprotobuf -lcaffe -lglog -lboost_system -lprofiler -ltcmalloc

然后编译成功

然后将这个build文件夹加到LD_LIBRARY_PATH中以便运行时能找到。

然后运行成功

最新文章

  1. Android Contextual Menus之一:floating context menu
  2. UIView.frame的骗局
  3. UVALive 6255 Kingdoms --状态搜索
  4. org.apache.flume.FlumeException: NettyAvroRpcClient { host: xxx.xxx.xxx.xxx, port: 41100 }: RPC
  5. 【BZOJ】【3676】【APIO2014】回文串
  6. Scrum角色
  7. (hdu)5423 Rikka with Tree (dfs)
  8. OpenCMS integration with Spring MVC--reference
  9. Mysql的执行顺序
  10. 使用nodejs的net模块创建TCP服务器
  11. Linux入门_1
  12. Mahout 系列之----共轭梯度
  13. WebServeice 动态代理类
  14. JS Object.defineProperties()方法
  15. location匹配
  16. Hadoop生态圈-Oozie实战之调度shell脚本
  17. 075 importSTV的使用,与bulkload的使用
  18. js,JavaScript 监听 判断 移动端 滑动事件
  19. Notepad++中支持Markdown
  20. hive使用derby的服务模式(可以远程模式)

热门文章

  1. Atitti. 语法树AST、后缀表达式、DAG、三地址代码
  2. config.sql
  3. Redis_发布订阅(Spring Boot)
  4. JSON 常用数据转换
  5. C#中Equals和==的比较
  6. httpclient 优化
  7. FirstLetterUtil
  8. Guardian of Decency UVALive - 3415 最大独立集=结点数-最大匹配数 老师带大学生旅游
  9. 微信小程序-page
  10. Sql_server四种执行ExecuteReader、ExecuteNonQuery、ExecuteScalar、DataSet.docx