前言

最近研究一个工具库需要用 jemalloc 做内存分配器,但在 ubuntu 下安装过程中遇到很多问题,故记下安装过程的笔记,避免以后遇到在这上面浪费时间。

安装过程

环境:VMware Ubuntu 18.04.3 LTS

cd ~/桌面
wget https://github.com/jemalloc/jemalloc/releases/download/5.0.1/jemalloc-5.0.1.tar.bz2
tar -jxvf jemalloc-5.0..tar.bz2
cd jemalloc-5.0.
sudo apt-get install autogen autoconf ./autogen.sh
make -j2
sudo make install
sudo ldconfig
cd ../
rm -rf jemalloc-5.0. jemalloc-5.0..tar.bz2

注意安装 jemalloc 不要放在共享目录中. 例如可以放在桌面上. 因为安装过程中需要建立

ln -sf libjemalloc.so.2 lib/libjemalloc.so

软链在共享目录的分区情况下会出问题(因为我的Ubuntu 是在 VMWare 中, 共享目录无法软链).

Linux下找不到so文件的解决办法

但在启动应用程序报找不到libjemalloc.so.2的提示,如下图所示:

even@ubuntu:~/workspace/co/build$ ./log.exe
./log.exe: error while loading shared libraries: libjemalloc.so.: cannot open shared object file: No such file or directory

首先在系统搜索是否有这个文件:

even@ubuntu:~/workspace/co/build$ sudo find / -name libjemalloc.so.
[sudo] password for even:
/usr/local/lib/libjemalloc.so.
find: ‘/run/user//gvfs’: Permission denied

既然有这个文件,我们就把他加入到/etc/ld.so.conf中,打开这个文件发现里面内容如下:

将.so文件路径的目录添加到/etc/ld.so.conf

even@ubuntu:~/workspace/co/build$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf

看看/etc/ld.so.conf.d目录下的文件:

even@ubuntu:~/workspace/co/build$ ls /etc/ld.so.conf.d/
fakeroot-x86_64-linux-gnu.conf x86_64-linux-gnu.conf
libc.conf zz_i386-biarch-compat.conf
vmware-tools-libraries.conf

于是在该目录下创建一个other.conf文件。内容如下:

/usr/local/lib/

保存退出,重新加载环境配置:

sudo ldconfig

Linux安装jemalloc笔记的更多相关文章

  1. linux安装oracle笔记

    linux安装oracle .增大swap空间,内存大于8G后swap跟内存同等大小即可 mkdir /home/swap cd /home/swap mkswap swapfile swapon s ...

  2. LINUX 安装扩展(笔记)

    1.下载扩展包: 网址:http://pecl.php.net/ 2.解压安装包. 3.进入解压好的安装包. 4.使用php中的phpize (扩展模块) 使其生成configure. 5../con ...

  3. Linux安装docker笔记

    更新yum操作 yum -y update 安装docker yum install -y docker 或者yum install -y docker-engine 启动docker  servic ...

  4. CentOS(Linux) - 安装软件笔记(总) - 开发环境安装顺序及汇总

    1.安装java环境 参考文章 CentOS7.1 使用资源搜集 2.需要可视化管理服务器时,需要先安装VPSmate 参考文章 CentOS(Linux) - 安装软件笔记(一) - VPSMate ...

  5. [linux笔记]理清linux安装程序用到的(configure, make, make install)

    我作为一名经常和linux打交道的程序员,每次在linux安装软件都祈求可以用——apt-get,yum,brew等应用程序管理器安装,有的时候事与愿违,你只能自己编译安装-wtf,说好的美丽世界呢? ...

  6. Linux下postgres9.4 版本的单机版安装小笔记

    1.添加RPMyum install https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7-x86_64/pgdg-redha ...

  7. Linux实战教学笔记08:Linux 文件的属性(上半部分)

    第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...

  8. Linux实战教学笔记07:Linux系统目录结构介绍

    第七节 Linux系统目录结构介绍 标签(空格分隔):Linux实战教学笔记 第1章 前言 windows目录结构 C:\windows D:\Program Files E:\你懂的\精品 F:\你 ...

  9. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

随机推荐

  1. Navicat permium快捷键

    Ctrl + F 搜索本页数据 Ctrl + Q 打开查询窗口 Ctrl + /  注释sql语句 Ctrl + Shift + / 解除注释 Ctrl + R 运行查询窗口的sql语句 Ctrl + ...

  2. C语言学习笔记11- 文件I/O

    C语言学习笔记11- 文件I/O  ..待编辑 文件操作(CRT.C++.WIN API.MFC)

  3. D3D常用数学函数

    D3DXCOLOR* D3DXColorAdd   //两个颜色的组合值D3DXCOLOR* WINAPI D3DXColorAdjustContrast( //调整颜色对比度D3DXCOLOR *p ...

  4. mlflow ui 启动报错No such file or directory: 'gunicorn': 'gunicorn'

    1.mlflow ui 启动报错,信息如下: [root@localhost mlflow]# mlflow ui /usr/local/python3/lib/python3./importlib/ ...

  5. spring cloud gateway:Unable to find GatewayFilterFactory with name Hystrix

    在springcloud gateway中引用Hystrix filter 编译启动时提示 Unable to find GatewayFilterFactory with name Hystrix ...

  6. MapReduce shuffle的过程分析

    shuffle阶段其实就是多个map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点上. Map端: 1.在map端首先接触的是InputSplit,在InputSplit中含有D ...

  7. Flutter点击两次返回键退出APP

    在APP中一些页面为了防止用户操作失误点击到返回键导致退出APP,可以设置其一定时间内点击两次返回键才允许退出APP,完成这个功能可以通过WillPopScope和SystemNavigator.po ...

  8. Flutter移动电商实战 --(15)商品推荐区域制作

    1.推荐商品类的编写 这个类接收一个List参数,就是推荐商品的列表,这个列表是可以左右滚动的. /*商品推荐*/ class Recommend extends StatelessWidget { ...

  9. nginx - nginx下配置thinkphp5

    首先tp5的访问目录指向到webroot/public文件夹中.thinkphp的url访问:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数 ...

  10. git如何添加子模块以便方便使用别人维护的模块?

    答: 添加过程如下: 1. 在当前项目的源码下执行一下命令来添加子模块 git submoduel add <other_repository_url> <dir_name> ...