Daniel Veillard <veillard(a)redhat.com> wrote on 21/07/2008 11:58:01:
On Mon, Jul 21, 2008 at 10:31:47AM +0300, Kenneth Nagin wrote:
>
> >I downloaded the latest libvirt and tried to make it but received this
> >error message:
>
> >make: *** No rule to make target `gnulib/m4/onceonly_2_57.m4', needed
by
> >`Makefile.in'. Stop.
>
> The problem was related to running ./autogen.sh --prefix=$HOME/usr.
> I didn't notice that it did not run correctly. It requires the install
> gettext-devel
> which does not come automatically with fedora.
>
> But now the make fails due to an i386 / i386:x86-64 incompatibility.
These
> are the error messages:
>
> /usr/bin/ld: i386 architecture of input file
> `.libs/libvirt_la-openvz_conf.o' is incompatible with i386:x86-64
output
> /usr/bin/ld: i386 architecture of input file
> `.libs/libvirt_la-openvz_driver.o' is incompatible with i386:x86-64
output
> collect2: ld returned 1 exit status
My guess is that you are sharing the same subtree between 32 and 64
bits
machines and there are remains of the build for x86-64 when
attempting
the
build on 32 bits. Run make clean (or distclean) and restart from
scratch,
Daniel
Kenneth Nagin <nagin(a)il.ibm.com> wrote on 21/07/2008
That was the problem. I download the source again to
a new director and the incompatibility problem disappeared.
However the it failed with a compilation error. There was a missing
';' at the end of the xenUnifiedOpen() function. This is the error
message:
xen_unified.c: In function 'xenUnifiedOpen':
xen_unified.c:348: error: expected ';' before '}' token
xen_unified.c:342: warning: label 'clean' defined but not used
make[2]: *** [libvirt_la-xen_unified.lo] Error 1
I added the ';' and now it compiles..
This is the diff between the fixed code and the original code:
[nagin@arenal src]$ diff xen_unified.c
xen_unified.c.org
347c347
< return ret;]
---
return ret;]
This the fixed xen_unified.c
(See attached file: xen_unified.c)
Thanks for the help.
Kenneth