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

Re: [Xen-devel] libxenstore.so Makefile dependency issue

On Mon, 2012-02-20 at 19:26 +0000, Olaf Hering wrote:
> This is the second time I run into this linking issue. A few days ago it
> happend with a make -j 4 or 8 during automated rpm package build. Now it
> happend with a fresh tree. My local system is openSuSE 11.4 with make
> 3.82, the failed automated build was either openSUSE 11.4 or 12.1.
> For some reason the libxenstore.so symlink is created after
> init-xenstore-domain is about to be linked. The ln command is not
> visible in this output, I saw the ln invocation in the rpm build log.
> Hmm, and for some reason the symlink was not created anyway in my local
> build. A second make run worked ok, libxenstore.so was created.  It
> looks like I can reproduce it by running make clean in tools/xenstore.
> Looking at the Makefile, init-xenstore-domain depends on LIBXENSTORE,
> and libxenstore.so is also a target. So its not clear to me how make can
> miss that, or how the dependencies should be listed.
> Any idea whats going on here?

It's pretty odd isn't it.

I tried:
        $ make -C tools/xenstore/ clean
        $ make -C tools/xenstore/ -j12
and couldn't reproduce. I see the ln before the link lines, even with
bigger and smaller -jN.

"make -d" will tell you make's thought processes, might give a hint?

Could it be your filesystem? Something odd to do with timestamps on
symlinks which upsets your version of make perhaps? (I'm on ext3)

I'm really grasping at straws there...

The chain of rules for making the symlinks is a bit convoluted. I'd be
inclined to have:
        libxenstore.so libxenstore.so.$(MAJOR) 
libxenstore.so.$(MAJOR).$(MINOR): xs.opic xs_lib.opic
                ln -sf libxenstore.so.$(MAJOR).$(MINOR) libxenstore.so.$(MAJOR)
                ln -sf libxenstore.so.$(MAJOR) libxenstore.so

But I don't see why it would help or matter in practice.


Xen-devel mailing list



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