根据 https://stackoverflow.com/questions/9922949/how-to-print-the-ldlinker-search-path 使用

ldconfig -v 2>/dev/null | grep -v ^$'\t'

列出了所有的默认链接包路径,使用

ll /usr/local/cuda-8.0/lib64 /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /usr/lib/nvidia-375 /usr/lib32/nvidia-375 /lib32 /usr/lib32 /lib /usr/lib |grep
snappy

可以看到有snappy库。 查看leveldb时,有两个leveldb库,一个是apt-get安装的,一个是自己编译拷贝进去的,两个不一样大。现在想知道apt-get安装的路径在哪。

使用 ls -d -1 $PWD/**/* 这种方式以全路径方式列出当前目录下的文件,可以套用到上述路径,发现,snappy路径

/usr/lib/x86_64-linux-gnu/libsnappy.a

/usr/local/lib/libleveldb.a

leveldb路径

第一个是系统安装的。

通过fincore可知,链接的是/usr/local/lib/libleveldb.a ,也就是自己编译的。

最后,在Makefile里加上一句  LIB=/usr/lib/x86_64-linux-gnu/

以及 -L $(LIB)

竟然编译成功了!!!!

根据 http://blog.csdn.net/szyjsj/article/details/69567757 运行, ./mapkeeper_leveldb -d  ./data

(1)端口是9090

(2)加了 -L $(LIB)  对于leveldb仍然链接的是/usr/local/lib/libleveldb.a

        --修正,无法知道链接的是哪一个,似乎是apt-get安装的, remove以后编译就不成功了,即使在 -llibleveldb前加上 -L /usr/local/lib/ 也不行

    然后重新apt-get install,编译成功了,但是清楚缓存后再编译,fincore发现两个地方的leveldb.a 都不在缓存中。

    remove掉,或者重命名,将  -L /usr/local/lib  -lleveldb 放在前面,编译成功。

  于是,可以使用自己的 libleveldb.a 编译了。

(3)将 /usr/local/include/leveldb删除掉无法编译成功,提示头文件不存在。

(4) 运行 ./mapkeeper_leveldb -d  ./data 后会打开 /usr/lib/x86_64-linux-gnu/libleveldb.so.1.18

        这说明 so文件是运行时必须的。

      后来又发现其实so文件并不需要,对其改名, ./mapkeeper_leveldb -d  ./data 照样运行成功。

-rw-r--r-- 1 root root 816238 Nov 19 2015 /usr/lib/x86_64-linux-gnu/libleveldb.a.old
lrwxrwxrwx 1 root root 18 Nov 19 2015 /usr/lib/x86_64-linux-gnu/libleveldb.so.1 -> libleveldb.so.1.18
-rw-r--r-- 1 root root 367496 Nov 19 2015 /usr/lib/x86_64-linux-gnu/libleveldb.so.1.18

总结:

首先是要加入  -L /usr/lib/x86_64-linux-gnu/  去除snappy的错误

要使用自己的libleveldb.a 必须在Makefile中将  -L /usr/local/lib  -lleveldb 放在 -L /usr/lib/x86_64-linux-gnu/ -lboost_thread  的前面。

编译thrift外篇-关于默认链接包-(使用mapkeeper运行leveldb成功)的更多相关文章

  1. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...

  2. 可视化(番外篇)——SWT总结

    本篇主要介绍如何在SWT下构建一个应用,如何安装SWT Designer并破解已进行SWT的可视化编程,Display以及Shell为何物.有何用,SWT中的常用组件.面板容器以及事件模型等. 1.可 ...

  3. 编译Thrift

    按照 https://syslint.com/blog/tutorial/how-to-install-apache-thrift-on-ubuntu-14-04/ 进行, 编译时出现错误 make[ ...

  4. [uboot] (番外篇)uboot串口&console&stdio设备工作流程 (转)

    [uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)[project X] tiny210(s5pv210)从存储设备加载代码到D ...

  5. [uboot] (番外篇)uboot之fdt介绍 (转)

    以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为例 [uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(B ...

  6. 同步IO与一部IO、IO多路复用(番外篇)select、poll、epoll三者的区别;blocking和non-blocking的区别 synchronous IO和asynchronous IO的区别

    Python之路,Day9 , IO多路复用(番外篇)   同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的.所以先限定一下本文的上下文. ...

  7. suse 12 二进制部署 Kubernetets 1.19.7 - 番外篇 - 增加node节点

    文章目录 0.前景提要 1.准备node节点环境 1.0.修改配置脚本参数 1.1.配置免密 1.2.添加hosts解析 1.3.修改主机名 1.4.更新PATH变量 1.5.安装依赖包 1.6.关闭 ...

  8. 重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]

    前言 简单整理一个linux 简单上线. 这个是该系列的外篇,该系列继续更新.献给刚学的人. 正文 安装实例 dotnet new webapp -n AspNetCoreDemo -o firstw ...

  9. 可视化(番外篇)——在Eclipse RCP中玩转OpenGL

    最近在看有关Eclipse RCP方面的东西,鉴于Gephi是使用opengl作为绘图引擎,所以,萌生了在Eclipse RCP下添加画布,使用opengl绘图的想法,网上有博文详细介绍这方面的内容, ...

随机推荐

  1. SMART OS

    http://blog.csdn.net/babyfacer/article/details/8577333

  2. 获取非行间样式getComputedStyle

    有如下代码: 1 2 3 div {     width: 200px; } 1 2 3 <div id="aa" style="height: 100px;&qu ...

  3. cookie读取设置name

    cookie就是k-v形式,可以理解为一个hashmap cookie就是k-v形式,可以理解为一个hashmap cookie就是k-v形式,可以理解为一个hashmap 建立一个无生命周期的coo ...

  4. 完美删除vector的内容与释放内存

    问题:stl中的vector容器常常造成删除假象,这对于c++程序员来说是极其讨厌的,<effective stl>大师已经将之列为第17条,使用交换技巧来修整过剩容量.内存空洞这个名词是 ...

  5. servelet

    获取页面传递过来的参数. 调用后台代码实现相关业务逻辑. 根据返回结果,进行页面跳转.   问题:httpsession? 拆解: String 里面的.spllit方法.拆开后,返回值为string ...

  6. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  7. swift学习_xcode6搭建

    首先是环境搭建 , 我的是苹果系统 , 我是个穷小子. 8k的电脑离我比較遥远. 自己动手的黑苹果 . 总价1k, 学习够用了即可.期间也学到了非常多东西 . 就是穷人仅仅能发时间去换钱了, 一直在考 ...

  8. C语言关键字—-sizeof 、typedef、const、static、register、extern、#define

    关键字:sizeof .#define.typedef.const.static.register.extern sizeof 1. 作用:求数据所占得内存空间大小 2. 本质:求数据得类型所占的内存 ...

  9. leetcode第一刷_Symmetric Tree

    必须承认,一開始这道题我是不会做的.由于我心目中的树遍历仅仅能用一个节点发起.多么天真而无知. 我想不通如何同一时候遍历两颗子树.由于根节点一定是一个啊.但是,作为对称轴上的它.从一開始就不应该被考虑 ...

  10. Windows下利用CMake和VS2013编译OpenCV

    转载自:http://www.chengxulvtu.com/2014/03/19/windows_build-opencv-with-cmake-and-vs2013.html   获取OpenCV ...