登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

[ZeroMQ] OpenBSD 下安装 ZeroMQ  

2010-09-01 00:31:51|  分类: net_ZeroMQ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
先安装 uuid 的库:/usr/ports/devel/uuid

ZeroMQ 在 ./configure 中做了 OpenBSD 的检查,但 platform.h 居然没有 ZMQ_HAVE_OPENBSD 的宏。
所以在做完 ./configure 后,要手动修改 src/platform.hpp,增加:
#define ZMQ_HAVE_OPENBSD 1

同时还要修改 src/uuid.h, src/uuid.cpp,我自己"山寨"了一个 diff:
------------------------ src/uuid.hpp ------------------------
26c26
< #if defined ZMQ_HAVE_FREEBSD || defined ZMQ_HAVE_NETBSD
---
> #if defined ZMQ_HAVE_FREEBSD || defined ZMQ_HAVE_NETBSD || defined ZMQ_HAVE_OPENBSD
86a87,88
>         char *string_buf;
> #elif defined ZMQ_HAVE_OPENBSD
------------------------ src/uuid.cpp ------------------------
76a77,108
> #elif defined ZMQ_HAVE_OPENBSD
> zmq::uuid_t::uuid_t ()
> {
>     ::uuid_rc_t rc;
>     ::uuid_t *uuid;
>     rc = uuid_create(&uuid);
>     zmq_assert(rc == UUID_RC_OK);
>     rc = uuid_make(uuid, UUID_MAKE_V1);
>     zmq_assert(rc == UUID_RC_OK);
>     string_buf = NULL;
>     rc = uuid_export(uuid, UUID_FMT_STR, &string_buf, NULL);
>     zmq_assert(rc == UUID_RC_OK);
>     uuid_destroy(uuid);
>     create_blob ();
> }
> zmq::uuid_t::~uuid_t ()
> {
>     free (string_buf);
> }
> const char *zmq::uuid_t::to_string ()
> {
>     return string_buf;
> }
-------------------------------------------------------------
当然,还有给一堆 Makefile 里面增加 LDFLAGS:
LDFLAGS = -L/usr/local/lib -luuid

还要修改下 ~ctx_t(), ~session_t() 两个析构函数,将其从 private: 移到 public: 中。
否则报 warning 会打断 gmake 的过程。

终于搞定。跑了一下测试程序,貌似米啥问题。hoho~
  评论这张
 
阅读(1846)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018