swftools 无法在 Linux 32 位上编译
当尝试在 EC2 小型实例(仅 32 位)上编译 swftools-0.9.1 或当前源时,出现以下错误:
make[1]: Entering directory `/home/ubuntu/src/swftools-2010-10-12-2000/lib'
gcc -c -DHAVE_CONFIG_H -I/usr/include/freetype2 -fPIC -Wimplicit -Wreturn-type -Wno-write-strings -Wformat -O -fomit-frame-pointer modules/swfaction.c -o modules/swfaction.o
In file included from modules/.././bitio.h:23,
from modules/../rfxswf.h:37,
from modules/swfaction.c:24:
modules/.././types.h:39:2: error: #error "no way to define 64 bit integer"
modules/.././types.h:42:2: error: #error "don't know how to define 32 bit integer"
modules/.././types.h:45:2: error: #error "don't know how to define 16 bit integer"
modules/.././types.h:48:2: error: #error "don't know how to define 8 bit integer"
make[1]: *** [modules/swfaction.o] Error 1
是否删除了对不支持 64 位的 Linux(ubuntu) 的支持?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当我尝试在 Fedora 14 下编译它时,我遇到了完全相同的错误。
当我查看构建树根目录中的 config.log 文件时,我看到以下错误:
“加载共享库时出错:libpdf.so。 6:无法启用可执行堆栈,因为共享对象需要:权限被拒绝”
这导致我看到这个线程:http://permalink.gmane.org/gmane.comp.tools.swftools.general/1452(我也在那里回复了我的解决方案。)
可悲的是,那里没有人有任何真正的 解决方案也有答案,保存有人能够成功构建它。
我要做的是:
sudo seteboolallow_execstack on
并且构建得很好,完全消除了该错误。
然而,另一个解决方案是您可能只是缺少一个开发库,例如 FreeType 标头,因为我认为 Ubuntu 不使用 SELinux。 (虽然我可能是错的)
为了记录,这里是我的 32 位 Fedora 机器上的开发标头,其中编译良好:
zlib-devel、jpeglib-turbo-devel(Fedora 14 特定的库,但 jpeglib-devel 应该可以工作)在其他发行版中)、libpng-devel、giflib-devel、pdflib-lite-devel、freetype-devel、fontconfig-devel
最后,我使用的是 swftools-0.9.1(撰写本文时最新稳定版)。我的建议是查看 config.log 文件并 grep 查找“错误”,并尝试解决任何未完成的条目。尤其是从ld回来的。
I ran into the exact same error when trying to compile it under Fedora 14.
When I looked at the config.log file in the root of the build tree, I saw the following error:
"error while loading shared libraries: libpdf.so.6: cannot enable executable stack as shared object requires: Permission denied"
Which lead me to this thread: http://permalink.gmane.org/gmane.comp.tools.swftools.general/1452 (I've replied with my solution there as well.)
Sadly, no one there had any real answers as well, save that someone was able to build it successfully..
What I had to do is:
sudo setsebool allow_execstack on
And things built just fine, eliminating that error entirely.
However, the other solution is that you may simply be missing a devel library, such as the FreeType headers, since I don't think Ubuntu uses SELinux. (Though I could be wrong)
For the record, here's the development headers I have on my 32 bit Fedora box where this compiles fine:
zlib-devel, jpeglib-turbo-devel (a Fedora 14 specific lib, but jpeglib-devel should work in other distros), libpng-devel, giflib-devel, pdflib-lite-devel, freetype-devel, fontconfig-devel
Lastly, I'm using swftools-0.9.1 (latest stable at the time of this writing). My advice would be to look at the config.log file and grep for 'error' and try to resolve any outstanding entries. Especially ones returned from ld.
我确实有完全相同的问题。我只是运行以下命令,然后编译没有任何问题。
I did have exactly same problem. I just run following command and after that compiled without any problems..
确保您遵循 此处的步骤
我也遇到了同样的问题和确切的错误。我尝试从源代码安装 jpeglib ,这有点烦人,因为它没有被 swftools 配置脚本检测到并给出以下输出 -
* 缺少以下标头/库:ungif freetype gif_lib.h
* 禁用 pdf2swf 工具...
* 禁用 gif2swf 工具...
我还按照 swftools 安装 (http://wiki.swftools.org/index.php?title=Installation) 中提到的步骤进行操作,但没有成功。然后我使用 yum 安装了 libjpeg-devel、giflib-devel、freetype-devel 软件包,这是 这里提到
然后在不禁用 pdf2swf 工具和 gif2swf 工具的情况下执行 ./configure。最后我运行了 make &它给出了您上面附加的确切错误。所以我在 jpeglib 提取的源目录中运行 make clean 和 make uninstall 命令,最后在 swftools 目录中运行 make 。它工作没有错误......
Make sure you followed the steps here
I also had the same problem and the exact error. I tried to install jpeglib from the source code and it was little annoying bcos it is not detecting by swftools configure script and given following output -
* The following headers/libraries are missing: ungif freetype gif_lib.h
* Disabling pdf2swf tool…
* Disabling gif2swf tool…
Also I followed the steps mentioned in swftools installation (http://wiki.swftools.org/index.php?title=Installation) but didn’t work. Then I installed the libjpeg-devel, giflib-devel, freetype-devel packages using yum which was mentioned here
Then ./configure executed without disabling the pdf2swf tool and gif2swf tool. Finally I ran make & it was given the exact error you attached above. So I ran make clean and make uninstall commands in jpeglib extracted source directory and finally ran make in swftools directory. It worked with no errors...