代码之家  ›  专栏  ›  技术社区  ›  mat3001

swftools不在Linux 32位上编译

  •  0
  • mat3001  · 技术社区  · 14 年前

    在试图编译swftools-0.9.1或EC2小实例(仅32位)上的当前源时,出现以下错误:

    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)的支持?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Nick Soracco    14 年前

    我在Fedora14下编译时遇到了同样的错误。

    当我查看构建树根目录下的config.log文件时,看到以下错误:

    “加载共享库时出错:libpdf.so.6:无法启用可执行堆栈,因为共享对象需要:权限被拒绝”

    这让我想到了这条线索: http://permalink.gmane.org/gmane.comp.tools.swftools.general/1452 (我也用我的解决方案回答了。)

    可悲的是,除了有人能够成功地建造它之外,没有人有任何真正的答案。。

    我要做的是:

    sudo setsbool允许执行堆栈打开

    一切都很好,完全消除了这个错误。

    但是,另一个解决方案是,您可能只是缺少一个devel库,比如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中的“error”,并尝试解析任何未完成的条目。尤其是那些从ld回来的。

        2
  •  1
  •   Eemu B    12 年前

    我也有同样的问题。我只是运行下面的命令,然后编译,没有任何问题。。

    sudo yum install libjpeg-devel giflib-devel freetype-devel zlib-devel jpeglib-devel libpng-devel giflib-devel pdflib-lite-devel freetype-devel fontconfig-devel
    
        3
  •  0
  •   Janak Nirmal Biju    12 年前

    确保你遵循了 steps here

    我也有同样的问题和确切的错误。我试图从源代码中安装jpeglib,但它没有被swftools配置脚本检测到,这有点烦人,并给出了以下输出- *缺少以下头/库:ungif freetype gif_lib.h *禁用pdf2swf工具 *禁用gif2swf工具

    我还遵循了swftools安装中提到的步骤(http://wiki.swftools.org/index.php?title=安装)但没有成功。然后我使用yum安装了libjpeg-devel、giflib-devel和freetype-devel包 mentioned here 然后./configure在不禁用pdf2swf工具和gif2swf工具的情况下执行。最后,我运行make&it,得到了您在上面附加的确切错误。所以我在jpeglib提取的源目录中运行make clean和make uninstall命令,最后在swftools目录中运行make。它没有出错。。。