[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Parallel make supported?

On Mon, 2014-12-29 at 13:01 +0000, Wei Liu wrote:
> Please don't top post.
> On Fri, Dec 19, 2014 at 10:09:31PM +0000, Peter Kay wrote:
> > Thanks, see attached :
> > 
> > This is on Salix 14.1 running the 3.17.4 kernel. That's not particularly
> > relevant though, as I had exactly the same error on Debian using other
> > kernel versions.
> > 
> Looking at your build log
> gcc     -pthread -Wl,-soname -Wl,libxenstore.so.3.0 -shared -o 
> libxenstore.so.3.0.3 xs.opic xs_lib.opic
> ar rcs libxenstore.a xs.o xs_lib.o
> gcc xs_tdb_dump.o utils.o tdb.o talloc.o     -o xs_tdb_dump
> gcc xenstored_core.o xenstored_watch.o xenstored_domain.o 
> xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o 
> xenstored_posix.o     
> /home/peter/Downloads/xen-4.5.0-rc4/tools/xenstore/../../tools/libxc/libxenctrl.so
>   -o xenstored
> gcc init-xenstore-domain.o libxenstore.so     
> /home/peter/Downloads/xen-4.5.0-rc4/tools/xenstore/../../tools/libxc/libxenctrl.so
> /home/peter/Downloads/xen-4.5.0-rc4/tools/xenstore/../../tools/libxc/libxenguest.so
> /home/peter/Downloads/xen-4.5.0-rc4/tools/xenstore/../../tools/xenstore/libxenstore.so
>  -o init-xenstore-domain
> gcc: error: libxenstore.so: No such file or directory
> gcc: error: 
> /home/peter/Downloads/xen-4.5.0-rc4/tools/xenstore/../../tools/xenstore/libxenstore.so:
>  No such file or directory
> make[4]: *** [init-xenstore-domain] Error 1
> make[4]: Leaving directory 
> `/home/peter/Downloads/xen-4.5.0-rc4/tools/xenstore'
> make[3]: *** [subdir-install-xenstore] Error 2
> make[3]: Leaving directory `/home/peter/Downloads/xen-4.5.0-rc4/tools'
> make[2]: *** [subdirs-install] Error 2
> make[2]: Leaving directory `/home/peter/Downloads/xen-4.5.0-rc4/tools'
> make[1]: *** [install-tools] Error 2
> make[1]: *** Waiting for unfinished jobs....
> libxenstore.so is missing. However Makefile dependency ensures the
> compilation of init-xenstore-domain does not proceed unless
> libxenstore.so exists.

Right. Specifically (quoting a select few lines from

        LIBXENSTORE := libxenstore.so
        init-xenstore-domain: init-xenstore-domain.o $(LIBXENSTORE)
        libxenstore.so: libxenstore.so.$(MAJOR)
        libxenstore.so.$(MAJOR): libxenstore.so.$(MAJOR).$(MINOR)
        libxenstore.so.$(MAJOR).$(MINOR): xs.opic xs_lib.opic
So it would be a make bug if init-xenstore-domain were linked without
having created libxenstore.so first, but that (such an obvious bug in
make) doesn't seem very likely.

Peter, what does
        ls -l tools/xenstore/libxenstore*

Also "make -d -C tools/xenstore init-xenstore-domain" might give a clue
as to why make thinks it doesn't need to rebuild those objects.

If $(LIBXENSTORE) were unset then that might explain things, but I can't
see how that could happen, it must always be either libxenstore.so or
libxenstore.a. Changing the init-xenstore-domain rule to:
        init-xenstore-domain: init-xenstore-domain.o $(LIBXENSTORE)
                @echo init-xenstore-domain using $(LIBXENSTORE)
                $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) 
$(LDLIBS_libxenstore) -o $@ $(APPEND_LDFLAGS)
would confirm or deny that theory (nb before @echo needs to be a hard


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.