[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 是哪个脚本在dpkg-buildpackage过程中确定了deb包的依赖关系?



你有些关于 Debian packaging 的基本概念还没有搞清楚,另外我对你的问题也没
有完全读懂。

On Sun, Mar 04, 2007 at 04:03:48PM +0800, Vern Sun wrote:
> 然后我用dpkg -S检查发现libgdk_pixbuf-2.0.so.0依赖了单机环境中的那个库,
> 而我需要它连接的是/usr/gtkdfb/lib目录下的那个库。我怀疑是
> LD_LIBRARY_PATH的问题,但是我在终端export
> LD_LIBRARY_PATH=/usr/gtkdfb/lib && export
> PKG_CONFIG_PATH=$LD_LIBRARY_PATH/pkgconfig之后重新dpkg-buildpackage,
> 创建得到的deb包的依赖关系仍然有问题。我不知道LD_LIBRARY_PATH在
> dpkg-buildpackage的过程中是否起作用,从结果来看,我想是没用的,但我又
> 不知道怎样才能让dpkg-buildpackage连接上我需要的库。

dpkg-buildpackage 是用来从源代码包 (source package) build 二进制包
(binary package) 的命令,和动态链接库没什么直接关系。比如即使是只有一个
perl script 的包,也可以用 dpkg-buildpackage 命令来 build。

具体决定依赖关系的是两个步骤:一是你的 shared object 文件要求哪些动态库
(即你用 ldd 看到的结果);这个是由你的软件的 build 系统 (比如 Makefile) 
决定的。二是由要求的动态库得到需要的软件包名称,和你 debian/rules 里用的
Debian packaging 系统有关;如果用 debhelper 的话,是用的 dh_shlibdeps 这
个命令;但不管用什么,最后都应该是调用 dpkg-shlibdeps 这个命令来计算依赖
关系。

你的问题的解决办法,和许多其它你没有说明的情况有关,我就不瞎猜了。

Ming
2007.03.05



Reply to: