<强>背景

最近,我遇到了 fuppes UPnP媒体服务器和它似乎很大。我安装了它在我的主服务器上,并用它来视频传输至我的Xbox开始。它的工作真的非常好,我很高兴。然后我升级我的服务器分布和fuppes停止工作;现在我知道,这是因为各个库已大幅贬值,最具体的Debian已经开始滴加.la libtool的文件从其大部分包的。

<强>问题/问题

所以我的问题是,我现在该如何建立fuppes,我没有为这些的libtool文件.la?更具体地,这是我的确切的错误消息:

/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文件的编制?

N.B。这是所有在Ubuntu业报考拉

有帮助吗?

解决方案

我认为Debian的不断下降的.la文件,因为它可以在您正在为32位和64位导致的问题。如果libtool的找到.la文件,它把完整路径库的链接命令的坏习惯,而这有时是错误的库中(32位而不是64位,反之亦然)。在Solaris上,我不得不想的libtool联系起来,而不是/usr/lib/64/libintl.so /usr/lib/libintl.so的问题,都是因为它发现/usr/lib/libintl.la

您应该能够通过在mumble_LIBADD行指定-logg没有.la文件链接合适的Makefile.am内(替换“嗯嗯”你正在构建的包的名称)。如果由于某种原因链接器找不到库,你可以通过添加像这样指定它的路径:

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

但是,在本例中,我不得不相信/ usr / lib中是在对库的默认搜索路径。

要使用sed您的特定错误消息,我不知道为什么fuppes使用sed来找到/usr/lib/libogg.la,但是这可能希望通过适当的变化是固定的上游的libtool(如在的autoconf或automake的)。我猜想,有一个在“配置”的地方一个开关,这个问题(如--with-OGG什么的)帮助。运行“configure --help”,寻找一些线索那里。

其他提示

您应该不会需要的.la文件。你没有粘贴命令输出的重要组成部分 - 哪一步试图链接到libogg.la文件。我的猜测是libtool的,我的猜测是,升级你正在运行在您的源代码目录或VCS结账,无需重新运行autogen.sh或根据需要进行配置了。

在短,你不给足够的信息来帮助您进一步(你怎么fuppes?你是如何建立的?你是怎样尝试升级后建了吗?)。最有可能要么您忘记重新生成构建文件,或一些其它接头步骤在.la文件拉动和需要重新生成(例如,一个pkg配置文件)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top