日期:2014-05-16  浏览次数:20658 次

ubuntu服务器上安装swftools出错
我要做一个类似百度文库那样的文档预览的功能。通过openoffice,swftools最终将文档转为swf后用flash播放。
我在windows上开发好了,运行正常。现在要部署到linux服务器上去。在服务器上openoffice已经安装成功,但是安装swftools的时候就出现问题了。

ubuntu系统版本是11.10的
服务器是x86 64位的

我在swftools官网上下载的最新的0.9.1版本,
解压之后./configure正常

make的时候出现如下错误
jpeg.c:463: error: conflicting types for ‘jpeg_load_from_mem’
jpeg.h:15: error: previous declaration of ‘jpeg_load_from_mem’ was here
make[1]: *** [jpeg.o] Error 1
根据网上搜到的方法修改 jpeg.c 的 463行后继续make

之前的错误没了,但是出现新的错误,如下:
../lib/libgfx.a(gfxfont.o): In function `gfxfont_free':
gfxfont.c:(.text+0x56): undefined reference to `glyph_clear'
collect2: ld returned 1 exit status
make[1]: *** [swfrender] Error 1
make[1]: Leaving directory `/home/fz/swftools-0.9.1/src'
make: *** [all] Error 2
然后再根据网上搜的方法sudo yum install freetype-devel
提示没有freetype-devel这个包。

我在google上找到很多swftools安装出错的帖子,但都是你抄我的,我抄你的,
我总结了一下,就是三种解决办法,如下:
1,在sources.list里面加入deb http://cz.archive.ubuntu.com/ubuntu karmic main universe这个源
然后 sudo apt-get install swftools。(我尝试后的结果是apt-get update的时候提示找不到这个源地址)
2,sudo yum install freetype-devel 解决make的时候出错。(我尝试的结果是找不到freetype-devel)
3,在centOS5.2上安装之后再拷贝到ubuntu机器上来。(但是我没有centeOS的系统机器)

网上关于这个的帖子很多,但是互相抄来抄去就是上面说的三种办法。至于他们行不行的通,反正我是行不通的。
而且我也换过很多源,结果还是一样的。

望哪位大侠能真正帮我解决这个问题,小弟我不胜感激啊。

------解决方案--------------------
1.安装g++(如果没有安装)
sudo apt-get install g++
2.下载swftools的源码tar包swftools-0.9.1.tar.gz及依赖的tar包freetype-2.4.3.tar.gz、jpegsrc.v8b.tar.gz
http://www.swftools.org/download.html
http://download.savannah.gnu.org/releases/freetype/freetype-2.4.3.tar.gz
http://www.ijg.org/files/jpegsrc.v8b.tar.gz
另外,还需要安装zlib(如果没有安装),sudo apt-get install zlib1g-dev

3.分别编译及安装freetype和jpeg,具体方法是进入到解压的目录下,分别执行./configure、make和sudo make install命令。
4.swftools的编译及安装
./configure
make
make install
如果之前make出错,则需要先执行make clean,再make.