Debian的下降对.la文件的支持;我现在该如何打造?
题
<强>背景强>
最近,我遇到了 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配置文件)。