您的位置:首页 > 其它

Ubuntu16.04下编译spice-gtk

2017-02-17 15:59 633 查看
编译环境准备:

1)安装编译工具

sudo apt-get install autotools-dev devhelp doxygen pkg-config devscripts

编译安装spice-protocol

下载spice-protocol 0.12.12源代码

./configure

make

sudo make install

pkg-config –print-provides spice-protocol

安装编译spice所需要的第三方库

./configure –prefix=/usr –localstatedir=/var –sysconfdir=/etc

安装celt051

sudo apt-get install libogg-dev

wget -c http://downloads.us.xiph.org/releases/celt/celt-0.5.1.3.tar.gz

./configure

make

sudo make install

其中, asciidoc编译过程中产生问题,建议不要安装。

sudo apt-get install libglib2.0-dev libpixman-1-dev libssl-dev libjpeg-dev libgstreamer1.0-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libgstreamer-plugins-base1.0-dev libcacard-dev

sudo apt-get install dh-autoreconf libpixman-1-dev libxrandr-dev libasound2-dev libssl-dev libxfixes-dev libsasl2-dev libjpeg-dev libxinerama-dev python-pyparsing libglib2.0-dev

sudo apt-get install liblz4-dev

sudo apt-get install libopus-dev

sudo apt-get install asciidoc(建议不要安装)
4000

sudo apt-get install libusbredirhost-dev libusrredirparser-dev usbredirserver

编译qemu

修改configure,其中有一部分是default 的值,用来设置编译支持选项:

linux_aio=”yes”

kvm=”yes”

spice=”yes”

usb_redir=”yes”

或者直接在命令行中设置也可

qemu依赖的第三方库

sudo apt-get install device-tree-compiler texi2html texinfo libaio-dev libattr1-dev libbluetooth-dev libbrlapi-dev libcap-dev libcap-ng-dev libcurl4-gnutls-dev libfdt-dev libgnutls-dev libncurses5-dev libpulse-dev libsdl1.2-dev libseccomp-dev libxen-dev uuid-dev xfslibs-dev librados-dev librbd-dev

在configure的时候最好看下帮助,其中target system最好指定下,不然编译时间会很长。

编译libvirt

安装依赖包

sudo apt-get install cdbs libxml2-dev libreadline-dev python-all-dev lvm2 open-iscsi libparted0-dev libdevmapper-dev libudev-dev libpciaccess-dev libnl-3-dev libnl-route-3-dev libyajl-dev libpcap0.8-dev libnuma-dev radvd libnetcf-dev libaudit-dev dwarves libxml2-utils libapparmor-dev libcurl4-openssl-dev

sudo apt-get install bridge-utils cgroup-lite cgroup-bin

./configure

make

sudo make install

如果make check的时候发现有几个没有pass,跟firewall相关,就不用管了

貌似重启了一次,但是virsh –version的时候,发现找不到virsh: error while loading shared libraries: libvirt-lxc.so.0: cannot open shared object file: No such file or directory

应该是ldconf的目录没有。

在/etc/ld.so.conf.d/目录下,创建一个libvirt.conf的文件,内容:

libvirt default configuration

/usr/local/lib

运行sudo ldconfig即可。

定义了xml文件后,可以使用

sudo virsh define xxx.xml来定义虚拟机

sudo virsh start xxx 启动虚拟机

sudo virsh list 检查

如果碰到这个问题:

LibvirtError: Failed to connect socket to ‘/usr/local/var/run/libvirt/libvirt-sock’: Connection refused

解决:用root权限启动libvirt。将原来的libvirt进程杀死,然后sudo libvirtd -d

检查kvm是否可用

lsmod | grep kvm

cpu是否支持

cat /proc/cpuinfo | grep ‘vmx|svm’

单纯使用qemu创建虚拟机的过程

1)创建磁盘

$ qemu-img create -f qcow2 xxx.img 10G

2)使用iso镜像启动

qemu-system-x86_64 -m 2048 -enable-kvm -hda xxx.img -cdrom xxx.iso -boot d

不过上面的命令行还缺少远程连接的命令行参数,显示的命令行参数

libvirtd 和virt-manager

安装的时候参考

http://blog.csdn.net/heybob/article/details/24481397

http://ask.xmodulo.com/compile-virt-manager-debian-ubuntu.html

还安装了sudo apt-get install gettext

才算成功

但是libvirt-bin还是出问题

virt-manager还是没有连接到libvirt

http://blog.chinaunix.net/uid-22166872-id-4155209.html

参见上面找不到libvirtd的sock,需要root权限

但是virt-manager只有lxc连接。。。,这个问题问题怎么解决

可以选择新建连接,直接加入本机的qemu连接。

创建虚拟机的是,还出现存储池的问题,直接删除原有的default存储池,新建一个就可以了

网络连接也是。

不过目前碰到问题是,virtlogd拒绝连接

http://serverfault.com/questions/677542/error-on-nova-compute-strart-libvirt-failed-to-connect-socket-to-var-run-li

修改libvirtd.conf,更改了unix socket权限也不管用。。。

还有就是libvirt-bin装不了。。。

直接删除libvirt,使用包管理的也不行。。。

#

重新装系统,重新编译spice之类的

更改/etc/apt/source.list,使得src生效(由于使用的清华的tuna镜像站,提供的src源一般会被注释掉,所以取消注释,重新sudo apt-get update一下)

sudo apt-get build-dep xxx

再进行编译

但是有的时候会涉及到自己想编译的包,要仔细看下

然后直接拷贝可能安装的包,去除自己想要编译的包。

$./configure –prefix=/usr –localstatedir=/var –sysconfdir=/etc

1)首先编译spice-protocol

build-dep

./configure –prefix=/usr –localstatedir=/var –sysconfdir=/etc

make

sudo make install

2)编译spice

build-dep中去掉spice-protocol中,直接install

celt051还是要单独编译安装

libogg没有sudo apt-get install libogg-dev

./configure –prefix=/usr –localstatedir=/var –sysconfdir=/etc

make

sudo make install

./configure –prefix=/usr –localstatedir=/var –sysconfdir=/etc(继续配置spice)

缺少LZ4 support和gstreamer

sudo apt-get install liblz4-dev

sudo apt-get install libgstreamer1.0-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libgstreamer-plugins-base1.0-dev

sudo apt-get install gstreamer1.0-plugins-ugly

sudo apt-get install gstreamer1.0-libav

3)编译spice gtk

build-dep 去掉spice-protocol,直接sudo apt-get install

sudo apt-get install gstreamer1.0-plugins-bad

make

sudo make install

4)安装virt-manager

直接安装apt-get install virt-manager

直接安装,但是spice相关的包没法使用apt-get单独remove,会在/usr/lib/x86_64-linux-gnu下面有几个lib,一旦运行了spicy,会出现link with no time reference的错误

将下面几个老版本的库移到别的地方,这样spicy就可以正常运行了。

lrwxrwxrwx 1 root root 33 12月 26 2015 libspice-client-glib-2.0.so.8 -> libspice-client-glib-2.0.so.8.5.0

-rw-r–r– 1 root root 1117536 12月 26 2015 libspice-client-glib-2.0.so.8.5.0

lrwxrwxrwx 1 root root 32 12月 26 2015 libspice-client-gtk-3.0.so.4 -> libspice-client-gtk-3.0.so.4.0.0

-rw-r–r– 1 root root 231440 12月 26 2015 libspice-client-gtk-3.0.so.4.0.0

lrwxrwxrwx 1 root root 28 12月 26 2015 libspice-controller.so.0 -> libspice-controller.so.0.0.0

-rw-r–r– 1 root root 63400 12月 26 2015 libspice-controller.so.0.0.0

lrwxrwxrwx 1 root root 25 2月 16 03:37 libspice-server.so.1 -> libspice-server.so.1.10.0

-rw-r–r– 1 root root 1182176 2月 16 03:37 libspice-server.so.1.10.0

git下来的spice-gtk出问题

//usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0: error adding symbols: DSO mi

处理qemu,查看http://wiki.qemu-project.org/Hosts/Linux
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spice ubuntu