boost及libmemcache安装基于suse机器

4 篇文章 0 订阅

最近要发版本到tx suse机器,首先在安装boost和libmemcache的时候遇到很多问题,主要是boost在完全编译的时候会报出来很多的错误,而且不能够产生静态lib文件。现在此做一记录:

1.libmemcached安装
./configure --enable-static --with-memcached --prefix=/opt/libmemcached/ --disable-sasl
http://www.eit.name/blog/read.php?216
注意各选项的意思
http://www.phpnice.com/thread-50-1-1.html

2.boost安装

从boost官网下载(这里)安装包,目前最新版本是1.48.
解压后进入目录,简单安装:
./bootstrap.sh
./bjam --prefix=/opt/boost install -q
即可。

主要问题有:

A)在输入./bootstrap.sh会报Unicode/ICU support for Boost.Regex?... not found.

 解决办法见:http://hhfighting.blog.163.com/blog/static/5570032320120932829701/

摘录部分:

安装g++:sudo apt-get install g++
     为了更完整的编译boost,需要下载额外的软件包,比如要完整编译boost-python库需要下载python2.6-dev,正则库regex需要  unicode/icu,boost.iostreams库需要zlib1g-dev,相关命令如下琐事:
     sudo apt-get install python2.6-dev(根据当前的版本进行选择)
     sudo apt-get install libicu-dev
     sudo apt-get install libbz2-dev
没安装上述库的出现的错误信息:
运行 ./bootstrap.sh 出现“Unicode/ICU support for Boost.Regex?....not found”,此错误的解决办法就是安装libicu-dev。

在suse机器上可以使用zypper软件管理工具进行自动安装,如:

zypper se python-dev

zypper in xxxx

B)报warning: ISO C++ 1998 does not support ‘long long
 解决办法见:https://svn.boost.org/trac/boost/ticket/3246

C)报:#error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS"

 解决办法见:

https://svn.boost.org/trac/boost/ticket/6165
http://blog.pinepara.info/tech/compile-passenger-with-gcc-4-dot-7/

原因如上博文所述,解决办法如下:

先定位到 Passenger 使用的 Boost 代码中的 libstdcpp3.hpp:
将第 33-34 行的:
#  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
        || defined(_GLIBCXX__PTHREADS)
替换为:
#  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
        || defined(_GLIBCXX__PTHREADS) \
        || defined(_GLIBCXX_HAS_GTHREADS) \
        || defined(_WIN32)




备注:yum安装boost时默认没有静态库,解决办法:

yum install boost boost-devel boost-doc

yum install boost-static.x86_64

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值