再吐槽 linux 的版本依赖

2015-06-24 14:53:28 +08:00
 cxshun
今天早上,由于维护docker环境 ,要安装一个叫Image magick的图片处理工具,这家伙最新版本为6.9.1-6,在安装它之前需要先装delegates,即类似的第三方处理工具,由它去处理png,jpeg等等的啥东西。
就是这一堆东西: http://www.imagemagick.org/download/delegates/

在这个Image magick上花了接近大半天的时间,主要是configure时死活认不出libpng,但实际上已经装完了。
后来实在没办法,硬是换回了旧版本6.9.1-1完事。

有时候,我会想,这些源代码编译软件的存在,就是为了折磨我们吗?这版本依赖的存在,相比windows和mac的一个包搞定的,简直是坑爹得不行。

遇到这样一种源代码安装,并且版本依赖非常强的软件,你们的看法是怎样的?

PS:曾经遇到过一个需要源码编译的软件,它依赖的软件,相关0.0.1都编不过,从那个时候开始,遇到需要编译安装的软件,我就觉得好日子好像又到头了。
PS2:不要说apt-get和yum哈,那两个家伙确实不错,但问题是很多源代码安装的软件不在那里面啊。
13245 次点击
所在节点    程序员
104 条回复
Kabie
2015-06-24 14:57:23 +08:00
pacman aur
Kabie
2015-06-24 14:58:15 +08:00
自从用了Arch。。。再也不用担心安装从源码编译的软件了。。。
EPr2hh6LADQWqRVH
2015-06-24 15:00:36 +08:00
非也非也。。
吐槽姿势不对,乱吐一气。。
lingo233
2015-06-24 15:00:51 +08:00
我就知道会有人安利arch,虽然我也用>_<
linhua
2015-06-24 15:04:26 +08:00
lichao
2015-06-24 15:07:37 +08:00
“但问题是很多源代码安装的软件不在那里面啊”,

但是 Image magick 明明就在那里面啊!!
Tiande
2015-06-24 15:08:00 +08:00
@lingo233
@linhua
@Kabie

Debian 用户表示静静地看你们歪楼 )
ivenvd
2015-06-24 15:10:38 +08:00
自从用了 Arch,基本上没手动运行过 ./configure 了。
cxshun
2015-06-24 15:11:33 +08:00
@lichao 好吧,其实是我自己做死。这个例子举得不大对。总有些没在apt-get和yum里面的。
@Kabie
@lingo233
@linhua Arch很赞,好吧,我承认我只在虚拟机里面安装过。
@avastms 好吧,囧,我换个姿势来一下。
@dtdnqsb 你错了,兄弟,我的docker就是Debian哈。
Tiande
2015-06-24 15:19:18 +08:00
我觉得是因为 linux 用户的 cpu 架构等等更乱而杂,编译安装普世性更高。

如果全世界的机器配置都一样 ,就不会出现楼主你讨厌的问题了。

歪楼是指,评论正演变成 发行版 之战。hh
Havee
2015-06-24 15:21:11 +08:00
source distribution,有 BSD 的 ports,有 Gentoo 的 portage,人家都帮你处理好了依赖关系,犯不着自己去处理。

至于 binary distribution,确实没有很好的多版本共存包管理器,不过 Archlinux 的 abs 系统还是不错的,譬如衍生出的 aur,pkgbuild 脚本自己编辑编辑,无非就是 configure、instal 路径罢了。

个人观点,犯不着去自己编译,要自己编译的教程都是流氓,除非背后有一个团队在维护着,要信任发行版的包管理器。
Havee
2015-06-24 15:22:13 +08:00
就算源里没有,也应该至少打包一下,而不是粗暴的 make install
timi
2015-06-24 15:24:01 +08:00
解决的方案是:能在windwos上完成的工作就在windows上完成。
FrankFang128
2015-06-24 15:26:01 +08:00
看看 Mac OS X,冗余打包,多好。
neoblackcap
2015-06-24 15:26:45 +08:00
@cxshun 源代码是给你改的,不是为了分发的。
neoblackcap
2015-06-24 15:29:36 +08:00
@Havee 楼主在docker里面搞,这就算了,反正按照docker的规范,一个容器就一个进程而已,犯不着打包之类的,若是有问题就干掉容器重来就好了
zsj950618
2015-06-24 15:30:58 +08:00
> 主要是configure时死活认不出libpng,但实际上已经装完了。

你只是 autoconf 玩不转而已,又何必扯到 linux 版本依赖。
cxshun
2015-06-24 15:34:25 +08:00
@neoblackcap 问题是别人没有deb包啊,我怎么办。apt-get的版本又不对。
@Havee 好吧,有些团队就是这么坑爹啊。
@FrankFang128 是啊,虽然包大一点,但起码不会这么麻烦。
@timi 现在越来越同意这个了。或者在mac上,linux就做服务器用用就好了。
@dtdnqsb 哦,这样啊,按现在情况暂时还不会哈。其实最主要的问题还是linux太分裂了。
Septembers
2015-06-24 15:39:29 +08:00
@zsj950618 最蛋疼的不是版本依赖而是版本锁定
Septembers
2015-06-24 15:40:33 +08:00
@zsj950618 依赖锁死 就真的很蛋疼了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/200802

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX