首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从源编译Gnash失败的原因是giflib更新-替代品?

从源编译Gnash失败的原因是giflib更新-替代品?
EN

Stack Overflow用户
提问于 2014-07-22 11:45:12
回答 2查看 307关注 0票数 2

根据提交给这里的bug报告,Gnash将不会使用最新的giflib进行编译。我想这意味着如果我使用一个旧的giflib,它会编译得很好。但是,我不知道如何做到这一点--我的包管理器(我在Manjaro上,可以访问AUR)在这里似乎没有帮助,而且我也不确定在这种情况下我需要修改什么或者做什么。

基本上,在我从Savannah获得Gnash的代码之后,我需要做什么/更改才能让它使用旧的giflib编译呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-24 23:19:56

如果您还没有看到它,就像雷德尔笔记一样,已经有了对有关错误报告的解决方法的请求的答复本身。

这当然是一个更快的解决方案,尽管在您的系统上拥有两个版本(或者仅仅是旧版本的、正在工作的) GifLib库没有什么问题。

要做到这一点,您可以使用在这里下载GifLib v4.2.3,它是一个旧版本,它的版本要比打破“咬牙切齿”编译的更改更早。

或者将它放在不同的目录中(您可能在/usr/local/lib中有v5.1吗?)并更改包含/链接器路径或就地替换v5.1文件,您根本不需要更改编译步骤。

我自己也尝试过同样的步骤,我无法复制你的错误。

除了sudo apt-get install-ing之外,还有许多包(它们不是造成您的麻烦的原因--而且在每一步我都被告知丢失了什么),这是我在进行新安装时的步骤:

代码语言:javascript
复制
$ git clone git://git.sv.gnu.org/gnash.git
$ curl http://sourceforge.net/projects/giflib/files/giflib-4.x/giflib-4.2.3.tar.bz2/download
$ tar xvjf giflib-4.2.3.tar.bz2
$ cd giflib-4.2.3
$ ./configure
$ sudo make
$ sudo make install
$ cd ../gnash
$ ./autogen.sh
$ ./configure.ac
$ sudo make
$ sudo make install

我建议您重新开始,因为这些步骤为我解决了所有问题--无需手动移动文件、指定编译器/链接器选项或编辑makefile,这似乎会给您带来问题。

票数 3
EN

Stack Overflow用户

发布于 2014-07-30 12:50:56

我刚查了一下你发的错误报告。还有一个解决办法:

作为解决办法,您可以更改libbase/GnashImageGif.cpp文件的123行,如下所示:

代码语言:javascript
复制
GifInput::~GifInput()
{
// Clean up allocated data.
- DGifCloseFile(_gif);
+ DGifCloseFile(_gif, 0);
} 

编辑:根据我的经验,最好是实践应用补丁。如果您使用旧版本的giflib,您将错过更新版本中的任何更改。而这些变化大多是为了好,修复错误,优化等等。

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

https://stackoverflow.com/questions/24886517

复制
相关文章

相似问题

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