在安装spice-gtk-0.9之前,我们需要安装一些依赖软件包。
注:1、以下安装源码编译的路径默认为:/usr/local(除了特意制定出来的)。
2、下面的安装包除了指定出通过apt-get安装,其余都是源码安装。
环境变量配置:export LD_LIBRARY_PATH=/usr/local/lib
export PKG_CONFIG=/usr/bin/pkgconfig
export PKG_CONFIG_PATH=/usr/local
一、glib-2.31.0
依赖包:libffi-dev、gettext、zlib1g-dev(apt-get)
二、cairo-1.10.0
注:编译的时候加上参数:--enable-xlib=yes --enable-ft=yes
依赖包:pixman-0.24.0、libpng12-dev(apt-get)、libX11-1.4.99.1
、libfreetype6-dev(apt-get)
同时,在安装libX11时候需要安装的依赖包:
xextproto-7.0.3(x11proto-xext-dev)、
inputproto-2.1.99.6、xtrans-dev(apt-get)、libxcb1-dev(apt-get)、
x11proto-kb-dev(apt-get)
configure.ac:24: error: must install xorg-macros 1.15 or later
before running autoconf/autogen
安装依赖包:util-macros-1.16.0.tar.gz (--prefix=/usr)
checking keysym definitions... configure: error: Cannot find
keysymdef.h
安装依赖包:xproto-xproto-7.0.19
三、gobject-introspection-1.30.0
依赖包:flex(apt-get)、bison(apt-get)、python-gobject-dev(apt-get)
、glib-2.31.0、cairo-1.10.0
注:最好安装glib和cairo之后,否则后面会出现一些麻烦
四、gtk+-3.2.0
依赖包:libtiff4-dev(apt-get)、fontconfig-2.8.0(依赖包:libxml2-dev)
、libglib2.0-dev(apt-get)、libxrandr-dev(apt-get)、cairo-1.10.0、
atk-2.2.0、pango-1.29.4、gdk-pixbuf-2.24.0(依赖包:libtiff4-dev)
编译pango的时候,
./configure 出现下面信息才能成功编译gtk:
config.status: pango/pango-features.h is unchanged
configuration:
backends: Cairo FreeType X
但是第一次编译pango的时候都会只发现X库,在编译gtk通不过,再回来重新编译下cairo和pango。应该是这儿少了个环境变量没配置。
编译pango报错:
./.libs/libpangocairo-1.0.so: undefined reference to `cairo_ft_font_options_substitute'
./.libs/libpangocairo-1.0.so: undefined reference to `cairo_ft_font_face_create_for_pattern'
重新编译cairo:./autogen.sh --prefix=/usr/local --enable-xlib=yes --enable-ft=yes &&make &&make install
编译gtk报错:
Gdkdeviceprivate-xi.h:28:35: error: X11/extensions/XInput.h:No
such file or directory
编译libXi-1.5.99.3包,XInput.h头文件在该包中。(libxext-dev)
五、spice-gtk-0.9
依赖包:python-pyparsing(apt-get)、celt-0.5.1.3(依赖包:libogg-dev)、
Libglobus-openssl-dev(apt-get)、libgudev-1.0-dev(apt-get)
、spice-protocol-0.10.1、glib-2.31.0、gobject-inrospection-1.30.0、
gtk+-3.2.0、cairo-1.10.0、vala-0.14.2
将CSV.pm和CSV_PP.pm拷贝到/usr/lib/per/5.10/Text
编译vala报错:
valacodewriter.vala:1498.54-1498.59: error: The name `name' does not
exist in the context of `G'
attributes.insert_sorted (attr, (a, b) => strcmp (a.name, b.name));
解决方法:在网上查了很多,都没解决得了,最后把包删了,重新解压下
载包编译没问题
一些依赖包是针对编译spice-gtk的时候添加的不同参数:
--enable-usbredir=yes:Libusb-1.0.9、usbredir-0.3.3
--with-sasl=yes:libsasl2-dev(apt-get)
--enable-smartcard=yes:libcacard-0.1.2(apt-get)、libnss3-dev(apt-get)
--with-audio=pulse:libpulse-dev(apt-get)
八、最后安装spice-gtk
spice-gtk-0.9
./autogen.sh --prefix=/usr/local --enable-smartcard=no --with-sasl=no --with-audio=no --enable-usbredir=yes
如果把--with-audio=yes 则虚拟机有声音 最好的是打开