* Re: 01/01: gnu: boost: Update to 1.58.0. [not found] ` <E1ZCwkI-0003Mp-SX@vcs.savannah.gnu.org> @ 2015-07-08 23:12 ` Mark H Weaver 2015-07-09 22:00 ` Mark H Weaver 0 siblings, 1 reply; 9+ messages in thread From: Mark H Weaver @ 2015-07-08 23:12 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Andreas Enge <andreas@enge.fr> writes: > commit 16de69c950c473cc3d386cd7569bd1d6051614b6 > Author: Andreas Enge <andreas@enge.fr> > Date: Wed Jul 8 23:18:40 2015 +0200 > > gnu: boost: Update to 1.58.0. > > * gnu/packages/boost.scm (boost): Update to 1.58.0. This fails to build on mips64el, where boost-1.57.0 worked. http://hydra.gnu.org/build/563826 It appears to be because of the -m32 compiler option, which is Intel specific. Can you take a look? Mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: 01/01: gnu: boost: Update to 1.58.0. 2015-07-08 23:12 ` 01/01: gnu: boost: Update to 1.58.0 Mark H Weaver @ 2015-07-09 22:00 ` Mark H Weaver 2015-07-09 23:17 ` Andreas Enge 0 siblings, 1 reply; 9+ messages in thread From: Mark H Weaver @ 2015-07-09 22:00 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Mark H Weaver <mhw@netris.org> writes: > Andreas Enge <andreas@enge.fr> writes: > >> commit 16de69c950c473cc3d386cd7569bd1d6051614b6 >> Author: Andreas Enge <andreas@enge.fr> >> Date: Wed Jul 8 23:18:40 2015 +0200 >> >> gnu: boost: Update to 1.58.0. >> >> * gnu/packages/boost.scm (boost): Update to 1.58.0. > > This fails to build on mips64el, where boost-1.57.0 worked. > > http://hydra.gnu.org/build/563826 > > It appears to be because of the -m32 compiler option, which is Intel > specific. Can you take a look? Boost turns out to be an important package. The fallout from this is 412 newly failed builds on mips64el: http://hydra.gnu.org/eval/105333#tabs-now-fail http://hydra.gnu.org/eval/105355?compare=105351#tabs-now-fail If we can't fix this soon, I think we should revert the boost update. What do you think? Mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: 01/01: gnu: boost: Update to 1.58.0. 2015-07-09 22:00 ` Mark H Weaver @ 2015-07-09 23:17 ` Andreas Enge 2015-07-10 16:52 ` Mark H Weaver 0 siblings, 1 reply; 9+ messages in thread From: Andreas Enge @ 2015-07-09 23:17 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 5165 bytes --] On Thu, Jul 09, 2015 at 06:00:39PM -0400, Mark H Weaver wrote: > Boost turns out to be an important package. The fallout from this is > 412 newly failed builds on mips64el: > http://hydra.gnu.org/eval/105333#tabs-now-fail I do not quite understand this number, it should be 65 according to the first link. But anyway, it is an important package. I noticed the problem this morning when looking at hydra, and did a quick check, by grepping for "-m32". It appears in boost_1_58_0/tools/build/src/tools/gcc.jam: rule setup-address-model ( targets * : sources * : properties * ) { local model = [ feature.get-values address-model : $(properties) ] ; if $(model) { local option ; local os = [ feature.get-values target-os : $(properties) ] ; if $(os) = aix ... else if $(os) = hpux ... else { local arch = [ feature.get-values architecture : $(properties) ] ; if $(arch) != arm { if $(model) = 32 { option = -m32 ; } else if $(model) = 64 { option = -m64 ; } } # For darwin, the model can be 32_64. darwin.jam will handle that # on its own. } OPTIONS on $(targets) += $(option) ; } } So it might be enough to exclude mips (or something starting with "mips") at the same time as arm. On the other hand, I just checked that the same expressions were already there in 1.57, so this cannot be the problem. And on yet another hand, I made a recursive diff of boost 1.57 and 1.58 and grepped for '\-m32', without success. So the change must be more subtle. The build log for 1.58 contains the following: starting phase `build' Performing configuration checks - 32-bit : yes - arm : no - mips1 : no - power : no - sparc : no - x86 : no - combined : no Building the Boost C++ Libraries. - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - zlib : no - iconv (libc) : no - iconv (separate) : no - icu : no - icu (lib64) : no - Boost.Locale needs either iconv or ICU library to be built. - Boost.Locale needs either iconv or ICU library to be built. - Boost.Locale needs either iconv or ICU library to be built. - Boost.Locale needs either iconv or ICU library to be built. - Boost.Locale needs either iconv or ICU library to be built. - Boost.Locale needs either iconv or ICU library to be built. - x86 : no - arm : no - mips1 : no - power : no - sparc : no - lockfree boost::atomic_flag : no - gcc visibility : no - long double support : no For the last (working) build of boost 1.57, the corresponding passage was: starting phase `build' Building the Boost C++ Libraries. Performing configuration checks - has_icu builds : no warning: Graph library does not contain MPI-based parallel components. note: to enable them, add "using mpi ;" to your user-config.jam - zlib : yes - iconv (libc) : yes - icu : no - icu (lib64) : no - x86 : no - arm : no - mips1 : no - power : no - sparc : no - lockfree boost::atomic_flag : yes - gcc visibility : yes - long double support : yes The new line "32-bit: yes" looks suspicious. Strangely enough, it was already present in boost 1.57 for i686, and similar lines ("32-bit: no 64-bit: yes") for x86_64. So I think that the logic for checking for 32 bits changed. When I try to build by hand (with the toolchain from debian jessie, not guix) on my mips machine, the first few lines are Performing configuration checks - 32-bit : yes - arm : no - mips1 : yes Building the Boost C++ Libraries. This is already different; on hydra, the mips architecture is apparently not recognised. But I also get the additional "-m32" flag and the subsequent build failure. I tried to replace in the above file gcc.jam the line if $(arch) != arm by if $(arch) = x86 The build starts and compiles a few files without problem. I need to stop now, but can make more thorough tests tomorrow, unless you feel like giving the attached patch a try on mips and x86, which could be helpful: The last time I updated my guix on mips was before the core-updates merge, so it may be a long while until I catch up. If you wish, you may also revert the boost upgrade for the time being. Andreas [-- Attachment #2: boost-mips-avoid-m32.patch --] [-- Type: text/plain, Size: 527 bytes --] diff -u -r boost_1_58_0.orig/tools/build/src/tools/gcc.jam boost_1_58_0/tools/build/src/tools/gcc.jam --- boost_1_58_0.orig/tools/build/src/tools/gcc.jam 2015-04-04 19:25:07.000000000 +0200 +++ boost_1_58_0/tools/build/src/tools/gcc.jam 2015-07-10 01:08:19.822733823 +0200 @@ -451,7 +451,7 @@ else { local arch = [ feature.get-values architecture : $(properties) ] ; - if $(arch) != arm + if $(arch) = x86 { if $(model) = 32 { ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: 01/01: gnu: boost: Update to 1.58.0. 2015-07-09 23:17 ` Andreas Enge @ 2015-07-10 16:52 ` Mark H Weaver 2015-07-10 19:25 ` Andreas Enge 0 siblings, 1 reply; 9+ messages in thread From: Mark H Weaver @ 2015-07-10 16:52 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Andreas Enge <andreas@enge.fr> writes: > On Thu, Jul 09, 2015 at 06:00:39PM -0400, Mark H Weaver wrote: >> Boost turns out to be an important package. The fallout from this is >> 412 newly failed builds on mips64el: >> http://hydra.gnu.org/eval/105333#tabs-now-fail > > I do not quite understand this number, it should be 65 according to the > first link. But anyway, it is an important package. I'm not 100% sure what's happening either, but more packages are becoming broken over time. I think it has to do with the fact that 'git' is one of the broken packages, and other packages that fetch their source code using 'git' are becoming broken whenever Guix decides it's time to try re-downloading the source, e.g.: http://hydra.gnu.org/eval/105357#tabs-now-fail http://hydra.gnu.org/eval/105355?filter=.mips64el-linux&compare=105351#tabs-now-fail Anyway, thanks for investigating this, but it seems that we still don't understand what's going on, and meanwhile our MIPS port is extremely broken. I've reverted the patch. After we have a solution to this problem, we can build it in a separate branch. I think we should have done this anyway, since updating Boost entails a lot of rebuilds, and has a history of being problematic on non-Intel platforms. Does that make sense? Mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: 01/01: gnu: boost: Update to 1.58.0. 2015-07-10 16:52 ` Mark H Weaver @ 2015-07-10 19:25 ` Andreas Enge 2015-07-10 20:03 ` Mark H Weaver 2015-07-10 21:28 ` Mark H Weaver 0 siblings, 2 replies; 9+ messages in thread From: Andreas Enge @ 2015-07-10 19:25 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel On Fri, Jul 10, 2015 at 12:52:24PM -0400, Mark H Weaver wrote: > I'm not 100% sure what's happening either, but more packages are > becoming broken over time. I think it has to do with the fact that > 'git' is one of the broken packages, and other packages that fetch their > source code using 'git' are becoming broken whenever Guix decides it's > time to try re-downloading the source, e.g.: Okay, that is an interesting explanation! > I've reverted the patch. After we have a solution to this problem, we > can build it in a separate branch. I think we should have done this > anyway, since updating Boost entails a lot of rebuilds, and has a > history of being problematic on non-Intel platforms. With only 69 dependent packages, it did not look like a big risk! It just built with the patch on my mips machine: Performing configuration checks - 32-bit : yes - arm : no - mips1 : no - power : no - sparc : no - x86 : no - combined : no I still find it suspicious that it is not recognised as "mips1"; it may have to do with the different ABIs, since when I build it on debian, it says "mips1 : yes". I will push this to a wip-boost branch, and try to build a dependent package locally. I wonder if I should base wip-boost on openssl-update; but with only 69 dependent packages (if the count is true), it probably does not matter. Andreas > > Does that make sense? > > Mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: 01/01: gnu: boost: Update to 1.58.0. 2015-07-10 19:25 ` Andreas Enge @ 2015-07-10 20:03 ` Mark H Weaver 2015-07-11 8:32 ` Andreas Enge 2015-07-10 21:28 ` Mark H Weaver 1 sibling, 1 reply; 9+ messages in thread From: Mark H Weaver @ 2015-07-10 20:03 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Andreas Enge <andreas@enge.fr> writes: > On Fri, Jul 10, 2015 at 12:52:24PM -0400, Mark H Weaver wrote: >> I'm not 100% sure what's happening either, but more packages are >> becoming broken over time. I think it has to do with the fact that >> 'git' is one of the broken packages, and other packages that fetch their >> source code using 'git' are becoming broken whenever Guix decides it's >> time to try re-downloading the source, e.g.: > > Okay, that is an interesting explanation! > >> I've reverted the patch. After we have a solution to this problem, we >> can build it in a separate branch. I think we should have done this >> anyway, since updating Boost entails a lot of rebuilds, and has a >> history of being problematic on non-Intel platforms. > > With only 69 dependent packages, it did not look like a big risk! It's definitely more than that. As I recall, Hydra had to do on the order of 600 rebuilds after your boost update. This is a case where "guix refresh -l" is way off. > It just built with the patch on my mips machine: > Performing configuration checks > > - 32-bit : yes > - arm : no > - mips1 : no > - power : no > - sparc : no > - x86 : no > - combined : no > I still find it suspicious that it is not recognised as "mips1"; it may > have to do with the different ABIs, since when I build it on debian, > it says "mips1 : yes". Yes, it might have to do with that. Debian uses the O32 ABI. > I will push this to a wip-boost branch, and try to build a dependent package > locally. I wonder if I should base wip-boost on openssl-update; but with > only 69 dependent packages (if the count is true), it probably does not > matter. Can we do this on core-updates instead? I'm currently working on a core-updates branch. I will push it soon, after I've done some basic testing on it. Hydra is already overloaded trying to rebuild the openssl-update jobset, and now it will have more to do since I reverted boost on master and rebased openssl-update on that. I want to get openssl-update built ASAP. What do you think? Mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: 01/01: gnu: boost: Update to 1.58.0. 2015-07-10 20:03 ` Mark H Weaver @ 2015-07-11 8:32 ` Andreas Enge 2015-07-11 13:37 ` Mark H Weaver 0 siblings, 1 reply; 9+ messages in thread From: Andreas Enge @ 2015-07-11 8:32 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel Hi Mark, On Fri, Jul 10, 2015 at 04:03:50PM -0400, Mark H Weaver wrote: > Can we do this on core-updates instead? I'm currently working on a > core-updates branch. I will push it soon, after I've done some basic > testing on it. I would prefer a separate branch - with hydra lagging behind, we tend to build only the core packages on core-updates, so I think we would not even see the result of a boost update. On Fri, Jul 10, 2015 at 05:28:10PM -0400, Mark H Weaver wrote: > I would also prefer to prioritize getting this openssl security fix > deployed, if you don't mind. Toward that end, I'm going to delete the > jobset on Hydra for now. If you disagree, can we talk about it? No problem; I was just in a hurry because I am leaving for a week. I just created a clean wip-boost branch with the two commits (boost update and patch) applied on top of the current master. Once openssl-update has built, could you please rebase wip-boost and try to have it built on hydra? Thanks a lot! Andreas ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: 01/01: gnu: boost: Update to 1.58.0. 2015-07-11 8:32 ` Andreas Enge @ 2015-07-11 13:37 ` Mark H Weaver 0 siblings, 0 replies; 9+ messages in thread From: Mark H Weaver @ 2015-07-11 13:37 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Andreas Enge <andreas@enge.fr> writes: > Hi Mark, > > On Fri, Jul 10, 2015 at 04:03:50PM -0400, Mark H Weaver wrote: >> Can we do this on core-updates instead? I'm currently working on a >> core-updates branch. I will push it soon, after I've done some basic >> testing on it. > > I would prefer a separate branch - with hydra lagging behind, we tend > to build only the core packages on core-updates, so I think we would not > even see the result of a boost update. Okay. > On Fri, Jul 10, 2015 at 05:28:10PM -0400, Mark H Weaver wrote: >> I would also prefer to prioritize getting this openssl security fix >> deployed, if you don't mind. Toward that end, I'm going to delete the >> jobset on Hydra for now. If you disagree, can we talk about it? > > No problem; I was just in a hurry because I am leaving for a week. > I just created a clean wip-boost branch with the two commits (boost update > and patch) applied on top of the current master. Once openssl-update has > built, could you please rebase wip-boost and try to have it built on hydra? Will do. Thanks, Mark ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: 01/01: gnu: boost: Update to 1.58.0. 2015-07-10 19:25 ` Andreas Enge 2015-07-10 20:03 ` Mark H Weaver @ 2015-07-10 21:28 ` Mark H Weaver 1 sibling, 0 replies; 9+ messages in thread From: Mark H Weaver @ 2015-07-10 21:28 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel Andreas Enge <andreas@enge.fr> writes: > I will push this to a wip-boost branch, and try to build a dependent package > locally. I wonder if I should base wip-boost on openssl-update; but with > only 69 dependent packages (if the count is true), it probably does not > matter. I see that you pushed this branch and asked Hydra to build it. First, I don't think that we should be building a new branch against a version of openssl with a known security flaw. It will only have to be immediately rebuilt again. I would also prefer to prioritize getting this openssl security fix deployed, if you don't mind. Toward that end, I'm going to delete the jobset on Hydra for now. If you disagree, can we talk about it? Mark ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-07-11 13:37 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20150708211909.12880.83730@vcs.savannah.gnu.org> [not found] ` <E1ZCwkI-0003Mp-SX@vcs.savannah.gnu.org> 2015-07-08 23:12 ` 01/01: gnu: boost: Update to 1.58.0 Mark H Weaver 2015-07-09 22:00 ` Mark H Weaver 2015-07-09 23:17 ` Andreas Enge 2015-07-10 16:52 ` Mark H Weaver 2015-07-10 19:25 ` Andreas Enge 2015-07-10 20:03 ` Mark H Weaver 2015-07-11 8:32 ` Andreas Enge 2015-07-11 13:37 ` Mark H Weaver 2015-07-10 21:28 ` Mark H Weaver
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).