首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从*.tar.gz的存储库下载库或安装库更好的方法是

从*.tar.gz的存储库下载库或安装库更好的方法是
EN

Stack Overflow用户
提问于 2010-08-28 12:05:06
回答 4查看 189关注 0票数 1

gcc 4.4.4 c89 Fedora 13

我想知道还有什么更好。为您提供示例的编译: apache运行时可移植性和log4c。

我的fedora存储库中的apr版本是1.3.9。apr网站上的最新稳定版本是1.4.2。

问题

  1. 会更好地从网站下载并安装,或者使用yum?
  2. 安装当您从yum安装时,有时它可以将东西放在许多目录中。当从tarball安装时,您可以将包含和库放在您想要的地方。
  3. log4c的版本是相同的,因为这是一个旧项目。
  4. I使用yum下载了log4c。我将所有包含和库复制到我的开发项目目录中。

代码语言:javascript
复制
project_name/tools/log4c/inc
project_name/tools/log4c/libs

但是,我注意到我必须在/usr/include目录中查找一些头。

非常感谢你的建议,

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-28 16:31:10

我通常使用我的发行版提供的包,如果它们的版本足够新的话。这有两个原因:

1)如果发现旧包中的安全漏洞,会有人确保我得到了新的包。

2)它节省了我的时间。

当我设置一个开发项目时,我从不创建自己的include/lib目录,除非项目本身是我放在那里的相关文件的授权源。

我使用pkg-config来提供必要库的位置,并将文件包含到我的编译器中。pkg-config使用一些..pc文件作为信息的来源,这些文件由为您的发行版创建包的相同人员维护。有些库提供的不是这个文件,而是另一个‘-config’-脚本。我将提供两个例子:

我没有运行Fedora 13,但是Ubuntu10.04上的一个例子是;

*)安装liblog4c-dev

*)命令"log4c-config -libs“返回”L/usr/lib -llog4c“.

*)命令"log4c-config --c阻击“返回-i/usr/include”

对于使用pkg-config的示例(我将使用SDL作为示例):

*)安装libsdl1.2-dev

*)命令"pkg-config sdl -libs“返回"-lSDL”。

*)命令"pkg-config sdl -c之旗“返回"-D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL”。

..。因此,即使另一个发行版决定将事物放置在不同的路径上,也有一些脚本应该为您提供一个可靠的解决方案--这样就可以在大多数发行版上构建东西。Autotools (automake、autoconf等)和cmake对于确保您不必处理这些问题非常有帮助。

票数 1
EN

Stack Overflow用户

发布于 2010-08-28 12:16:02

如果您的发行版包存储库中的版本是最近的,那么只需使用它即可。

优点是通过发行版自动更新,安装简单快捷(包括依赖项的自动获取和安装!)和轻松移除包裹。

如果您自己从.tar.gz安装了一些东西,那么您必须使用自己的发行版--跟踪安全问题和bug。

使用分发包,您也可以关注安全问题,但是分发程序为您做了很多工作(比如开发补丁、重新打包、测试和捕获重要的东西)。当然,每个发行商都有一个策略,如何为不同的包存储库处理不同类别的问题。但是有了你自己的.tar.gz安装,你就什么都没有了。

票数 4
EN

Stack Overflow用户

发布于 2010-08-28 12:20:28

我想这是个古老的问题。在所有Linux发行版上都是一样的。

这个包是由某个人创造的--那个人对东西应该去哪里有自己的看法。您可能不同意--但是通过使用包,可以避免查找编译和安装软件所需的所有依赖项。

因此,为了完全控制:滚动您自己-但要为可能的工作做好准备,否则使用包。

我的观点是:在不可能这样做之前使用包(冲突、所需的编译参数)。我宁愿花时间让软件为我工作,也不愿花时间编译。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3590675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档