Chinaunix首页 | 论坛 | 博客
  • 博客访问: 190127
  • 博文数量: 31
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 981
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-20 09:18
文章分类
文章存档

2011年(3)

2010年(8)

2009年(1)

2008年(19)

我的朋友

分类: LINUX

2010-01-04 17:03:39

Installed pycurl-7.19.0 but when used, got this error: Fatal Python error: pycurl: libcurl link-time version is older than compile-time version. Googled it immediately of course. This post seems useful but no detail info of how, so helpless to a newbie like me.

At least I know it’s the damn version issue. How about installing the latest cURL lib? Tried but failed. However, I noticed the following msg after installation:

If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following:

  - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution

   - add LIBDIR to the `LD_RUN_PATH' environment variable during linking

   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag

   - have your system administrator add LIBDIR to `/etc/ld.so.conf'


I followed the first suggestion and added my installation dir “/usr/local/lib” to LD_LIBRARY_PATH, and, HOORAY, it worked.

Remaining question: “/usr/local/lib” and “/usr/lib” are default installation dir for most libs, why they are not searched by default? Really weird of lib/include path issue in Linux.

VERSION ISSUE again. When I resolved libcurl version issue, I got another more: ImportError: /usr/local/lib/python2.6/site-packages/libxml2mod.so: symbol xmlFirstElementChild, version LIBXML2_2.7.3 not defined in file libxml2.so.2 with link time reference. Google, google, google, and helped me: some expert asked “This sounds like your may have some other (old) libxml2.so.2 filegetting in the way”. Actually I got “libxml2.so.2.6.32” under /usr/lib, and “libxml2.so.2.7.6” under /usr/local/lib. Seems the former old one is provided by Debian. So the solution is rather simple now: put /usr/local/lib before /usr/lib in my LD_LIBRARY_PATH in ~/.bashrc.

Remaining question: Is it better to always put /usr/local/lib before /usr/lib?

 
阅读(1206) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~