[libvirt] qemud/.libs/libvirtd?

Hi, I added some new code to libvirt.c, and recompile. However, when "make install". qemud/.libs/libvirtd is installed but not qemud/libvirtd. Why? Looks like a bug? The problem is that qemud/libvirtd has my new code, but not qemud/.libs/libvirtd! So "make install" installs the old binary, which I dont know where it is from. (Perhaps from the first compilation?) I am not familiar with the autoconf Makefile, and cannot figure it out why it is working this way. Many thanks, Jun

On Wed, Aug 20, 2008 at 04:30:09PM +0900, Jun Koi wrote:
Hi,
I added some new code to libvirt.c, and recompile. However, when "make install". qemud/.libs/libvirtd is installed but not qemud/libvirtd. Why? Looks like a bug?
no that's normal, qemud/.libs/libvirtd is the real binary generated and qemud/libvirtd is just a shell script calling it. That's the standard setup when using libtools in configure.
qemud/.libs/libvirtd! So "make install" installs the old binary, which I dont know where it is from. (Perhaps from the first compilation?)
I am not familiar with the autoconf Makefile, and cannot figure it out why it is working this way.
You look a bit confused, I suggest you do 'make distclean' and restart configure, make and make install Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/

On Wed, Aug 20, 2008 at 4:30 PM, Jun Koi <junkoi2004@gmail.com> wrote:
Hi,
I added some new code to libvirt.c, and recompile. However, when "make install". qemud/.libs/libvirtd is installed but not qemud/libvirtd. Why? Looks like a bug?
The problem is that qemud/libvirtd has my new code, but not qemud/.libs/libvirtd! So "make install" installs the old binary, which I dont know where it is from. (Perhaps from the first compilation?)
I am not familiar with the autoconf Makefile, and cannot figure it out why it is working this way.
This is not getting funny anymore. I clean src/.libs/*, and qemud/.libs/*, and recompile and "make install" again. This step installed stuffs in .libs/ into system. Then I found that qemud/libvirtd and src/virsh works well together (for ex, src/virsh -c qemu:///system list works well), but /usr/sbin/libvirtd and /usr/bin/virsh dont work: "virsh -c qemu:///system list" reports "failed to connect to hypervisor". I am wondering what is going on with those binary in .libs/?? Thanks, J
Many thanks, Jun

On Wed, Aug 20, 2008 at 08:01:42PM +0900, Jun Koi wrote:
On Wed, Aug 20, 2008 at 4:30 PM, Jun Koi <junkoi2004@gmail.com> wrote:
Hi,
I added some new code to libvirt.c, and recompile. However, when "make install". qemud/.libs/libvirtd is installed but not qemud/libvirtd. Why? Looks like a bug?
No, this is correct behaviour. qemud/libvirtd is not a binary - it is a mere shell script which calls into qemud/.libs/libvirtd. This is all part of the libtool build process.
The problem is that qemud/libvirtd has my new code, but not qemud/.libs/libvirtd! So "make install" installs the old binary, which I dont know where it is from. (Perhaps from the first compilation?)
You are mistaken - qemud/libvirtd is just a shell script wrapper. The actual binaries are in the .libs directory.
I am not familiar with the autoconf Makefile, and cannot figure it out why it is working this way.
This is not getting funny anymore. I clean src/.libs/*, and qemud/.libs/*, and recompile and "make install" again. This step installed stuffs in .libs/ into system.
Run 'make distclean' and then start again from 'configure' Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Wed, Aug 20, 2008 at 8:05 PM, Daniel P. Berrange <berrange@redhat.com> wrote:
On Wed, Aug 20, 2008 at 08:01:42PM +0900, Jun Koi wrote:
On Wed, Aug 20, 2008 at 4:30 PM, Jun Koi <junkoi2004@gmail.com> wrote:
Hi,
I added some new code to libvirt.c, and recompile. However, when "make install". qemud/.libs/libvirtd is installed but not qemud/libvirtd. Why? Looks like a bug?
No, this is correct behaviour. qemud/libvirtd is not a binary - it is a mere shell script which calls into qemud/.libs/libvirtd. This is all part of the libtool build process.
Ah, that is so confused, the way to name files here. So if qemu/.libs/libvirtd is installed into /usr/sbin/libvirtd, where qemud/libvirtd is installed??? (It seems only qemud/libvirtd works for me) Thanks, Jun

On Wed, Aug 20, 2008 at 08:22:00PM +0900, Jun Koi wrote:
Ah, that is so confused, the way to name files here.
So if qemu/.libs/libvirtd is installed into /usr/sbin/libvirtd, where qemud/libvirtd is installed???
It isn't installed anywhere.
(It seems only qemud/libvirtd works for me)
This is a libtool thing. Admittedly quite horrible and counter- intuitive, but using libtool arguably beats trying to work out how shared libraries are created on Windows / HP-UX / AIX / CP/M / etc. which is what libtool gives us. You can find out plenty more in the libtool manual: http://www.gnu.org/software/libtool/manual/libtool.html#index-g_t_0040file_0... Rich. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones Read my OCaml programming blog: http://camltastic.blogspot.com/ Fedora now supports 60 OCaml packages (the OPEN alternative to F#) http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora

On Wed, Aug 20, 2008 at 10:39 PM, Richard W.M. Jones <rjones@redhat.com> wrote:
On Wed, Aug 20, 2008 at 08:22:00PM +0900, Jun Koi wrote:
Ah, that is so confused, the way to name files here.
So if qemu/.libs/libvirtd is installed into /usr/sbin/libvirtd, where qemud/libvirtd is installed???
It isn't installed anywhere.
(It seems only qemud/libvirtd works for me)
This is a libtool thing. Admittedly quite horrible and counter- intuitive, but using libtool arguably beats trying to work out how shared libraries are created on Windows / HP-UX / AIX / CP/M / etc. which is what libtool gives us.
You can find out plenty more in the libtool manual:
http://www.gnu.org/software/libtool/manual/libtool.html#index-g_t_0040file_0...
OK, but now running /usr/sbin/libvirtd fails (" ... failed to connect to the hypervisor"), meanwhile qemud/libvirtd works for me. What should I do now to run libvirtd??? Thanks, Jun

On Thu, Aug 21, 2008 at 12:43:54PM +0900, Jun Koi wrote:
OK, but now running /usr/sbin/libvirtd fails (" ... failed to connect to the hypervisor"), meanwhile qemud/libvirtd works for me. What should I do now to run libvirtd???
It's not possible to say, given the paucity of information available to us. Try the usual things: look for error messages in log files, 'strace' the processes, run with --verbose option, etc. Rich. -- Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones virt-df lists disk usage of guests without needing to install any software inside the virtual machine. Supports Linux and Windows. http://et.redhat.com/~rjones/virt-df/
participants (4)
-
Daniel P. Berrange
-
Daniel Veillard
-
Jun Koi
-
Richard W.M. Jones