Под Windows все уже в порядке (.exe сетапник уже включает в себя скомпилированную поддержку 'c-ares').
На сервере же (Linux/FreeBSD) приходится ставить ручками (О_о). Далее приложу инструкцию для линуксы.
Для начала ставим сами c-ares:
wget http://c-ares.haxx.se/download/c-ares-1.7.5.tar.gz
tar zxvf c-ares-1.7.5.tar.gz
cd c-ares-1.7.5
./configure
make
make install
tar zxvf c-ares-1.7.5.tar.gz
cd c-ares-1.7.5
./configure
make
make install
Следом ставим последний libcurl:
wget http://curl.haxx.se/download/curl-7.22.0.tar.gz
tar zxvf curl-7.22.0.tar.gz
cd curl-7.22.0
./configure --enable-ares --with-ssl --enable-ipv6 --with-libidn
make
make install
wget http://curl.haxx.se/download/curl-7.22.0.tar.gz
tar zxvf curl-7.22.0.tar.gz
cd curl-7.22.0
./configure --enable-ares --with-ssl --enable-ipv6 --with-libidn
make
make install
Если всё успешно собралось, на линухе правим ручками пути:
rm -rf /usr/lib/libcurl*
ln -s /usr/local/lib/libcurl.so.4 /usr/lib/libcurl.so.4
ln -s /usr/local/lib/libcurl.so.4 /usr/lib/libcurl.so
ldconfig
Проверить, что c-ares прицепились, можно так (в моём случае для pycurl):
python -c "import pycurl;print pycurl.version"
Успешный результат:
libcurl/7.22.0 OpenSSL/0.9.8g zlib/1.2.3.3 c-ares/1.7.5
Ну и обоснование, для тех кто не понял "зачем столько проблем":
Упомянутый в самом начале краб на питоне выкачивает множество страниц одновременно.
до поддержки c-ares 30.795 урлов в секунду
после 285.396 урлов в секунду
3 комментария:
если, после вышепроделанного, питон при import pycurl ругается ImportError: libcares.so.2: cannot open shared object file: No such file or directory
нужно сделать
ln -s /usr/local/lib/libcares.so.2.0.0 /usr/lib/libcares.so.2
ldconfig
Привет.
Не получается установить c-ares. На шаге ./configure --enable-ares выдает ошибку Permission denied.
Пожалуйста помоги! Спасибо
sudo, не?
Отправить комментарий