我正在尝试libmemcached
在 OS X Mountain Lion 上构建 SASL 支持。
我已经构建了memcached
支持 SASL 的版本 (1.4.15):
$ memcached -S -vv
Initialized SASL.
slab class 1: chunk size 96 perslab 10922
...
slab class 42: chunk size 1048576 perslab 1
<17 server listening (binary)
<18 server listening (binary)
<19 send buffer was 9216, now 3728270
<20 send buffer was 9216, now 3728270
<19 server listening (udp)
<20 server listening (udp)
...
我也尝试libmemcached
使用 SASL 支持进行构建。我尝试了以下操作:
$ ./configure --prefix=/usr/local \
--with-memcached-sasl=/usr/local/bin/memcached
...
$ ./configure --prefix=/usr/local \
--with-memcached-sasl="/usr/local/bin/memcached -S"
...
但最终的配置摘要对于两者来说是相同的:
Configuration summary for libmemcached version 1.0.11
* Installation prefix: /usr/local
* System type: apple-darwin12.2.0
* Host CPU: x86_64
* C Compiler: i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
* C Flags: -O2 -Werror -Wall -Wextra -std=c99 -Wbad-function-cast -Wmissing-prototypes -Wnested-externs -Woverride-init
* C++ Compiler: i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
* C++ Flags: -O2 -Werror -Wall -Wextra -Wpragmas -D_FORTIFY_SOURCE=2 -Waddress -Wchar-subscripts -Wcomment -Wctor-dtor-privacy -Wfloat-equal -Wformat=2 -Wmissing-field-initializers -Wmissing-noreturn -Wnon-virtual-dtor -Wnormalized=id -Woverloaded-virtual -Wpointer-arith -Wredundant-decls -Wshadow -Wshorten-64-to-32 -Wsign-compare -Wstrict-overflow=1 -Wswitch-enum -Wundef -Wunused-variable -Wwrite-strings -fwrapv -ggdb
* CPP Flags: -I/usr/local/include
* Assertions enabled: no
* Debug enabled: no
* Warnings as failure: no
* SASL support:
我做错了什么吗?谢谢。
答案1
好的,这里有一种方法,它显然不是“正确”的方法,但是 libmemcached 中的 SASL 支持似乎有些损坏。
下载 libmemcached-1.0.8(遗憾的是,1.0.9 及更高版本需要修改代码,因为 SASL 支持尚未随着代码的变化而保持更新)。
解压并更改至文件夹。
sed -i -es/ax_cv_sasl/ac_enable_sasl/m4/ax_sasl.m4
sed -i -e “s/-pthread-pthreads/-lpthread-lpthreads/” m4/ax_pthread.m4
。/配置
制作
安装
这应该可以在 OSX 上启动并运行(您需要在 Linux 上执行相同的操作,或者至少我在 Ubuntu 上这样做了)。
答案2
这在 OS X Mountain Lion 上是不可能的(也可能是其他版本的 OS X)。我将向团队提出这个问题libmemcached
。