我已经通过最新的Ubuntu安装卷曲apt-get和工作正常,但是我一直在阅读有关的DNS查询的阻挡性质,并发现它减慢我的应用程序。
我做的apt-get安装的libc-ares2,但我不知道如何做一个查找时告诉卷曲使用该库。
我张贴了这个问题,但AskUbuntu被告知它可能是更好的在这里..
我已经通过最新的Ubuntu安装卷曲apt-get和工作正常,但是我一直在阅读有关的DNS查询的阻挡性质,并发现它减慢我的应用程序。
我做的apt-get安装的libc-ares2,但我不知道如何做一个查找时告诉卷曲使用该库。
我张贴了这个问题,但AskUbuntu被告知它可能是更好的在这里..
我认为AskUbuntu所想,这是一个程序问题,不是配置问题。 您可以通过您获取的二进制apt-get
命令没有用的libc-ares2编译(作为一个外部库或链接库)。 当您获取libc-ares2
你有你的计算机在那里可以建立你想要的卷曲版本的点从源代码 ,但现在真正的工作已经开始。
通常你会下载源代码,查找一个名为README或安装。 这将(希望)谈论具有类似于线一步./configure
。 从这里你可以指定编译时间选项。 这也有可能是为卷曲make文件可以自动检测存在libc-ares2
并将其包括在它的构建。
但是考虑看看最新的源代码版本,而没有INSTALL
文件有一个configure
脚本。 看看它的来源有这样一行:
--enable-ares[=PATH] Enable c-ares for DNS lookups
如果您从源文件夹下面的命令:
./configure --enable-ares && make && sudo make install
然后,你必须在得到你想要的卷曲构建了一枪。 有可能很可能很多与其他缺少库或缺少品牌和海湾合作委员会的错误消息。 这将是很难在这个答案来解决。
这里是一个网页 ,讨论您完成这些步骤上卷曲的项目主页
如果你想安装的.deb
而不是把一切都包/usr/local
,这样做:
sudo apt-get build-dep curl
sudo apt-get install libc-ares-dev build-essential
apt-get source curl
cd curl-*
这将下载curl
源在Debian / Ubuntu的构建文件和补丁。
编辑文件debian/control
:添加行libc-ares-dev
到Build-Depends
编辑文件debian/rules
:去掉--enable-threaded-resolver
,并添加--enable-ares
到CONFIGURE_ARGS
可选:在第一线增加版本号debian/changelog
,例如7.38.0-4+deb8u5
到7.38.0-4+deb8u6
,这样,当您安装更新到系统程序包将不会被覆盖。
现在运行命令
dpkg-buildpackage -us -uc -b -j4
在编译时间过长后会产生一些.deb软件包,请喝咖啡什么是编译时。
您可以安装新的curl
与c-ares
使用此命令的支持:
cd ..
sudo dpkg -i curl_*.deb libcurl3_*.deb libcurl4-openssl-dev*.deb
您需要单独安装顷。 您可以下载它在这里 。 下载完成后,建立C-顷(其中当前工作目录是 “C-战神 - $ {VERSION}”):
cd /path/to/c-ares-${VERSION}
./configure --prefix=/destination/path/for/ares/install (NOTE: if you specify a destination directory, it must exist already! If you don't specify a prefix, content should be install at location /usr/local/include/)
make
make install
按照此
现在,战神建成后,你可以建立使用libcurl的战神。 我不得不引用顷的问题,所以我不得不战神源直接复制到libcurl的。 要做到这一点,从配置战神“阿瑞斯”重命名通过“make install”命令创建的“包括”目录。 然后,这个目录复制到libcurl中的根目录。 现在,您可以建立一个与战神选项的libcurl(其中当前工作目录是libcurl中):
cd /path/to/libcurl
./configure --enable-ares
完整的示例:
cd /User/${USER}/c-ares-1.10.0
mkdir installation
make clean
./configure --prefix=/User/${USER}/c-ares-1.10.0/installation
make
make install
mv installation/include installation/ares
cp installation/ares /User/${USER}/libcurl/
cd /User/${USER}/libcurl/
./configure --enable-ares
make
make install
编辑(2015年6月30日):
要知道,如果你是交叉编译libcurl中,你需要交叉编译的C-顷用相同的交叉编译器设置(--host选项)。
希望这可以帮助!