【未完待补充】linux 设置So动态库链接路径
缘起
安装python的包Rtree(Rtree-0.8.2),但需要先安装C语言依赖包spatialindex-src(spatialindex-src-1.8.5)。在安装完spatialindex-src后,再安装Rtree过程中出现问题:
dimite@ubuntu:~/wzh/Rtree-0.8.$ python setup.py build
Traceback (most recent call last):
File "setup.py", line , in <module>
import rtree
File "/home/dimite/wzh/Rtree-0.8.2/rtree/__init__.py", line , in <module>
from .index import Rtree
File "/home/dimite/wzh/Rtree-0.8.2/rtree/index.py", line , in <module>
from . import core
File "/home/dimite/wzh/Rtree-0.8.2/rtree/core.py", line , in <module>
rt = ctypes.CDLL(lib_name)
File "/usr/lib/python2.7/ctypes/__init__.py", line , in __init__
self._handle = _dlopen(self._name, mode)
OSError: libspatialindex_c.so.: cannot open shared object file: No such file or directory
错误日志提示找不到动态链接库 libspatialindex_c.so.4,利用命令寻找动态链接库
dimite@ubuntu:~/wzh/Rtree-0.8.$ sudo find / -name libspatialindex_c.so.
[sudo] password for dimite:
/usr/local/lib/libspatialindex_c.so.
/home/dimite/wzh/spatialindex-src-1.8./.libs/libspatialindex_c.so.
需要四个动态链接库文件,都在/usr/local/lib中
dimite@ubuntu:~/wzh/Rtree-0.8.$ ls /usr/local/lib | grep libspatialindex | grep so
libspatialindex_c.so
libspatialindex_c.so.
libspatialindex_c.so.4.0.
libspatialindex.so
libspatialindex.so.
libspatialindex.so.4.0.
解决
方法一:
把动态链接库所在的路径添加到/etc/ld.so.conf中
include /etc/ld.so.conf.d/*.conf
/usr/local/lib/
然后更新/etc/so.cache
sudo ldconfig
方法二:
同方法一,把具体的so链接库写到/etc/ld.so.conf.d/下的conf文件中
/usr/local/lib/
方法三:
设置$LD_LIBRARY_PATH=库所在目录(多个目录用:分隔)
结论
以root身份把库路径加入到/etc/ld.so.conf或在/etc/ld.so.conf.d中创建特定的.conf文件,运行ldconfig更新动态链接库
设置$LD_LIBRARY_PATH=库所在目录(多个目录用:分隔)
深究
python怎么调用c的库
python的setup.py 怎么执行,里边没有看到具体的build、install字眼
ctype里的__init__.py又是怎么和动态链接库a联系在一起
【未完待补充】linux 设置So动态库链接路径的更多相关文章
- Linux下包含头文件的路径问题与动态库链接路径问题
		C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路径. [1 ... 
- linux和windows动态库加载路径区别
		# linux和windows动态库加载路径区别 ### 简介------------------------------ linux加载动态库的路径是系统目录/lib和/usr/lib.- wind ... 
- 【转】分析Linux和windows动态库
		原文地址:http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html 摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Lin ... 
- Linux和windows动态库
		转载:http://www.cnblogs.com/chio/archive/2008/11/13/1333119.html 态链接库技术实现和设计程序常用的技术,在Windows和Linux系 统中 ... 
- 【转载】Linux动态库搜索路径的技巧
		转自:http://soft.chinabyte.com/os/232/11488732_2.shtml 众所周知,Linux动 态库的默认搜索路径是/lib和/usr/lib.动态库被创建后,一般都 ... 
- Linux动态库搜索路径的技巧
		众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib.动态库被创建后,一般都复制到这两个目录中.当程序执行时需要某动态库,并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径 ... 
- Linux下动态库查找路径的问题
		说到和动态库查找路径相关的问题,总体上可以分为两类: 第一类: 通过源代码编译程序时出现的找不到某个依赖包的问题,而如果此时你恰好已经按照它的要求确确实实.千真万确.天地良心地把依赖库给装好了, ... 
- 谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH  PKG_CONFIG_PATH
		谈谈Linux下动态库查找路径的问题 ldconfig LD_LIBRARY_PATH PKG_CONFIG_PATH 转载自:http://blog.chinaunix.net/xmlrpc.ph ... 
- 谈谈Linux下动态库查找路径的问题
		学习到了一个阶段之后,就需要不断的总结.沉淀.清零,然后才能继续"上路".回想起自己当年刚接触Linux时,不管是用源码包编译程序,还是程序运行时出现的和动态库的各种恩恩怨怨,心里 ... 
随机推荐
- java类的继承
			继承就是在一个现有类型的基础上,通过增加新的方法或者重定义已有方法(重写)的方式,产生一个新的类型.继承是面向对 象的三个基本特征--封装.继承.多态的其中之一,我们在使用java时编写的每一个类都是 ... 
- [ZZ]  Adventures with Gamma-Correct Rendering
			http://renderwonk.com/blog/index.php/archive/adventures-with-gamma-correct-rendering/ Adventures wit ... 
- PHP笔记——java程序员看懂PHP程序
			PHP笔记——java程序员看懂PHP程序 php是一种服务器端脚本语言,类型松散的语言. <?php ?> xml风格 <script language=”ph ... 
- 网站压力测试工具webbench
			webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ... 
- Off-heap Memory in Apache Flink and the curious JIT compiler
			https://flink.apache.org/news/2015/09/16/off-heap-memory.html Running data-intensive code in the J ... 
- sql 语句查询练习题
			1. 查询Student表中的所有记录的Sname.Ssex和Class列. select sname,ssex,class from student 2. 查询教师所有的单位即不重复的Depart列 ... 
- pro7
			1.本次课学习到的知识点: 函数的作用 确定函数的功能 定义函数 调用函数 2.实验过程中遇到的问题及解决方法: 定义函数时 变量的定义会出现混乱 通过看例题 多练习 逐渐熟悉 需从数学角度解决问题时 ... 
- 在HCI层ACL Connection的建立
			一.概述 上一篇博文介绍的是inquiry的整个过程中HCI层的command和event.在寻找到有效的远端蓝牙设备后,开始建立ACL连接,这里仅仅反应HCI层的数据包,对于LM层和Base ... 
- UIView 的粗浅解析
			The UIView class defines a rectangular area on the screen and the interfaces for managing the conten ... 
- Hbase中rowkey设计原则
			1.热点问题 在某一时间段,有大量的数据同时对一个region进行操作 2.原因 对rowkey的设计不合理 对rowkey的划分不合理 3.解决方式 rowkey是hbase的读写唯一标识 最大长度 ... 
