我刚刚克隆了最新的 varnish git-repository 来尝试应用增强功能(来自 git://github.com/varnish/Varnish-Cache.git)
网站上列出的所有依赖项都已安装。
我运行以下命令:
./autogen.sh
-> 运行正常
./configure
-> 也很好用
make
-> 失败并出现以下错误:
creating libvmod_std.la
(cd .libs && rm -f libvmod_std.la && ln -s ../libvmod_std.la libvmod_std.la)
========================================
You need rst2man installed to make dist
========================================
make[3]: *** [vmod_std.3] Error 1
make[3]: Leaving directory `/tmp/varnish-cache/lib/libvmod_std'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/varnish-cache/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/varnish-cache'
make: *** [all] Error 2
我尝试安装 rst2man,但由于它是一个虚拟包,因此无法找到它?:
apt-get install rst2man
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package rst2man
然后我尝试安装 python-docutils,但问题也未能解决。
任何帮助,将不胜感激!
提前致谢...
编辑:
阅读答案后我运行的命令:
我重新启动了(第一个 git clone 现在消失了,因为它位于 /tmp 目录中)
cd /usr/share/
git clone git://github.com/varnish/Varnish-Cache.git
apt-get install python-docutils
./autogen.sh
./configure
make
=> 同样的错误 ;)
答案1
成功安装 python-docutils 后,请确保清理 varnish sourcetree 配置缓存,然后再次运行 configure。然后 make 就会得到他所需要的东西(也就是 rst2man 程序)
做了一个测试。在没有 rst2man 的情况下运行 configure/make,出现错误。安装 python-docutils 之后,我再次运行 configure,一切正常,片段:
eu-we1:~/tmp/Varnish-Cache# ./configure |grep rst
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for rst2man... rst2man
checking for rst2html... rst2html
configure: WARNING: libedit not found, disabling libedit support
configure: WARNING: won't look for sendfile() on i686-pc-linux-gnu
make 运行正常,退出代码 = 0 我猜你只需要确保 rst2man 和 rst2html(不确定)被 configure 脚本找到。我使用 varnish git clone 进行了验证。