gpt4 book ai didi

ubuntu - Debian 放弃了对 .la 文件的支持;我现在如何构建?

转载 作者:行者123 更新时间:2023-12-04 18:42:22 25 4
gpt4 key购买 nike

背景

我最近遇到了fuppes UPnP media server看起来很棒。我将它安装在我的家庭服务器上并开始使用它将视频流式传输到我的 Xbox。它工作得非常好,我很满意。然后我升级了我的服务器分发和 fuppes 停止工作;我现在知道这是因为各种库已经贬值了,尤其是 debian has started dropping the .la libtool files from the majority of their packages .

问题/问题

所以我的问题是,既然我没有那些用于 libtool 的 .la 文件,我该如何构建 fuppes?更具体地说,这是我的确切错误消息:

/bin/sed: can't read /usr/lib/libogg.la: No such file or directory
libtool: link: `/usr/lib/libogg.la' is not a valid libtool archive

我没有/usr/lib/libogg.la 文件了。这从终端证明了这一点:
# dpkg -L libogg-dev | grep "a$"
/usr/lib/libogg.a
#

我只需要指出正确的方向。我已经阅读了 libtool-automake 文档,但我仍然缺少告诉我如何编译的信息,因为我不再有 libogg.la 了。简而言之,在没有 .la 文件的情况下如何编译?

注:这一切都在 Ubuntu Karmic Koala 上

最佳答案

我相信 Debian 一直在删除 .la 文件,因为当您为 32 位和 64 位构建时,它可能会导致问题。如果 libtool 找到一个 .la 文件,它有一个讨厌的习惯,就是将库的完整路径放在链接命令中,这有时是错误的库(32 位而不是 64 位,反之亦然)。在 Solaris 上,我遇到了 libtool 想要链接/usr/lib/libintl.so 而不是/usr/lib/64/libintl.so 的问题,这一切都是因为它找到了/usr/lib/libintl.la

通过在适当的 Makefile.am 中的 mumble_LIBADD 行上指定 -logg(将“mumble”替换为您正在构建的包的名称),您应该能够在没有 .la 文件的情况下进行链接。如果由于某种原因链接器找不到库,您可以通过添加如下内容来指定它的路径:

mumble_LDFLAGS = -R/usr/lib -L/usr/lib

但是在这个例子中,我必须相信/usr/lib 是在库的默认搜索路径中。

对于您使用 sed 的特定错误消息,我不知道为什么 fuppes 使用 sed 来查找/usr/lib/libogg.la,但这可能会通过 libtool 上游的适当更改(例如在 autoconf 或 automake 中)来解决。我怀疑“配置”中的某个地方有一个有助于解决这个问题的开关(比如 --with-ogg 或其他东西)。运行“configure --help”并在那里寻找一些提示。

关于ubuntu - Debian 放弃了对 .la 文件的支持;我现在如何构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1664921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com