Hi All, I am having some trouble with blktap2 domUs (very high CPU utilization and orphan blktap2 processes when the first domU is started) and for that I wanted to checkout and build the latest pvops kernel to see if that has the necessary fixes. I saw some messages about this in August 2010. I am doing the standard: # hg clone http://xenbits.xen.org/xen-4.0-testing.hg # hg pull; hg update (version is 4.0.2-rc3) and then "make"world" which fails to build the kernel. "make xen; make tools and make stubdom" works. Note, I was able to build the pvops kernel (2.6.32.27) a few days ago successfully. . . <SNIP> make -f buildconfigs/mk.linux-2.6-pvops build make[3]: Entering directory `/home/yuvraj/XEN-Build/xen-4.0-testing.hg'' set -ex; \ if ! [ -d linux-2.6-pvops.git ]; then \ rm -rf linux-2.6-pvops.git linux-2.6-pvops.git.tmp; \ mkdir linux-2.6-pvops.git.tmp; rmdir linux-2.6-pvops.git.tmp; \ git clone -o xen -n git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-pvops.git.tmp; \ (cd linux-2.6-pvops.git.tmp; git checkout -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x ); \ mv linux-2.6-pvops.git.tmp linux-2.6-pvops.git; \ fi + [ -d linux-2.6-pvops.git ] + rm -rf linux-2.6-pvops.git linux-2.6-pvops.git.tmp + mkdir linux-2.6-pvops.git.tmp + rmdir linux-2.6-pvops.git.tmp + git clone -o xen -n git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-pvops.git.tmp Initialized empty Git repository in /home/yuvraj/XEN-Build/xen-4.0-testing.hg/linux-2.6-pvops.git.tmp/.git/ remote: Counting objects: 1941611, done. remote: Compressing objects: 100% (318945/318945), done. remote: Total 1941611 (delta 1614307), reused 1930825 (delta 1604777) Receiving objects: 100% (1941611/1941611), 397.88 MiB | 1.33 MiB/s, done. Resolving deltas: 100% (1614307/1614307), done. + cd linux-2.6-pvops.git.tmp + git checkout -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x fatal: git checkout: branch xen/stable-2.6.32.x already exists + mv linux-2.6-pvops.git.tmp linux-2.6-pvops.git touch linux-2.6-pvops.git/.valid-src rm -rf build-linux-2.6-pvops_x86_64 mkdir -p build-linux-2.6-pvops_x86_64 # Re-use config from install dir if one exists. Next try to use # buildconfigs/create_config.sh is one is provided by the source # tree. Finally attempt to use make defconfig. set -e ; \ CONFIG_VERSION=$(sed -ne ''s/$(XENGUEST)//; s/^EXTRAVERSION //p'' linux-2.6-pvops.git/Makefile); \ if [ ! -z "" -a -r "" ]; then \ cp /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config; \ elif [ -r /home/yuvraj/XEN-Build/xen-4.0-testing.hg/dist/install/boot/config-2.6.$CONFIG_VERSION ] ; then \ cp /home/yuvraj/XEN-Build/xen-4.0-testing.hg/dist/install/boot/config-2.6.$CONFIG_VERSION /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config ; \ elif [ -e linux-2.6-pvops.git/buildconfigs/create_config.sh ] ; then \ cd linux-2.6-pvops.git && sh buildconfigs/create_config.sh \ /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config x86_64 ; \ echo "Configured build-linux-2.6-pvops_x86_64 using create_config.sh" ; \ elif make -C linux-2.6-pvops.git ARCH=$(sh buildconfigs/select-linux-arch linux-2.6-pvops.git) defconfig O=$(/bin/pwd)/build-linux-2.6-pvops_x86_64 ; then \ echo "Configured build-linux-2.6-pvops_x86_64 using defconfig" ; \ else \ echo "No configuration method found for this kernel" ; \ fi sed: can''t read linux-2.6-pvops.git/Makefile: No such file or directory make[3]: *** [build-linux-2.6-pvops_x86_64/include/linux/autoconf.h] Error 2 make[3]: Leaving directory `/home/yuvraj/XEN-Build/xen-4.0-testing.hg'' make[2]: *** [linux-2.6-pvops-install] Error 2 make[2]: Leaving directory `/home/yuvraj/XEN-Build/xen-4.0-testing.hg'' make[1]: *** [install-kernels] Error 1 make[1]: Leaving directory `/home/yuvraj/XEN-Build/xen-4.0-testing.hg'' make: *** [world] Error 2 thanks! Yuvraj _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Thu, Feb 17, 2011 at 4:38 AM, Yuvraj Agarwal <yuvraj@cs.ucsd.edu> wrote:> Hi All,<snip>> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git > linux-2.6-pvops.git.tmp > Initialized empty Git repository in > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/linux-2.6-pvops.git.tmp/.git/ > remote: Counting objects: 1941611, done. > remote: Compressing objects: 100% (318945/318945), done. > remote: Total 1941611 (delta 1614307), reused 1930825 (delta 1604777) > Receiving objects: 100% (1941611/1941611), 397.88 MiB | 1.33 MiB/s, done. > Resolving deltas: 100% (1614307/1614307), done. > + cd linux-2.6-pvops.git.tmp > + git checkout -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x > fatal: git checkout: branch xen/stable-2.6.32.x already existsThis look like the problem you are running into http://lists.xensource.com/archives/html/xen-users/2010-12/msg00166.html (A problem with your git tree for the kernel.)> + mv linux-2.6-pvops.git.tmp linux-2.6-pvops.git > touch linux-2.6-pvops.git/.valid-src > rm -rf build-linux-2.6-pvops_x86_64 > mkdir -p build-linux-2.6-pvops_x86_64 > # Re-use config from install dir if one exists. Next try to use > # buildconfigs/create_config.sh is one is provided by the source > # tree. Finally attempt to use make defconfig. > set -e ; \ > CONFIG_VERSION=$(sed -ne ''s/$(XENGUEST)//; s/^EXTRAVERSION > //p'' linux-2.6-pvops.git/Makefile); \ > if [ ! -z "" -a -r "" ]; then \ > cp /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config; > \ > elif [ -r > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/dist/install/boot/config-2.6.$CONFIG_VERSION > ] ; then \ > cp /home/yuvraj/XEN-Build/xen-4.0-testing.hg/dist/install/boot/config-2.6.$CONFIG_VERSION > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config > ; \ > elif [ -e linux-2.6-pvops.git/buildconfigs/create_config.sh ] ; then \ > cd linux-2.6-pvops.git && sh buildconfigs/create_config.sh \ > > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config > x86_64 ; \ > echo "Configured build-linux-2.6-pvops_x86_64 using > create_config.sh" ; \ > elif make -C linux-2.6-pvops.git ARCH=$(sh > buildconfigs/select-linux-arch linux-2.6-pvops.git) defconfig > O=$(/bin/pwd)/build-linux-2.6-pvops_x86_64 ; then \ > echo "Configured build-linux-2.6-pvops_x86_64 using defconfig" ; \ > else \ > echo "No configuration method found for this kernel" ; \Based on getting an error here and looking above. <snip> This appears to be a question that is probably better addressed on the xen-users list. It is better to post there first unless you are sure something is really broken. The Xen code is tested often by many users and developers all over the world. I''m pretty sure we would figure out pretty quickly if make world was broken :-) Hope the suggestions above help solve your problem. Thanks, Todd _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
John C. McCullough
2011-Feb-17 19:56 UTC
Re: [Xen-devel] XEN building "make world" broken?
A vanilla xen-4.0-testing.hg checkout won''t build all the way through. hg clone http://xenbits.xensource.com/xen-4.0-testing.hg cd xen-4.0-testing.hg make world .... + rm -rf linux-2.6-pvops.git linux-2.6-pvops.git.tmp + mkdir linux-2.6-pvops.git.tmp + rmdir linux-2.6-pvops.git.tmp + git clone -o xen -n git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-pvops.git.tmp Cloning into linux-2.6-pvops.git.tmp... remote: Counting objects: 1941611, done. remote: Compressing objects: 100% (318945/318945), done. remote: Total 1941611 (delta 1614307), reused 1930825 (delta 1604777) Receiving objects: 100% (1941611/1941611), 397.88 MiB | 3.68 MiB/s, done. Resolving deltas: 100% (1614307/1614307), done. + cd linux-2.6-pvops.git.tmp + git checkout -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x fatal: git checkout: branch xen/stable-2.6.32.x already exists ... build failed. Going exploring: cd linux-2.6-pvops.git.tpm git checkout xen/xen/stable-2.6.32.x ..works git checkout xen/stable-2.6.32.x ..works Looks like the local xen/stable-2.6.32.x branch that is started in the build process got pushed into the main repo. Removing the local branch creation works: diff -r 996f7815b070 buildconfigs/src.git-clone --- a/buildconfigs/src.git-clone Thu Feb 10 17:26:19 2011 +0000 +++ b/buildconfigs/src.git-clone Thu Feb 17 11:50:35 2011 -0800 @@ -26,7 +26,7 @@ rm -rf $(LINUX_SRCDIR) $(LINUX_SRCDIR).tmp; \ mkdir $(LINUX_SRCDIR).tmp; rmdir $(LINUX_SRCDIR).tmp; \ $(GIT) clone -o $(XEN_GIT_ORIGIN) -n $(XEN_LINUX_GIT_URL) $(LINUX_SRCDIR).tmp; \ - (cd $(LINUX_SRCDIR).tmp; git checkout -b $(XEN_LINUX_GIT_LOCALBRANCH) $(XEN_LINUX_GITREV) ); \ + (cd $(LINUX_SRCDIR).tmp; git checkout $(XEN_LINUX_GITREV) ); \ mv $(LINUX_SRCDIR).tmp $(LINUX_SRCDIR); \ fi touch $@ -John On 02/16/2011 09:04 PM, Todd Deshane wrote:> On Thu, Feb 17, 2011 at 4:38 AM, Yuvraj Agarwal<yuvraj@cs.ucsd.edu> wrote: > >> Hi All, >> > <snip> > >> git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git >> linux-2.6-pvops.git.tmp >> Initialized empty Git repository in >> /home/yuvraj/XEN-Build/xen-4.0-testing.hg/linux-2.6-pvops.git.tmp/.git/ >> remote: Counting objects: 1941611, done. >> remote: Compressing objects: 100% (318945/318945), done. >> remote: Total 1941611 (delta 1614307), reused 1930825 (delta 1604777) >> Receiving objects: 100% (1941611/1941611), 397.88 MiB | 1.33 MiB/s, done. >> Resolving deltas: 100% (1614307/1614307), done. >> + cd linux-2.6-pvops.git.tmp >> + git checkout -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x >> fatal: git checkout: branch xen/stable-2.6.32.x already exists >> > This look like the problem you are running into > http://lists.xensource.com/archives/html/xen-users/2010-12/msg00166.html > > (A problem with your git tree for the kernel.) > > >> + mv linux-2.6-pvops.git.tmp linux-2.6-pvops.git >> touch linux-2.6-pvops.git/.valid-src >> rm -rf build-linux-2.6-pvops_x86_64 >> mkdir -p build-linux-2.6-pvops_x86_64 >> # Re-use config from install dir if one exists. Next try to use >> # buildconfigs/create_config.sh is one is provided by the source >> # tree. Finally attempt to use make defconfig. >> set -e ; \ >> CONFIG_VERSION=$(sed -ne ''s/$(XENGUEST)//; s/^EXTRAVERSION >> //p'' linux-2.6-pvops.git/Makefile); \ >> if [ ! -z "" -a -r "" ]; then \ >> cp /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config; >> \ >> elif [ -r >> /home/yuvraj/XEN-Build/xen-4.0-testing.hg/dist/install/boot/config-2.6.$CONFIG_VERSION >> ] ; then \ >> cp /home/yuvraj/XEN-Build/xen-4.0-testing.hg/dist/install/boot/config-2.6.$CONFIG_VERSION >> /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config >> ; \ >> elif [ -e linux-2.6-pvops.git/buildconfigs/create_config.sh ] ; then \ >> cd linux-2.6-pvops.git&& sh buildconfigs/create_config.sh \ >> >> /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config >> x86_64 ; \ >> echo "Configured build-linux-2.6-pvops_x86_64 using >> create_config.sh" ; \ >> elif make -C linux-2.6-pvops.git ARCH=$(sh >> buildconfigs/select-linux-arch linux-2.6-pvops.git) defconfig >> O=$(/bin/pwd)/build-linux-2.6-pvops_x86_64 ; then \ >> echo "Configured build-linux-2.6-pvops_x86_64 using defconfig" ; \ >> else \ >> echo "No configuration method found for this kernel" ; \ >> > Based on getting an error here and looking above. > <snip> > > This appears to be a question that is probably better addressed on the > xen-users list. It is better to post there first unless you are sure > something is really broken. > > The Xen code is tested often by many users and developers all over the > world. I''m pretty sure we would figure out pretty quickly if make > world was broken :-) > > Hope the suggestions above help solve your problem. > > Thanks, > Todd > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Thu, Feb 17, 2011 at 12:38 PM, Yuvraj Agarwal <yuvraj@cs.ucsd.edu> wrote:> Hi All, > I am having some trouble with blktap2 domUs (very high CPU utilization > and orphan blktap2 processes when the first domU is started) and for > that I wanted to checkout and build the latest pvops kernel to see if > that has the necessary fixes. I saw some messages about this in August > 2010. > > I am doing the standard: > > # hg clone http://xenbits.xen.org/xen-4.0-testing.hg > # hg pull; hg update (version is 4.0.2-rc3) > > and then "make"world" which fails to build the kernel. "make xen; make > tools and make stubdom" works. > Note, I was able to build the pvops kernel (2.6.32.27) a few days ago > successfully. > > . > . > <SNIP> > > make -f buildconfigs/mk.linux-2.6-pvops build > make[3]: Entering directory `/home/yuvraj/XEN-Build/xen-4.0-testing.hg'' > set -ex; \ > if ! [ -d linux-2.6-pvops.git ]; then \ > rm -rf linux-2.6-pvops.git linux-2.6-pvops.git.tmp; \ > mkdir linux-2.6-pvops.git.tmp; rmdir > linux-2.6-pvops.git.tmp; \ > git clone -o xen -n > git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git > linux-2.6-pvops.git.tmp; \ > (cd linux-2.6-pvops.git.tmp; git checkout -b > xen/stable-2.6.32.x xen/xen/stable-2.6.32.x ); \ > mv linux-2.6-pvops.git.tmp linux-2.6-pvops.git; \ > fi > + [ -d linux-2.6-pvops.git ] > + rm -rf linux-2.6-pvops.git linux-2.6-pvops.git.tmp > + mkdir linux-2.6-pvops.git.tmp > + rmdir linux-2.6-pvops.git.tmp > + git clone -o xen -n > git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git > linux-2.6-pvops.git.tmp > Initialized empty Git repository in > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/linux-2.6-pvops.git.tmp/.git/ > remote: Counting objects: 1941611, done. > remote: Compressing objects: 100% (318945/318945), done. > remote: Total 1941611 (delta 1614307), reused 1930825 (delta 1604777) > Receiving objects: 100% (1941611/1941611), 397.88 MiB | 1.33 MiB/s, done. > Resolving deltas: 100% (1614307/1614307), done. > + cd linux-2.6-pvops.git.tmp > + git checkout -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x > fatal: git checkout: branch xen/stable-2.6.32.x already exists > + mv linux-2.6-pvops.git.tmp linux-2.6-pvops.git > touch linux-2.6-pvops.git/.valid-src > rm -rf build-linux-2.6-pvops_x86_64 > mkdir -p build-linux-2.6-pvops_x86_64 > # Re-use config from install dir if one exists. Next try to use > # buildconfigs/create_config.sh is one is provided by the source > # tree. Finally attempt to use make defconfig. > set -e ; \ > CONFIG_VERSION=$(sed -ne ''s/$(XENGUEST)//; s/^EXTRAVERSION > //p'' linux-2.6-pvops.git/Makefile); \ > if [ ! -z "" -a -r "" ]; then \ > cp > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config; > \ > elif [ -r > > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/dist/install/boot/config-2.6.$CONFIG_VERSION > ] ; then \ > cp > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/dist/install/boot/config-2.6.$CONFIG_VERSION > > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config > ; \ > elif [ -e linux-2.6-pvops.git/buildconfigs/create_config.sh ] ; then > \ > cd linux-2.6-pvops.git && sh buildconfigs/create_config.sh \ > > > /home/yuvraj/XEN-Build/xen-4.0-testing.hg/build-linux-2.6-pvops_x86_64/.config > x86_64 ; \ > echo "Configured build-linux-2.6-pvops_x86_64 using > create_config.sh" ; \ > elif make -C linux-2.6-pvops.git ARCH=$(sh > buildconfigs/select-linux-arch linux-2.6-pvops.git) defconfig > O=$(/bin/pwd)/build-linux-2.6-pvops_x86_64 ; then \ > echo "Configured build-linux-2.6-pvops_x86_64 using defconfig" ; \ > else \ > echo "No configuration method found for this kernel" ; \ > fi > sed: can''t read linux-2.6-pvops.git/Makefile: No such file or directory > make[3]: *** [build-linux-2.6-pvops_x86_64/include/linux/autoconf.h] Error > 2 > make[3]: Leaving directory `/home/yuvraj/XEN-Build/xen-4.0-testing.hg'' > make[2]: *** [linux-2.6-pvops-install] Error 2 > make[2]: Leaving directory `/home/yuvraj/XEN-Build/xen-4.0-testing.hg'' > make[1]: *** [install-kernels] Error 1 > make[1]: Leaving directory `/home/yuvraj/XEN-Build/xen-4.0-testing.hg'' > make: *** [world] Error 2 > >The following make option will mostly work: make XEN_LINUX_GIT_LOCALBRANCH=local/xen/stable-2.6.32.x world Refer to http://lists.xensource.com/archives/html/xen-users/2010-12/msg00106.html Thanks. Kindest regards, Giam Teck Choon _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
John C. McCullough writes ("Re: [Xen-devel] XEN building "make world" broken?"):> + git checkout -b xen/stable-2.6.32.x xen/xen/stable-2.6.32.x > fatal: git checkout: branch xen/stable-2.6.32.x already exists > ......> Looks like the local xen/stable-2.6.32.x branch that is started in the > build process got pushed into the main repo.Jeremy, has something changed in your kernel.org tree ?> Removing the local branch creation works: > > diff -r 996f7815b070 buildconfigs/src.git-clone > --- a/buildconfigs/src.git-clone Thu Feb 10 17:26:19 2011 +0000 > +++ b/buildconfigs/src.git-clone Thu Feb 17 11:50:35 2011 -0800 > @@ -26,7 +26,7 @@ > rm -rf $(LINUX_SRCDIR) $(LINUX_SRCDIR).tmp; \ > mkdir $(LINUX_SRCDIR).tmp; rmdir $(LINUX_SRCDIR).tmp; \ > $(GIT) clone -o $(XEN_GIT_ORIGIN) -n > $(XEN_LINUX_GIT_URL) $(LINUX_SRCDIR).tmp; \ > - (cd $(LINUX_SRCDIR).tmp; git checkout -b > $(XEN_LINUX_GIT_LOCALBRANCH) $(XEN_LINUX_GITREV) ); \ > + (cd $(LINUX_SRCDIR).tmp; git checkout > $(XEN_LINUX_GITREV) ); \This doesn''t work because if the XEN_LINUX_GITREV is revision rather than a branch name, some versions of git won''t change HEAD to it. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, Feb 18, 2011 at 03:24:27PM +0000, Ian Jackson wrote:> This doesn''t work because if the XEN_LINUX_GITREV is revision rather > than a branch name, some versions of git won''t change HEAD to it.I used the solution suggested at http://lists.xensource.com/archives/html/xen-users/2010-12/msg00230.html which fixes ''make world'' for me. Thanks, Ward. -- Ward Vandewege <ward@gnu.org> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ward Vandewege writes ("Re: [Xen-devel] XEN building "make world" broken?"):> On Fri, Feb 18, 2011 at 03:24:27PM +0000, Ian Jackson wrote: > > This doesn''t work because if the XEN_LINUX_GITREV is revision rather > > than a branch name, some versions of git won''t change HEAD to it. > > I used the solution suggested at > http://lists.xensource.com/archives/html/xen-users/2010-12/msg00230.html > which fixes ''make world'' for me.Does this help ? diff -r d210f43decdf buildconfigs/src.git-clone --- a/buildconfigs/src.git-clone Fri Feb 18 15:32:02 2011 +0000 +++ b/buildconfigs/src.git-clone Fri Feb 18 15:56:10 2011 +0000 @@ -15,7 +15,7 @@ endif XEN_GIT_ORIGIN ?= xen -XEN_LINUX_GIT_LOCALBRANCH ?= $(XEN_LINUX_GIT_REMOTEBRANCH) +XEN_LINUX_GIT_LOCALBRANCH ?= dummy # Set XEN_LINUX_GITREV to update to a particlar revision. XEN_LINUX_GITREV ?= $(XEN_GIT_ORIGIN)/$(XEN_LINUX_GIT_REMOTEBRANCH) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel