问题描述
我正在编译一个 deb 包,当我运行 dpkg-buildpackage 时,我得到:
I'm compiling a deb package and when I run dpkg-buildpackage I get:
dpkg-shlibdeps: error: no dependency information found for /usr/local/lib/libopencv_highgui.so.2.3
...
make: *** [binary-arch] Error 2
这是因为我手动安装了依赖项.我知道如果我安装依赖项(或使用 checkinstall),问题就会得到解决,而且我还是想生成包,因为我对依赖项检查不感兴趣.我知道我可以给 dpkg-shlibdeps 选项 --ignore-missing-info
如果找不到依赖信息,它可以防止失败.但我不知道如何将此选项传递给 dpkg-shlibdeps,因为我正在使用 dpkg-buildpackage 并且 dpkg-buildpackage 调用 dpkg-shlibdeps ...
This happens because I installed the dependency manually. I know that the problem will be fixed if I install the dependency (or use checkinstall), and I want to generate the package anyway because I'm not interested on dependency checking. I know that I can give to dpkg-shlibdeps the option --ignore-missing-info
which prevents a fail if dependency information can't be found. But I don't know how to pass this option to dpkg-shlibdeps since I'm using dpkg-buildpackage and dpkg-buildpackage calls dpkg-shlibdeps...
我已经试过了:
sudo dpkg-buildpackage -rfakeroot -d -B
还有:
export DEB_DH_MAKESHLIBS_ARG=--ignore-missing-info
作为根用户.
有什么想法吗?
推荐答案
使用:
override_dh_shlibdeps:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
如果您的规则文件中没有 dh_shlibdeps 调用.如果你已经
if your rule file hasn't the dh_shlibdeps call in it. That's usually the case if you've
%:
dh $@
作为唯一的规则...在上面,您必须在 dh_shlibdeps 前面使用制表符而不是空格
as only rule in it ... in above you must use a tab and not spaces in front of the dh_shlibdeps
这篇关于dpkg-shlibdeps: 错误: 没有找到依赖信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!