Назад | Перейти на главную страницу

Настройка поддержки SASL в libmemcached

Я пытаюсь построить libmemcached с поддержкой SASL в OS X Mountain Lion.

Я построил memcached (1.4.15) с поддержкой SASL:

    $ 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:              

Я что-то делаю неправильно? Спасибо.

Хорошо, вот способ, это явно не «правильный» способ, но поддержка SASL в libmemcached кажется несколько потрепанной.

  1. Загрузите libmemcached-1.0.8 (1.0.9 и более поздние версии, к сожалению, требуют модификации кода, так как поддержка SASL не обновлялась с учетом изменений в коде).

  2. Развернуть, перейти в папку.

  3. sed -i -e s / ax_cv_sasl / ac_enable_sasl / m4 / ax_sasl.m4

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

  5. ./configure

  6. делать

  7. sudo make install

Это должно запустить его в OSX (вам нужно сделать то же самое в Linux, или, по крайней мере, я сделал с Ubuntu).

Это невозможно в OS X Mountain Lion (и, возможно, в других версиях OS X). Я собираюсь поднять вопрос с libmemcached команда.