在 libmemcached 中配置 SASL 支持

在 libmemcached 中配置 SASL 支持

我正在尝试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 支持似乎有些损坏。

  1. 下载 libmemcached-1.0.8(遗憾的是,1.0.9 及更高版本需要修改代码,因为 SASL 支持尚未随着代码的变化而保持更新)。

  2. 解压并更改至文件夹。

  3. sed -i -es/ax_cv_sasl/ac_enable_sasl/m4/ax_sasl.m4

  4. sed -i -e “s/-pthread-pthreads/-lpthread-lpthreads/” m4/ax_pthread.m4

  5. 。/配置

  6. 制作

  7. 安装

这应该可以在 OSX 上启动并运行(您需要在 Linux 上执行相同的操作,或者至少我在 Ubuntu 上这样做了)。

答案2

这在 OS X Mountain Lion 上是不可能的(也可能是其他版本的 OS X)。我将向团队提出这个问题libmemcached

相关内容