LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: xep007

有人成功地静态编译过mplayer吗?

[复制链接]
发表于 2006-8-23 14:03:31 | 显示全部楼层
Post by xep007
对不起,再麻烦一下“种草得草”兄弟:
[color="Red"]用fetch-and-build下载i386的软件包,这一步该如何做?我解开ia32-libs,./fetch-and-build运行它,它只是下载一大堆软件,下载完后再用dpkg-buildpackage来打包吗?
[color="Red"]然后再把libs从/lib /usr/lib/复制到/lib32/ /usr/lib32 这一步是在64位的系统中做的吗?是把系统的/lib和/usr/lib复制到/lib32和/usr/lib32吗?这一步不解!



#BUILD=0 ./fetch-and-build
下载binary包。(这个脚本注释里面有说明)这样下载了i386已经打包好的deb包。

然后切换到debian的上层目录。
# dpkg-buildpackage

把library从一个地方移动到另一个地方是在debian/rules里面的脚本做了。执行dpkg-buildpackage的时候自动运行这个脚本了。

在debian里面是移动到/emul/ia32-linux/lib/ /emul/ia32-linux/usr/lib

这个是我那个时候打包了个ia32-libs-media,ubuntu/dapper里面已经有了好多ia32-libs-{gtk,kde,sdl.....}包,所以ia32-libs-media打包的东西比现在debian要打包的东西少了许多。
你参考一下。

PS:打包好了不要忘了给正在使用debian/sid amd64的兄弟分享一下啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-23 22:38:39 | 显示全部楼层
Post by 种草得草

#BUILD=0 ./fetch-and-build
下载binary包。(这个脚本注释里面有说明)这样下载了i386已经打包好的deb包。

然后切换到debian的上层目录。
# dpkg-buildpackage

把library从一个地方移动到另一个地方是在debian/rules里面的脚本做了。执行dpkg-buildpackage的时候自动运行这个脚本了。

在debian里面是移动到/emul/ia32-linux/lib/ /emul/ia32-linux/usr/lib

这个是我那个时候打包了个ia32-libs-media,ubuntu/dapper里面已经有了好多ia32-libs-{gtk,kde,sdl.....}包,所以ia32-libs-media打包的东西比现在debian要打包的东西少了许多。
你参考一下。

PS:打包好了不要忘了给正在使用debian/sid amd64的兄弟分享一下啊。



很感谢“种草得草”兄弟一直在指点。但是我基础差,有些地方还不太清楚,再麻烦一下,望不吝指教。
我整理了一下思路,您看看哪里错了。
1、在debian-amd64里:
(1)apt-get source ia32-libs
(2)解开ia32-libs
(3)先了解mplayer到底依赖哪些包,(这个也请告知如何知道mplaeyr到底依赖哪些包)把这些包文件名加到fetch-and-build文件中
(4)#BUILD=0 ./fetch-and-build下载fetch-and-build中列出的i386包。
(5)在ia32-libs的debian的上层目录中运行dpkg-buildpackage重建ia32-libs包
(6)sudo dpkg -i ia32-libs*.deb
2、在chroot中的debian/sid-i386系统中重编mplayer包,注意prefix=/emul/ia32-linux/usr
我的问题是在chroot的debian/sid-i386中编译出来的包是i386的,那怎样才能在debian-amd64系统中安装呢?
回复 支持 反对

使用道具 举报

发表于 2006-8-24 08:24:14 | 显示全部楼层
这个吧,你要是不会打包deb的话。我也没办法。你就等别人做好吧。
建议你先把debian policy,maint-guide-zh看一遍。(官方源里面的文档,直接apt)
Post by xep007
这个也请告知如何知道mplaeyr到底依赖哪些包
在mplayer的deb包的debian/control里面有。把ia32-libs已经安装的去掉。

在第四步和第五步间添一个“修改debian/control changelog rules等文件。”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-24 08:56:32 | 显示全部楼层
感谢"种草得草"兄弟!
我就是不懂得如何在I386系统中打一个可以在AMD64系统中安装的包.您能说一下吗?或者在maint-guide-zh中有讲解吗?debian policy好像都是英文的,我可是看不懂.
回复 支持 反对

使用道具 举报

发表于 2006-8-24 09:22:54 | 显示全部楼层
Post by xep007
感谢"种草得草"兄弟!
我就是不懂得如何在I386系统中打一个可以在AMD64系统中安装的包.您能说一下吗?或者在maint-guide-zh中有讲解吗?debian policy好像都是英文的,我可是看不懂.


简单点说就是复制过去。但是咱们做了一个deb包,方便复制和删除。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-25 12:26:15 | 显示全部楼层
能用了!我用了一个比较笨的方法。在终端运行mplayer,看它提示缺少什么文件就下载这个i386文件,然后dpkg -x *.deb . 接着进入解压后的文件夹,cd usr/lib,把lib里的文件都拷贝到/emul/ia32-linux/usr/lib中。好像只需要libatk1.0\libpango1.0\libglib2.0\libgtk2.0这几个文件。
回复 支持 反对

使用道具 举报

发表于 2006-8-25 13:05:18 | 显示全部楼层
Post by xep007
能用了!我用了一个比较笨的方法。在终端运行mplayer,看它提示缺少什么文件就下载这个i386文件,然后dpkg -x *.deb . 接着进入解压后的文件夹,cd usr/lib,把lib里的文件都拷贝到/emul/ia32-linux/usr/lib中。好像只需要libatk1.0\libpango1.0\libglib2.0\libgtk2.0这几个文件。


哈哈,那你就缺什么装什么吧。
PS:打死我我也不会把系统整这么乱的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-25 16:32:47 | 显示全部楼层
dpkg -x *.deb /emul/ia32-linux/
这是ia32-libs里的README.debian中说的方法。
回复 支持 反对

使用道具 举报

发表于 2006-8-25 16:52:41 | 显示全部楼层
Post by xep007
dpkg -x *.deb /emul/ia32-linux/
这是ia32-libs里的README.debian中说的方法。


写那个README.debian的人水平还不如你呢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-25 18:41:41 | 显示全部楼层
“种草得草”兄弟,我可是很尊重你的啊。
我30好几的人了,喜欢LINUX,可是不懂英语,所以才不断到处请教,这可没什么错啊。我的要求不高,只要能用就行。
呵呵,如果兄弟有空,可以把ia32-libs和mplayer重新打包,让我们分享一下啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表