[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] qemu build failure on release tarball with python <= 3.5
The RC1 release tarball failed its test build on the rather old install I was using. I decided to release it anyway, but ideally this would be improved. The problem is that the version of qemu upstream we are now using requires Python 3.6. We don't want to downgrade it and trying to improve the version support upstream is not going to be practical. Most distro users won't use the qemu we ship. It's there for the benefit of users, to make sure we can provide one that is known to be working. It seems like the best available alternative for users who cannot upgrade their python3 is to use --with-system-qemu and hope that the system qemu works well enough. (We have quite loose coupling here.) I will look into improving the error handling, to try to give users who encounter this problem some advice and save they trying doomed approaches to fix it. In the meantime, with my release technician hat on, I will do the test builds in an environment with Python 3.6. IRC conversation below. Ian. 17:08 <@Diziet> anthonyper: My test build for the RC1 failed because I did it in an environment whose python3 version was 3.5.3 17:08 <@Diziet> I decided to release it anyway. 17:08 <@Diziet> Now I debug it I discover that this is because qemu upstream needs python 3.6 17:10 <@Diziet> Python 3.6.0 was released upstream a shade less than 5ya 17:11 <@Diziet> What is your opinion about this situation ? (Feel free to cast aspersions.) 17:13 <anthonyper> people can build older version of QEMU if their build environment is too old to build recent version. 17:13 <@Diziet> And not use the one we supply, you mean. 17:13 <@andyhhp> hmm - current CI has a check for Py3.5 17:13 <@andyhhp> so apparently we have no containers using Py3.5 17:14 <anthonyper> ah, I forgot we include QEMU in the release tarball :-( 17:15 <@Diziet> That is useful to people getting our stuff directly because upstream qemu often breaks :-( 17:15 <anthonyper> Do you mean that released version of QEMU often break? 17:16 <@Diziet> I think we have sometimes failed to get regressions fixed before upstream qemu released with them. 17:17 <@Diziet> (I would have to search through my records to be sure.) 17:17 <@Diziet> I doubt we want to try to fix our tarball so that it can build that qemu with older python. 17:19 <@Diziet> That leaves: (i) don't put qemu in the tarball; (ii) ship it as is and expect users with old python to disable it (iii) same but disable the build by default 17:19 <@Diziet> In any case I should do the test build with newer python. 17:19 <@Diziet> Right now the failure mode is very poor: it runs through our configure, and then our make runs qemu configure which bombs out 17:19 <anthonyper> I usually keep an eye on osstest flight, and would try harder to get QEMU fixed before it releases. But yes, it can happen that a release is broken. Hopofully, that doesn't happen too often. 17:22 <@Diziet> Do you see any other options besides my (i),(ii),(iii) above ? Which do you think is best ? 17:22 <@Diziet> (I guess we could make whether we build qemu depend on the python version we find but omg that is going to be fragile and also quite surprising to people) 17:25 <anthonyper> I guess (ii) is fine for now. (i) would probably be best, but we would probably want to change the way we build xen and the tool I think. (iii) disable qemu by default would be supprising as well, I guess. 17:25 <anthonyper> I wounder how many distribution would have a separate build for qemu, and thus not using xen's tarball for qemu. 17:27 <anthonyper> I don't think we can disable qemu's build depending on python version, we might be building a qemu that have different requirement. 17:31 <@Diziet> I think distros will generally want to have only one qemu. 17:31 <@Diziet> Certainly that's true of Debian. 17:32 <@Diziet> So they won't use ours. It's the people just getting our tarball that might need our help. If it won't build hopefully their distro qemu will work and they can use --with-system-qemu 17:34 <@Diziet> I wonder if we can improve the UX here. Ideally we would run the upstream qemu configure as part of our configure but since our Makefile is the thing which clones it that's not so easy. 17:34 <anthonyper> also, we need to start building the toolstack anyway (libs and include) before to call QEMU's configure. 17:38 <@Diziet> Mmm, yes 17:38 <@Diziet> And our configure doesn't know what version of qemu's it's going to get 17:40 <@Diziet> Maybe I can improve the error message at least. 17:40 <@Diziet> anthonyper: Thanks for your help. I will go away and think about it.
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |