Well, after "make clean", I run the compiled start.c, still won't work.
And I forget to metion, an error msg is shown:
 
libvir: Xen error : Domain not found: xenUnifiedDomainLookupByName
 
is that means I missed something?
 
 
2010-10-26

黄亮

发件人: Osier
发送时间: 2010-10-26  18:05:46
收件人: 黄亮
抄送:
主题: Re: [libvirt] How to start a defined domain
----- "黄亮" <lancerhuang@163.com> wrote:
> 
> Accroding to your case, it seems I have no need to upgrade libvirt to
> 0.8.4
> Will that work if I erase 0.8.4 using "make clean" and draw back to
> 0.6.3 ?
yep, think so, if you don't need the new features, and 0.6.3 is enough
for your project requirement.. :-)
- Osier
> 2010-10-26
> 黄亮
> 发件人: Osier
> 发送时间: 2010-10-26 17:10:40
> 收件人: 黄亮
> 抄送:
> 主题: Re: [libvirt] How to start a defined domain
> ----- "黄亮" <lancerhuang@163.com> wrote:
> > 
> > Thanks for your reply, Osier.
> >
> >
> > The distro I'm using is CentOS release 5.5 (Final)
> >
> > I'm not quite sure about the version of libvirt. At first, it seems
> to
> > be 0.6.3, because /usr/lib64/libvirt.so.0 points to
> > /usr/lib64/libvirt.so.0.6.3
> > Then I downloaded the src of libvirt_0.8.4 from offical website, and
> > configure, make, make install.
> > But now it show errors when I type "virsh". The error message lies
> > below:
> >
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.8.2' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.7.1' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.7.5' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.8.1' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.7.0' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.7.2' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.7.3' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.8.0' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_PRIVATE_0.8.4'
> > not found (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.7.7' not
> found
> > (required by virsh)
> > virsh: /usr/local/lib/libvirt.so.0: version `LIBVIRT_0.6.4' not
> found
> > (required by virsh)
> probly you should try to erase the 0.6.3, then compile and install
> libvirt
> like:
> # ./configure --prefix=/usr --libdir=/usr/lib64
> # make
> # make install
> your test program has no problem on my box. the libvirt on my box also
> is
> 0.6.3.
> Regards
> - Osier
> >
> > As for xen, it is 3.3.2. The full "xm info" message is listed below:
> > host : testbed01
> > release : 2.6.18-194.11.4.el5xen
> > version : #1 SMP Tue Sep 21 05:40:24 EDT 2010
> > machine : x86_64
> > nr_cpus : 8
> > nr_nodes : 1
> > cores_per_socket : 4
> > threads_per_core : 2
> > cpu_mhz : 2793
> > hw_caps :
> >
> bfebfbff:28100800:00000000:00000140:0098e3fd:00000000:00000001:00000000
> > virt_caps : hvm
> > total_memory : 4055
> > free_memory : 533
> > node_to_cpu : node0:0-7
> > node_to_memory : node0:533
> > xen_major : 3
> > xen_minor : 3
> > xen_extra : .2
> > xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32
> > hvm-3.0-x86_32p hvm-3.0-x86_64
> > xen_scheduler : credit
> > xen_pagesize : 4096
> > platform_params : virt_start=0xffff800000000000
> > xen_changeset : unavailable
> > cc_compiler : gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)
> > cc_compile_by : root
> > cc_compile_domain : gitco.tld
> > cc_compile_date : Tue Aug 18 21:07:28 CEST 2009
> > xend_config_format : 4
> >
> > I've write a simple c program to test the api, and it is listed
> below:
> >
> > 1 // This program aims to test the api which can start the VM
> > 2
> > 3 #include "stdio.h"
> > 4 #include "stdlib.h"
> > 5 #include "libvirt/libvirt.h"
> > 6
> > 7 int main(int argc ,char* argv[])
> > 8 {
> > 9 virConnectPtr conn;
> > 10 conn = virConnectOpen( "xen+tcp://localhost?no_Verify=1" );
> > 11 if( conn == NULL )
> > 12 {
> > 13 printf( "Failed to Connect\n" );
> > 14 return 1;
> > 15 }
> > 16 const char* host = "vm01";
> > 17 virDomainPtr dom;
> > 18 dom = virDomainLookupByName( conn, host );
> > 19 if( dom == NULL )
> > 20 {
> > 21 printf( "can't find dom\n" );
> > 22 return 1;
> > 23 }
> > 24 // else
> > 25 // {
> > 26 // virDomainFree( dom );
> > 27 // virConnectClose( conn );
> > 28 // printf("done\n");
> > 29 // return 0;
> > 30 // }
> > 31 if( virDomainCreate( dom ) == -1 )
> > 32 {
> > 33 printf( "failed to Start\n" );
> > 34 virDomainFree( dom );
> > 35 virConnectClose( conn );
> > 36 return 1;
> > 37 }
> > 38 else
> > 39 {
> > 40 printf( "Started\n" );
> > 41 virDomainFree( dom );
> > 42 virConnectClose( conn );
> > 43 return 0;
> > 44 }
> > 45 }
> >
> > 2010-10-26
> >
> > Lancer
> >
> > 发件人: Osier
> > 发送时间: 2010-10-26 11:35:31
> > 收件人: 黄亮
> > 抄送: libvir-list
> > 主题: Re: [libvirt] How to start a defined domain
> >
> >
> >
> > ----- "黄亮" <lancerhuang@163.com> wrote:
> >
> > > I've create a domain called "vm01" using Virt-Manager, the GUI
> tool.
> > > Now I wanna use libvirt api to control the life cycle of vm01.
> > > It went on well with shutdown and reboot, but how to start it
> became
> > a
> > > problem.
> > >
> > > I was intended to get the virDomainPtr by using
> > virDomainLookupByName
> > > api, and then start it using virDomainCreate api.
> > > But it turns out that virDomainLookupByName api cannot return a
> > > virDomainPtr for a defined but not running domain.
> > >
> >
> > no, it can :-)
> >
> > If it really doesn't work for you, could you write a simple program
> to
> > reproduce it? and try to explain what's the version of libvirt you
> > use,
> > on which distro, etc, any helpful info is welcomed. :-)
> >
> > Thanks
> >
> > - Osier
> >
> > > That's my situation, what do you suggest I do now?
> > > Thanks in advance.
> > >
> > > 2010-10-26
> > >
> > > Lancer
> > > --
> > > libvir-list mailing list
> > > libvir-list@redhat.com
> > > https://www.redhat.com/mailman/listinfo/libvir-list
> >
> > __________ Information from ESET Smart Security, version of virus
> > signature database 5562 (20101025) __________
> >
> > The message was checked by ESET Smart Security.
> >
> > http://www.eset.com
> __________ Information from ESET Smart Security, version of virus
> signature database 5562 (20101025) __________
> The message was checked by ESET Smart Security.
> http://www.eset.com
__________ Information from ESET Smart Security, version of virus signature database 5563 (20101026) __________
The message was checked by ESET Smart Security.
http://www.eset.com