|
发表于 2006-9-7 22:37:44
|
显示全部楼层
[quote:05f218cfb5="linuxpgy"]1.不管是一个或几十个dll,只要是你程序需要的,而且你又不能确定目标系统肯定有的,你就必须带上,这是对用户的负责!linux的rpm包,除了带自己写so,用到的其他人的so一个不带,让用户自己去找去吧!!
2.更新kde,就需要把上面的软件重新编译?我没做过,不知道是什么原因~~也许是你的设置有问题,比如库收索路径等等~~还有你说不能用的出错信息是什么?
3.正是因为更新不能完全同时,所以才需要自带库啊!!!!VC7编译的软件基本都自带msvcrt7.dll,不然根本无法运行,因为系统中只有msvcrt6.dll!!
4.我说它的目的是告诉大家可以不用root权限来打包rpm,就这样,understand?[/quote]
关于第一个问题,linux的rpm包,各大基于rpm的发行版的官方的rpm都有特定对应的系统,比如for rh9 fr1 fr5等等,你要你满足了依赖关系,一般不会有问题,但是如果你把不同发行版之间的rpm互用,满足不了其他的so,那不关发行版本身的问题。
2,更新一个软件,可能很多联带的软件都需要更新,很多接口都不同,你编译的时候都会出现 undefined symbol......., 或者undefined defination....,如果直接用不同发行版之间的rpm,用的时候就更不用说了。你没做过,说明你自己软件安装升级之类的经验还需要累积。
3,自带库没有问题阿,你打包时候每个包都用自带库,系统会增大多少? 此其一,另外你如何自带库,带多少库,你只会打包,不是开发者的话,你如何知道到底需要用什么样的库,你怎么在打包的source中把所有的库添加,你从源码安装,configure make make install, configure 会告诉你缺什么软件,但你知道添加该软件的什么库么?你找到了一个so,你知道这个so又会需要多少系统原有的什么样库呢?
4, 非root当然可以打包,可以简单创建一个环境,但是有些命令有可能仍然需要
root权限,我做过这样的包
“用rpm制作跨发行版的安装包”首先 static 包会引来很多问题。 在你想这个问题之前,我相信很多人都想过这个问题,不同的发行版配置,路径都不完全相同,打包rpm不只是一个简单的程序那么简单,很多设置都是rpm包完成的,谁能打出一个包配置所有不同的发行版???,不同的发行版谁都不能保证自己什么时候升级,用的基础库都不一样,如何知道哪个发行版带了什么样的库,一个rpm能把需要的整个系统的库都带全么?? |
|