
正文
Linux安装jemalloc笔记
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
前言
最近研究一个工具库需要用 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








