fedora安装HTTPSQS所遇各种问题解决汇总

最近在研究张宴的 基于 HTTP GET/POST 协议的轻量级开源简单消息队列服务HTTPSQS,安装阶段遇到如下错误:

 

安装tokyocabinet时./configure会出现如下错误:

    configure: error: bzlib.h is required .

这是因为bzlib.h找不到的错误,在fedora下是bzip2-devel没有安装,用yum 安装就好了

yum install bzip-devel 解决了。

 

-------------------------------------------------------------------------------------------------------------------------------------

到了httpsqs的make阶段,出现不少链接错误,简单说明一下基础:

gcc 的-I 参数指示编译器不仅在标准位置,还在指定的位置中查找相关的头文件;

gcc 的-L参数指示为编译器增加库的搜索路径,可以修改配置文件/etc/ld.so.conf给编译器增加动态库的搜索路径。

出现以下错误:

 

但是libc.so等就在/usr/lib目录下,我也已经将该目录增加到/etc/ld.so.conf文件中,这会是什么问题呢?

什么都不如手册可靠,呵呵。看了一下gcc的手册,发现,--static选项作用是禁止使用共享库,而这几个需要的静态库我有没有安装,现在一般很少安装静态库了,解决的方法之一就是安装相应的静态库。

 

我没有这样做,既然已经存在共享库,为何还要安装静态库呢?于是我将--static选项删除,make,make install成功了。

 

接着我启动httpsqs,发现还是抱错。

./httpsqs: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

 

于是使用ldd命令查看一下httpsqs需要的共享库,结果如下:

ldd /usr/bin/httpsqs

 

结果:

 

linux-gate.so.1 =>  (0x005ac000)
    libevent-2.0.so.5 => not found
    libtokyocabinet.so.9 => /usr/lib/libtokyocabinet.so.9 (0x00905000)
    libz.so.1 => /lib/libz.so.1 (0x008cf000)
    libbz2.so.1 => /lib/libbz2.so.1 (0x03018000)
    librt.so.1 => /lib/librt.so.1 (0x00898000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00874000)
    libm.so.6 => /lib/libm.so.6 (0x008a3000)
    libc.so.6 => /lib/libc.so.6 (0x006e8000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x008e6000)
    /lib/ld-linux.so.2 (0x006c7000)

 

于是使用whereis 查找一下 libevent-2.0.so.5,发现在

/usr/local/libevent-2.0.10-stable/lib/libevent-2.0.so.5

存在。

 

解决方案:做一个软连接:

ln -s /usr/local/libevent-2.0.10-stable/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

 

这个时候在使用ldd查看,一切正常了。

这个时候,终于,历经好几个小时的摸索,httpsqs终于起来了。

 

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值