编译成功,运行时报错:

在使用 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中以便运行时能找到。

然后运行成功

解决 free(): invalid pointer: 0x00000000019ff700 运行时报错(caffe)(libtool使用)的更多相关文章

  1. (解决方法)Android studio 运行时报错Do you want to uninstall the existing application?的解决方法

    在Android studio中,有时运行会报错: WARNING: Uninstalling will remove the application data!Do you want to unin ...

  2. 解决BeautifulSoup库运行时报错问题

    解决BeautifulSoup库运行时报错问题 运行BeautifulSoup库时可能出现下面的错误,具体错误消息为:To get rid of this warning, change this: ...

  3. Appium在Android7.0及以上系统运行时报错的解决方案

    背景:在使用Samsung S系列手机进行自动化测试时,发现同样脚本的情况下华为荣耀系列可以正常运行,最终发现差异在于Android7.0及以上系统和appium版本不匹配,需要升级appium.但需 ...

  4. cocos2dx在win10系统上的VS2017运行时报错:丢失MSVCR110.dll

    如题,运行环境为cocos2dx 3.14.1,win10系统,VS2017. 编译cocos2dx的cocos2d-x-3.14.1/build/cocos2d-Win32.sln已通过,不过运行时 ...

  5. appium 链接真机运行时报错

    今天用appium链接真机时,碰到的第一个问题:Attempt to re-install io.appium.settings without first uninstalling.(这是日志中显示 ...

  6. 解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题

    解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题 本文的实践来源是参照了两个帖子完成的: http://dis ...

  7. scrapy 运行时报错 No module named _sqlite3

    新服务器上运行scrapy时报错 exceptions.ImportError: No module named _sqlite3 原因 由于新的环境缺少sqlite的依赖,编译python3是虽然不 ...

  8. ionic打包项目,运行时报错A problem occurred configuring root project 'android'。。。

    运行报错的原因是sdk没有下载完整 解决办法: 1,打开sdk manage.分别下载android support repository.Google play services.google re ...

  9. Android Studio中 图片资源存在但是运行时报错的问题

    最近看安卓遇到了了一个很头疼的问题,我明明在drawable文件夹中添加了图片资源,Android Studio 中也预加载了图片,但是在运行的时候就开始咔咔咔报错 = = 如下图所示: 图片后面显示 ...

随机推荐

  1. Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理

    Atitit. 注册表操作查询 修改 api与工具总结 java c# php js python 病毒木马的原理 1. reg 工具 这个cli工具接口有,优先使用,jreg的要调用dll了,麻烦的 ...

  2. 解决eclipse无法打开:Failed to load the JNI shared library

    64位系统安装了64位的eclipse,但是jdk是32位的 总之就是eclipse跟jdk搭配不上,所以解决的时候注意这一点

  3. ExtFormReturn,ext

    package cn.edu.hbcf.common.vo; public class ExtFormReturn { /** * 是否成功 */ private boolean success; / ...

  4. iOS崩溃解决记录

    Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contai ...

  5. 折腾WordPress感想

    以前在cnblogs上写博客没感觉什么,一旦要搭建自己的博客,我感觉好麻烦啊,具体就体现在一下方面: 1. 域名得要申请 2. 还要购买虚拟机 3. 自己搭建php,mysql,wordpress,a ...

  6. C#中oracle数据库的连接方法

    C#中oracle数据库的连接方法 一.关于数据库的操作 1.数据库连接      有2种:      第一种:古老的方法(较为死板,不利于灵活操作),即用OracleConnection的类来连接 ...

  7. 利用多态,实现一般处理程序(ashx)中的AOP(切面编程)

    本文是对工作中的项目进行代码优化(完善登陆验证的AOP切面编程)时,所遇到的各种解决方案思考过程. 项目背景:由ashx+nvelocity构建的简单B/S问卷系统,现需要优化登录验证环节(时隔若干个 ...

  8. 05 Java图形化界面设计——布局管理器之GridLayout(网格布局)

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

  9. Visual Studio 2012/2010/2008 远程调试

    第一步:将你本地的账号密码设置成跟服务器一样,因为远程调试也是需要用户凭证的. 第二步:将vs工具里的Remote Debugger文件夹拷贝到目标机器.大致的目录应该是:D:\Program Fil ...

  10. c#检查网络文件是否存在

    public bool IsExist(string uri) { HttpWebRequest req = null; HttpWebResponse res = null; try { req = ...