Я пытаюсь построить 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 кажется несколько потрепанной.
Загрузите libmemcached-1.0.8 (1.0.9 и более поздние версии, к сожалению, требуют модификации кода, так как поддержка SASL не обновлялась с учетом изменений в коде).
Развернуть, перейти в папку.
sed -i -e s / ax_cv_sasl / ac_enable_sasl / m4 / ax_sasl.m4
sed -i -e "s / -pthread -pthreads / -lpthread -lpthreads /" m4 / ax_pthread.m4
./configure
делать
sudo make install
Это должно запустить его в OSX (вам нужно сделать то же самое в Linux, или, по крайней мере, я сделал с Ubuntu).
Это невозможно в OS X Mountain Lion (и, возможно, в других версиях OS X). Я собираюсь поднять вопрос с libmemcached
команда.