前言

最近研究一个工具库需要用 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. I have Flash Player installed, but I am unable to view Flash content in Chromium. How do I enable Flash Player to view this content?

    I have Flash Player installed, but I am unable to view Flash content in Chromium. How do I enable Fl ...

  2. Linux 不同方法查看进程消耗CPU IO 等

    1.用top命令指定固定的PID top -p 10997 查询指定进程的PID ps -ef | grep zookeeper jim 10997 1959 0 12月14 pts/2 00:00: ...

  3. sync、fsync和fdatasync

    转自 http://blog.csdn.net/todd911/article/details/11701847 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘 I/O都通过缓 ...

  4. c实现循环链表

    解决约瑟夫环问题核心步骤: 1.建立具有n个节点.无头的循环链表 2.确定第一个报数人的位置 3.不断从链表中删除链节点,直到链表为空 #include <iostream> #inclu ...

  5. JVM——垃圾回收

    目录: 如何判断垃圾是否回收? 引用计数法 可达性分析算法 四种引用 引用队列 垃圾回收算法 标记清除算法 复制算法 标记整理算法 分代垃圾回收 新生代 老年代 Minor GC 和 Full GC的 ...

  6. bash 基础之五 条件测试、read

    一 条件选择if语句 顺序执行:逐条运行: 选择执行: 代码有一个分支:条件满足时才会执行: 两个或以上的分支:只会执行其中一个满足条件的分支: 循环执行:代码片断(循环体)要执行0.1或多个来回: ...

  7. JAVA RPC (十) nio服务端解析

    源码地址:https://gitee.com/a1234567891/koalas-rpc 企业生产级百亿日PV高可用可拓展的RPC框架.理论上并发数量接近服务器带宽,客户端采用thrift协议,服务 ...

  8. overflow妙用--去除默认滚动条,内容仍可滚动

    在开发中我们往往要去除默认滚动条,但是其在竖直方向的滚动效果仍然需要. <div id="parent"> <div id="child"&g ...

  9. CF1053E Euler tour

    题意 给出一个某些位置不全的欧拉序,求出一个符合条件的,或输出不行 传送门 \(n \le 5*10^5\) 思路 终于不是一道神仙\(dp\) 变成了一道神仙构造 以下简称两相同数围成的是一个区间, ...

  10. python爬虫简单实现,并在java中调用python脚本,将数据保存在json文件中

    # coding:utf-8 import urllib2 from bs4 import BeautifulSoup import json import sys reload(sys) sys.s ...