* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. [not found] ` <20180702101758.97A6020543@vcs0.savannah.gnu.org> @ 2018-07-02 17:29 ` Mark H Weaver 2018-07-02 18:06 ` Marius Bakke 2018-07-02 18:28 ` 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf Marius Bakke 0 siblings, 2 replies; 20+ messages in thread From: Mark H Weaver @ 2018-07-02 17:29 UTC (permalink / raw) To: Marius Bakke; +Cc: guix-devel Hi Marius, mbakke@fastmail.com (Marius Bakke) writes: > mbakke pushed a commit to branch staging > in repository guix. > > commit cb4b508cd68df89bfbd5255a0c5569f8318ad50f > Author: Marius Bakke <mbakke@fastmail.com> > Date: Mon Jul 2 12:07:58 2018 +0200 > > build-system/meson: Really skip the 'fix-runpath' phase on armhf. > > This follows up commit d5b5a15a4046362377f1a45d466b43bb6e93d4f which doesn't > work because %current-system etc expands before the actual build. I'm disappointed by this workaround that simply removes the 'fix-runpath' phase on armhf. Is that phase needed, or is it truly optional? What does the phase accomplish, and how will armhf users be disadvantaged by the removal of that phase? This feels like "sweeping the problem under the rug" to me. > Fixes <https://bugs.gnu.org/31719>. I don't see the connection between that bug and this commit. How does this commit fix that bug? Thanks, Mark ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. 2018-07-02 17:29 ` 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf Mark H Weaver @ 2018-07-02 18:06 ` Marius Bakke 2018-07-03 19:20 ` Mark H Weaver 2018-07-02 18:28 ` 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf Marius Bakke 1 sibling, 1 reply; 20+ messages in thread From: Marius Bakke @ 2018-07-02 18:06 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1552 bytes --] Mark H Weaver <mhw@netris.org> writes: > Hi Marius, > > mbakke@fastmail.com (Marius Bakke) writes: > >> mbakke pushed a commit to branch staging >> in repository guix. >> >> commit cb4b508cd68df89bfbd5255a0c5569f8318ad50f >> Author: Marius Bakke <mbakke@fastmail.com> >> Date: Mon Jul 2 12:07:58 2018 +0200 >> >> build-system/meson: Really skip the 'fix-runpath' phase on armhf. >> >> This follows up commit d5b5a15a4046362377f1a45d466b43bb6e93d4f which doesn't >> work because %current-system etc expands before the actual build. > > I'm disappointed by this workaround that simply removes the > 'fix-runpath' phase on armhf. Is that phase needed, or is it truly > optional? What does the phase accomplish, and how will armhf users be > disadvantaged by the removal of that phase? > > This feels like "sweeping the problem under the rug" to me. It *is* sweeping the problem under the rug, no doubt. The only alternatives I can see is fixing patchelf on armhf, which is difficult for me without access to hardware; fixing Meson itself, which may be easier, but then we may not be able to merge staging in a long time; or implement patchelf functionality in Guix as Ludovic started with <https://bugs.gnu.org/31028> and is currently in 'core-updates'. Do you have other suggestions? >> Fixes <https://bugs.gnu.org/31719>. > > I don't see the connection between that bug and this commit. > How does this commit fix that bug? Whoops, typo. It should be <https://bugs.gnu.org/31971>. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. 2018-07-02 18:06 ` Marius Bakke @ 2018-07-03 19:20 ` Mark H Weaver 2018-07-04 7:21 ` Ludovic Courtès 0 siblings, 1 reply; 20+ messages in thread From: Mark H Weaver @ 2018-07-03 19:20 UTC (permalink / raw) To: Marius Bakke; +Cc: guix-devel Hi Marius, Marius Bakke <mbakke@fastmail.com> writes: > Mark H Weaver <mhw@netris.org> writes: > >> mbakke@fastmail.com (Marius Bakke) writes: >> >>> mbakke pushed a commit to branch staging >>> in repository guix. >>> >>> commit cb4b508cd68df89bfbd5255a0c5569f8318ad50f >>> Author: Marius Bakke <mbakke@fastmail.com> >>> Date: Mon Jul 2 12:07:58 2018 +0200 >>> >>> build-system/meson: Really skip the 'fix-runpath' phase on armhf. >>> >>> This follows up commit d5b5a15a4046362377f1a45d466b43bb6e93d4f which doesn't >>> work because %current-system etc expands before the actual build. >> >> I'm disappointed by this workaround that simply removes the >> 'fix-runpath' phase on armhf. Is that phase needed, or is it truly >> optional? What does the phase accomplish, and how will armhf users be >> disadvantaged by the removal of that phase? >> >> This feels like "sweeping the problem under the rug" to me. > > It *is* sweeping the problem under the rug, no doubt. The only > alternatives I can see is fixing patchelf on armhf, which is difficult > for me without access to hardware; fixing Meson itself, which may be > easier, but then we may not be able to merge staging in a long time; or > implement patchelf functionality in Guix as Ludovic started with > <https://bugs.gnu.org/31028> and is currently in 'core-updates'. > > Do you have other suggestions? None that I expect to be taken seriously by this community. I'd just like to point out that given the way things are going, I could only recommend Guix to x86_64 users. Almost all of our users are on x86_64, and they are impatient to always have the latest software. In practice, when upgrades would break *any* other system, we move ahead anyway, just like we did with the last 'core-updates' merge, and just like you wish to do now with the 'staging' branch. The end result is that the wishes of the x86_64-using majority are the only ones that seem to matter in this community, and other users are frequently left in a bad spot. This makes it increasingly unlikely that we'll ever gain a significant number of non-x86_64 users. I'm very troubled by this, because I intend to move away from x86_64. Unless there is a significant change in the priorities of the Guix project, I don't think I will be able to continue using Guix. >>> Fixes <https://bugs.gnu.org/31719>. >> >> I don't see the connection between that bug and this commit. >> How does this commit fix that bug? > > Whoops, typo. It should be <https://bugs.gnu.org/31971>. In my view, this commit does not fix that bug. Mark ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. 2018-07-03 19:20 ` Mark H Weaver @ 2018-07-04 7:21 ` Ludovic Courtès 2018-07-04 19:55 ` RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) Mark H Weaver 0 siblings, 1 reply; 20+ messages in thread From: Ludovic Courtès @ 2018-07-04 7:21 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel Hi Mark, Mark H Weaver <mhw@netris.org> skribis: > The end result is that the wishes of the x86_64-using majority are the > only ones that seem to matter in this community, and other users are > frequently left in a bad spot. This makes it increasingly unlikely that > we'll ever gain a significant number of non-x86_64 users. This kind of rant is really unhelpful. You’re shouting at someone who *is* doing the work of keeping things running. And yes, when you do that work, sometimes you have to choose between two suboptimal solutions while waiting for a proper fix. Generalizations about “this community” obviously make no sense. You are a part of “this community” so it cares just as much as you do. Please let’s work in a friendly manner towards finding solutions to the problems. Thank you, Ludo’. ^ permalink raw reply [flat|nested] 20+ messages in thread
* RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-04 7:21 ` Ludovic Courtès @ 2018-07-04 19:55 ` Mark H Weaver 2018-07-04 22:32 ` Kei Kebreau ` (3 more replies) 0 siblings, 4 replies; 20+ messages in thread From: Mark H Weaver @ 2018-07-04 19:55 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel Hi Ludovic, ludo@gnu.org (Ludovic Courtès) writes: > Mark H Weaver <mhw@netris.org> skribis: > >> The end result is that the wishes of the x86_64-using majority are the >> only ones that seem to matter in this community, and other users are >> frequently left in a bad spot. This makes it increasingly unlikely that >> we'll ever gain a significant number of non-x86_64 users. > > This kind of rant is really unhelpful. You’re shouting at someone who > *is* doing the work of keeping things running. I wasn't actually shouting, but in retrospect I can see how it came off that way. I apologize for any hurt feelings that I caused. This is not Marius' fault, and I didn't intend to target him specifically. I'm grateful for the large amount of important work that he does on Guix. However, I do feel frustrated by the fact that it's considered acceptable in this community to leave non-x86_64 users with broken systems in the name of "moving things forward" for x86_64 users. Portability is important to the long-term health of the free software movement. Especially given that fact that Intel has long ago stopped producing processors that can be used without large amounts of nonfree software (including the Intel Management Engine), I think we should work to ensure that Guix works well for users of non-x86_64 systems. The origin of this problem is not in the Guix project. Ultimately, it's due to the fact that x86_64 has far too much market share among GNU/Linux developers, and therefore the upstream projects upon which Guix depends are not being sufficiently tested on other platforms. However, there is one aspect of Guix that is greatly exacerbating this problem: our impatience to always have the latest software, even if it breaks other systems, is a serious problem in my view. It means that if I want to ensure that Guix works well for i686 or armhf users, then I would need to start trying to use Guix on those systems for real work, which at the present time would entail almost single-handedly fixing all of the portability bugs in all of the software that I use, at the full pace of upstream development. I would need to keep this up for long enough to make Guix appear to be a safe choice for i686 or armhf users, so that some of them might help work on these portability issues in the future. Another problem is that Guile 2.2's compiler has become so heavy that it's nearly unbearable to use on slower hardware. Simply running "make" in my Guix git checkout after updating on my mips-based Yeeloong is so slow that I'm in the habit of letting it run overnight. So again, and I'm saying this calmly but with great concern: given the current priorities of the project, I could not recommend Guix to users of non-x86_64 architectures, and I don't see how we can fix that without attracting more developers who use those architectures. However, I don't see how we could attract those developers if we continue to prioritize "moving forward" at full speed for x86_64 users, even when it breaks other systems. > Generalizations about “this community” obviously make no sense. You are > a part of “this community” so it cares just as much as you do. By that reasoning, since I'm part of the community of humans on planet Earth, the community of humans on planet Earth therefore cares as much about free software as I do. When I suggest that the community would not take certain suggestions seriously, e.g. the suggestion to block upgrades or merges that would break non-x86_64 systems, that statement has some meaning. I means that I expect that most people here would disagree, and that the maintainers would rule in favor of "moving forward" at full speed, and that it will be the responsibility of the tiny number of non-x86_64 Guix users to fix portability bugs as quickly as needed so that the x86_64-using majority need not suffer any delays. The problem is, we would need a *lot* more non-x86_64 developers in our community to make that work, and we cannot attract those developers given the current policies. > Please let’s work in a friendly manner towards finding solutions to the > problems. I'm open to suggestions. Do you see any solution to the problem of how to attract more non-x86_64 users, given our current policies? Thanks, Mark ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-04 19:55 ` RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) Mark H Weaver @ 2018-07-04 22:32 ` Kei Kebreau 2018-07-05 8:39 ` Ludovic Courtès 2018-07-05 9:04 ` Jonathan Brielmaier 2018-07-05 6:38 ` Ricardo Wurmus ` (2 subsequent siblings) 3 siblings, 2 replies; 20+ messages in thread From: Kei Kebreau @ 2018-07-04 22:32 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 5023 bytes --] Mark H Weaver <mhw@netris.org> writes: > Hi Ludovic, > > ludo@gnu.org (Ludovic Courtès) writes: > >> Mark H Weaver <mhw@netris.org> skribis: >> >>> The end result is that the wishes of the x86_64-using majority are the >>> only ones that seem to matter in this community, and other users are >>> frequently left in a bad spot. This makes it increasingly unlikely that >>> we'll ever gain a significant number of non-x86_64 users. >> >> This kind of rant is really unhelpful. You’re shouting at someone who >> *is* doing the work of keeping things running. > > I wasn't actually shouting, but in retrospect I can see how it came off > that way. I apologize for any hurt feelings that I caused. > > This is not Marius' fault, and I didn't intend to target him > specifically. I'm grateful for the large amount of important work that > he does on Guix. > > However, I do feel frustrated by the fact that it's considered > acceptable in this community to leave non-x86_64 users with broken > systems in the name of "moving things forward" for x86_64 users. > > Portability is important to the long-term health of the free software > movement. Especially given that fact that Intel has long ago stopped > producing processors that can be used without large amounts of nonfree > software (including the Intel Management Engine), I think we should work > to ensure that Guix works well for users of non-x86_64 systems. > > The origin of this problem is not in the Guix project. Ultimately, it's > due to the fact that x86_64 has far too much market share among > GNU/Linux developers, and therefore the upstream projects upon which > Guix depends are not being sufficiently tested on other platforms. > > However, there is one aspect of Guix that is greatly exacerbating this > problem: our impatience to always have the latest software, even if it > breaks other systems, is a serious problem in my view. > > It means that if I want to ensure that Guix works well for i686 or armhf > users, then I would need to start trying to use Guix on those systems > for real work, which at the present time would entail almost > single-handedly fixing all of the portability bugs in all of the > software that I use, at the full pace of upstream development. I would > need to keep this up for long enough to make Guix appear to be a safe > choice for i686 or armhf users, so that some of them might help work on > these portability issues in the future. > > Another problem is that Guile 2.2's compiler has become so heavy that > it's nearly unbearable to use on slower hardware. Simply running "make" > in my Guix git checkout after updating on my mips-based Yeeloong is so > slow that I'm in the habit of letting it run overnight. > > So again, and I'm saying this calmly but with great concern: given the > current priorities of the project, I could not recommend Guix to users > of non-x86_64 architectures, and I don't see how we can fix that without > attracting more developers who use those architectures. However, I > don't see how we could attract those developers if we continue to > prioritize "moving forward" at full speed for x86_64 users, even when it > breaks other systems. > >> Generalizations about “this community” obviously make no sense. You are >> a part of “this community” so it cares just as much as you do. > > By that reasoning, since I'm part of the community of humans on planet > Earth, the community of humans on planet Earth therefore cares as much > about free software as I do. > > When I suggest that the community would not take certain suggestions > seriously, e.g. the suggestion to block upgrades or merges that would > break non-x86_64 systems, that statement has some meaning. I means that > I expect that most people here would disagree, and that the maintainers > would rule in favor of "moving forward" at full speed, and that it will > be the responsibility of the tiny number of non-x86_64 Guix users to fix > portability bugs as quickly as needed so that the x86_64-using majority > need not suffer any delays. The problem is, we would need a *lot* more > non-x86_64 developers in our community to make that work, and we cannot > attract those developers given the current policies. > >> Please let’s work in a friendly manner towards finding solutions to the >> problems. > > I'm open to suggestions. Do you see any solution to the problem of how > to attract more non-x86_64 users, given our current policies? > > Thanks, > Mark I am interested in helping with non-x86_64 issues. Particularly, helping with i686-related changes should be just a change in workflow, but I'm interested in obtaining freedom-respecting non-x86 hardware (or at least using a virtual machine as close as possible to real hardware configurations). Any recommendation or links for where I can get a Yeeloong laptop or what freedom-respecting armhf computers are available? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-04 22:32 ` Kei Kebreau @ 2018-07-05 8:39 ` Ludovic Courtès 2018-07-05 14:15 ` Kei Kebreau 2018-07-05 9:04 ` Jonathan Brielmaier 1 sibling, 1 reply; 20+ messages in thread From: Ludovic Courtès @ 2018-07-05 8:39 UTC (permalink / raw) To: Kei Kebreau; +Cc: guix-devel Hello Kei, Kei Kebreau <kkebreau@posteo.net> skribis: > I am interested in helping with non-x86_64 issues. Particularly, helping > with i686-related changes should be just a change in workflow, but I'm > interested in obtaining freedom-respecting non-x86 hardware (or at least > using a virtual machine as close as possible to real hardware > configurations). Any recommendation or links for where I can get a > Yeeloong laptop or what freedom-respecting armhf computers are > available? Without having actual hardware, you can use the qemu-binfmt service on your machine (info "(guix) Virtualization Services"). It’s slow, but it allows you to reproduce and debug issues for other architectures. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-05 8:39 ` Ludovic Courtès @ 2018-07-05 14:15 ` Kei Kebreau 0 siblings, 0 replies; 20+ messages in thread From: Kei Kebreau @ 2018-07-05 14:15 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 854 bytes --] ludo@gnu.org (Ludovic Courtès) writes: > Hello Kei, > > Kei Kebreau <kkebreau@posteo.net> skribis: > >> I am interested in helping with non-x86_64 issues. Particularly, helping >> with i686-related changes should be just a change in workflow, but I'm >> interested in obtaining freedom-respecting non-x86 hardware (or at least >> using a virtual machine as close as possible to real hardware >> configurations). Any recommendation or links for where I can get a >> Yeeloong laptop or what freedom-respecting armhf computers are >> available? > > Without having actual hardware, you can use the qemu-binfmt service on > your machine (info "(guix) Virtualization Services"). It’s slow, but it > allows you to reproduce and debug issues for other architectures. > > Thanks, > Ludo’. Wow, this is excellent! Thanks for the tip. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-04 22:32 ` Kei Kebreau 2018-07-05 8:39 ` Ludovic Courtès @ 2018-07-05 9:04 ` Jonathan Brielmaier 2018-07-05 19:40 ` Andreas Enge 1 sibling, 1 reply; 20+ messages in thread From: Jonathan Brielmaier @ 2018-07-05 9:04 UTC (permalink / raw) To: guix-devel On 7/5/18 12:32 AM, Kei Kebreau wrote: >> I'm open to suggestions. Do you see any solution to the problem of how >> to attract more non-x86_64 users, given our current policies? >> >> Thanks, >> Mark > > I am interested in helping with non-x86_64 issues. Particularly, helping > with i686-related changes should be just a change in workflow, but I'm > interested in obtaining freedom-respecting non-x86 hardware (or at least > using a virtual machine as close as possible to real hardware > configurations). Any recommendation or links for where I can get a > Yeeloong laptop or what freedom-respecting armhf computers are > available? I just want to bring POWER up as a freedom-respecting architecture. Especially the TalosII from RaptorCS[0]. I know that guix does not work on ppc64le yet, but I'm working for it :) They tend to be quite expensive, but you get a decent performance on compiling and packing[1]. Regarding ARM hardware: I have access to a bunch of performant ARM machines (Cavium Thunder, AMD ARM stuff etc.) at work. So feel free to drop me a mail or set me to CC, if you need something to be tested on ARM :) [0] https://raptorcs.com/ [1] https://www.phoronix.com/scan.php?page=article&item=power9-talos-2&num=3 ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-05 9:04 ` Jonathan Brielmaier @ 2018-07-05 19:40 ` Andreas Enge 0 siblings, 0 replies; 20+ messages in thread From: Andreas Enge @ 2018-07-05 19:40 UTC (permalink / raw) To: Jonathan Brielmaier; +Cc: guix-devel Hello, On Thu, Jul 05, 2018 at 11:04:31AM +0200, Jonathan Brielmaier wrote: > I just want to bring POWER up as a freedom-respecting architecture. > Especially the TalosII from RaptorCS[0]. I know that guix does not work > on ppc64le yet, but I'm working for it :) They tend to be quite > expensive, but you get a decent performance on compiling and packing[1]. this is indeed an exciting architecture. Vikings had a machine on display at their FOSDEM table earlier this year. But the price is still quite steep, if you know anybody who would sponsor a machine... Andreas ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-04 19:55 ` RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) Mark H Weaver 2018-07-04 22:32 ` Kei Kebreau @ 2018-07-05 6:38 ` Ricardo Wurmus 2018-07-05 8:46 ` Ludovic Courtès 2018-07-05 9:52 ` Andreas Enge 2018-07-05 8:50 ` Ludovic Courtès 2018-07-05 9:01 ` Ludovic Courtès 3 siblings, 2 replies; 20+ messages in thread From: Ricardo Wurmus @ 2018-07-05 6:38 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel Hi Mark, > However, I do feel frustrated by the fact that it's considered > acceptable in this community to leave non-x86_64 users with broken > systems in the name of "moving things forward" for x86_64 users. I don’t think this is true. > When I suggest that the community would not take certain suggestions > seriously, e.g. the suggestion to block upgrades or merges that would > break non-x86_64 systems, that statement has some meaning. I means that > I expect that most people here would disagree, and that the maintainers > would rule in favor of "moving forward" at full speed, and that it will > be the responsibility of the tiny number of non-x86_64 Guix users to fix > portability bugs as quickly as needed so that the x86_64-using majority > need not suffer any delays. It’s neither about “moving forward” at all costs nor about “full speed”; while we are generally moving forward, it’s hardly at full speed. The last core-updates merge was blocked for months, but it contained critical fixes that had to be worked around in other branches, which was an untenable position given the number of developers. FWIW, I’m using a i686 machine with 2GB RAM myself, and I did test the core-updates things on that machine (as far as the software is concerned that I’m using). I was rather surprised by the GRUB bug, to be honest. I do agree with your laments about a lack of popularity of non-x86_64 systems and thus developers, but I do think this has been getting better with the work this community has done to support Guix for the aarch64 and armhf architectures, and by adding aarch64/armhf build servers to the build farm. We can and should do more of this, but it won’t happen by decree. One thing that would help, in my opinion, is to purchase hardware and make it available to interested developers and/or join these new machines to the build farm. We would need to come to an agreement about at least these things: * what exact system configurations do we want? * where would these systems be hosted? * how many do we need / can we afford to buy and pay hosting fees for? The last time this has come up the discussion kinda tapered out. It would be good if someone or a group of people would volunteer to take this on and drive this project to its conclusion. -- Ricardo ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-05 6:38 ` Ricardo Wurmus @ 2018-07-05 8:46 ` Ludovic Courtès 2018-07-05 9:52 ` Andreas Enge 1 sibling, 0 replies; 20+ messages in thread From: Ludovic Courtès @ 2018-07-05 8:46 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: guix-devel Hello, Ricardo Wurmus <rekado@elephly.net> skribis: >> However, I do feel frustrated by the fact that it's considered >> acceptable in this community to leave non-x86_64 users with broken >> systems in the name of "moving things forward" for x86_64 users. > > I don’t think this is true. What is true is that most Guix users use x86_64 primarily. But there’s also a lot of interest in ARM. Guix doesn’t exist in a vacuum, and I think the situation of non-x86_64 support in Guix is just as good or bad as in other free software projects. We have fewer packages available on non-x86_64 architectures, but that’s in large part due to upstream packages not supporting those architectures in the first place. I agree this is sad, but repeating it doesn’t help address it. > I do agree with your laments about a lack of popularity of non-x86_64 > systems and thus developers, but I do think this has been getting better > with the work this community has done to support Guix for the aarch64 > and armhf architectures, and by adding aarch64/armhf build servers to > the build farm. We can and should do more of this, but it won’t happen > by decree. Agreed. > One thing that would help, in my opinion, is to purchase hardware and > make it available to interested developers and/or join these new > machines to the build farm. We would need to come to an agreement about > at least these things: > > * what exact system configurations do we want? > * where would these systems be hosted? > * how many do we need / can we afford to buy and pay hosting fees for? > > The last time this has come up the discussion kinda tapered out. It > would be good if someone or a group of people would volunteer to take > this on and drive this project to its conclusion. I agree! If someone cares about ARM, for instance, now’s the time to tell us what we should buy and to offer to help out with hosting/sysadmin. That would be immensely helpful in maintaining non-x86_64 up to speed. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-05 6:38 ` Ricardo Wurmus 2018-07-05 8:46 ` Ludovic Courtès @ 2018-07-05 9:52 ` Andreas Enge 1 sibling, 0 replies; 20+ messages in thread From: Andreas Enge @ 2018-07-05 9:52 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: guix-devel Hello all, of course I can all but agree that support for "exotic" hardware is very desirable, especially since, as Mark pointed out, we would like it to become more mainstream! On Thu, Jul 05, 2018 at 08:38:19AM +0200, Ricardo Wurmus wrote: > One thing that would help, in my opinion, is to purchase hardware and > make it available to interested developers and/or join these new > machines to the build farm. If people want to look at armhf, one of the donated Novena boards is currently running in my living room, under the name of redhill.guixsd.org. I could of course create accounts for Guix developers who want to have access to debug the architecture. Andreas ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-04 19:55 ` RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) Mark H Weaver 2018-07-04 22:32 ` Kei Kebreau 2018-07-05 6:38 ` Ricardo Wurmus @ 2018-07-05 8:50 ` Ludovic Courtès 2018-07-05 9:01 ` Ludovic Courtès 3 siblings, 0 replies; 20+ messages in thread From: Ludovic Courtès @ 2018-07-05 8:50 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel Mark H Weaver <mhw@netris.org> skribis: > Another problem is that Guile 2.2's compiler has become so heavy that > it's nearly unbearable to use on slower hardware. Simply running "make" > in my Guix git checkout after updating on my mips-based Yeeloong is so > slow that I'm in the habit of letting it run overnight. This is a topic on its own, and I really think we can and should do better. I posted observations on where the compiler is spending its time and memory earlier; Andy pushed improvements, but I believe there’s much more than can be done: https://lists.gnu.org/archive/html/guile-devel/2017-10/msg00035.html https://lists.gnu.org/archive/html/guile-devel/2017-05/msg00033.html Ludo’. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) 2018-07-04 19:55 ` RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) Mark H Weaver ` (2 preceding siblings ...) 2018-07-05 8:50 ` Ludovic Courtès @ 2018-07-05 9:01 ` Ludovic Courtès 3 siblings, 0 replies; 20+ messages in thread From: Ludovic Courtès @ 2018-07-05 9:01 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel Hi again Mark, Mark H Weaver <mhw@netris.org> skribis: > ludo@gnu.org (Ludovic Courtès) writes: > >> Mark H Weaver <mhw@netris.org> skribis: >> >>> The end result is that the wishes of the x86_64-using majority are the >>> only ones that seem to matter in this community, and other users are >>> frequently left in a bad spot. This makes it increasingly unlikely that >>> we'll ever gain a significant number of non-x86_64 users. >> >> This kind of rant is really unhelpful. You’re shouting at someone who >> *is* doing the work of keeping things running. > > I wasn't actually shouting, but in retrospect I can see how it came off > that way. I apologize for any hurt feelings that I caused. I think the error is to suggest that people genuinely don’t care about the issues. Often they’re unaware, and sometimes they make suboptimal tradeoffs, as in the PatchELF case, simply because the status quo is worse than the suboptimal tradeoff. > However, I do feel frustrated by the fact that it's considered > acceptable in this community to leave non-x86_64 users with broken > systems in the name of "moving things forward" for x86_64 users. Like I write, it’s not “considered acceptable.” That’s just not the way it works. There’s an implicit rule that we should not break any architecture badly, but just like sometimes packages fail to build, sometimes there are architecture-specific issues; and just like an unpopular package that fails to build is likely to remain that way, an unpopular architecture is more likely to have issues. We don’t have to take it as a fact of life, though. We can work proactively to mitigate that, and support for those architectures in the build farm, along with heads-up from overseers (like you’ve been doing to great effect!) can greatly help. It won’t bring, say, MIPS to the level of support of x86_64, but it can reduce damage. > I'm open to suggestions. Do you see any solution to the problem of how > to attract more non-x86_64 users, given our current policies? Efraim, Danny, Vagrant, Julien, Mathieu, etc. have done a lot of work fiddling with ARMv7 and AArch64. We should encourage that, and providing timely substitutes for the arches is one way to do it, and ultimately to attract more users and contributors. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. 2018-07-02 17:29 ` 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf Mark H Weaver 2018-07-02 18:06 ` Marius Bakke @ 2018-07-02 18:28 ` Marius Bakke 2018-07-03 19:24 ` Mark H Weaver 2018-07-03 21:28 ` Ludovic Courtès 1 sibling, 2 replies; 20+ messages in thread From: Marius Bakke @ 2018-07-02 18:28 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1564 bytes --] Mark H Weaver <mhw@netris.org> writes: > Hi Marius, > > mbakke@fastmail.com (Marius Bakke) writes: > >> mbakke pushed a commit to branch staging >> in repository guix. >> >> commit cb4b508cd68df89bfbd5255a0c5569f8318ad50f >> Author: Marius Bakke <mbakke@fastmail.com> >> Date: Mon Jul 2 12:07:58 2018 +0200 >> >> build-system/meson: Really skip the 'fix-runpath' phase on armhf. >> >> This follows up commit d5b5a15a4046362377f1a45d466b43bb6e93d4f which doesn't >> work because %current-system etc expands before the actual build. > > I'm disappointed by this workaround that simply removes the > 'fix-runpath' phase on armhf. Is that phase needed, or is it truly > optional? What does the phase accomplish, and how will armhf users be > disadvantaged by the removal of that phase? I'm sorry, I forgot to address your actual concerns. The (buggy) workaround was put in place and discussed in <https://bugs.gnu.org/30761>. The meat of it can be found in (guix build-system meson): ;; XXX PatchELF fails to build on armhf, so we skip ;; the 'fix-runpath' phase there for now. It is used ;; to avoid superfluous entries in RUNPATH as described ;; in <https://bugs.gnu.org/28444#46>, so armhf may now ;; have different runtime dependencies from other arches. Now, I'm not proud of this "workaround", but it's not exactly new, so I don't see why we should rush to fix it now. Given how late we are in this staging cycle, I would prefer delaying any proper fix until the next round. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. 2018-07-02 18:28 ` 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf Marius Bakke @ 2018-07-03 19:24 ` Mark H Weaver 2018-07-04 7:27 ` Ludovic Courtès 2018-07-03 21:28 ` Ludovic Courtès 1 sibling, 1 reply; 20+ messages in thread From: Mark H Weaver @ 2018-07-03 19:24 UTC (permalink / raw) To: Marius Bakke; +Cc: guix-devel Hi Marius, Marius Bakke <mbakke@fastmail.com> writes: > Mark H Weaver <mhw@netris.org> writes: > >> mbakke@fastmail.com (Marius Bakke) writes: >> >>> mbakke pushed a commit to branch staging >>> in repository guix. >>> >>> commit cb4b508cd68df89bfbd5255a0c5569f8318ad50f >>> Author: Marius Bakke <mbakke@fastmail.com> >>> Date: Mon Jul 2 12:07:58 2018 +0200 >>> >>> build-system/meson: Really skip the 'fix-runpath' phase on armhf. >>> >>> This follows up commit d5b5a15a4046362377f1a45d466b43bb6e93d4f which doesn't >>> work because %current-system etc expands before the actual build. >> >> I'm disappointed by this workaround that simply removes the >> 'fix-runpath' phase on armhf. Is that phase needed, or is it truly >> optional? What does the phase accomplish, and how will armhf users be >> disadvantaged by the removal of that phase? > > I'm sorry, I forgot to address your actual concerns. The (buggy) > workaround was put in place and discussed in > <https://bugs.gnu.org/30761>. The meat of it can be found in (guix > build-system meson): > > ;; XXX PatchELF fails to build on armhf, so we skip > ;; the 'fix-runpath' phase there for now. It is used > ;; to avoid superfluous entries in RUNPATH as described > ;; in <https://bugs.gnu.org/28444#46>, so armhf may now > ;; have different runtime dependencies from other arches. Thanks for this, but I'd still like to know the answer to my questions: "What does the [fix-runpath] phase accomplish, and how will armhf users be disadvantaged by the removal of that phase?" If the 'fix-runpath' phase is not strictly needed, then I would prefer to remove it on _all_ systems. If it _is_ needed, then I don't see how we can simply remove it on 'armhf' systems. Thanks, Mark ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. 2018-07-03 19:24 ` Mark H Weaver @ 2018-07-04 7:27 ` Ludovic Courtès 2018-07-04 14:27 ` Marius Bakke 0 siblings, 1 reply; 20+ messages in thread From: Ludovic Courtès @ 2018-07-04 7:27 UTC (permalink / raw) To: Mark H Weaver; +Cc: guix-devel Hello, Mark H Weaver <mhw@netris.org> skribis: > Marius Bakke <mbakke@fastmail.com> writes: [...] >> I'm sorry, I forgot to address your actual concerns. The (buggy) >> workaround was put in place and discussed in >> <https://bugs.gnu.org/30761>. The meat of it can be found in (guix >> build-system meson): >> >> ;; XXX PatchELF fails to build on armhf, so we skip >> ;; the 'fix-runpath' phase there for now. It is used >> ;; to avoid superfluous entries in RUNPATH as described >> ;; in <https://bugs.gnu.org/28444#46>, so armhf may now >> ;; have different runtime dependencies from other arches. > > Thanks for this, but I'd still like to know the answer to my questions: > "What does the [fix-runpath] phase accomplish, and how will armhf users > be disadvantaged by the removal of that phase?" As discussed in <https://bugs.gnu.org/31970> and <https://bugs.gnu.org/31974>, Meson does not (or did not) adjust RUNPATHs upon installation (contrary to what Libtool does, for instance.) Consequently, the RUNPATH is left with /tmp/guix-build-… entries, which is not great but okay, but more importantly if usually lacks OUTPUT/lib as well. However, the commit Marius referred to¹ as well as what you reported for Epiphany in #31974 suggest that things are improving in Meson proper, and that we might be able to remove that ‘fix-runpath’ phase altogether soon. I think we should simply try building things without ‘fix-runpath’ and see if ‘validate-runpath’ reports anything. Thoughts? Ludo’. ¹ https://github.com/mesonbuild/meson/commit/e3757e3d3cf24327c89dd3fc40f6cc933510f676 ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. 2018-07-04 7:27 ` Ludovic Courtès @ 2018-07-04 14:27 ` Marius Bakke 0 siblings, 0 replies; 20+ messages in thread From: Marius Bakke @ 2018-07-04 14:27 UTC (permalink / raw) To: Ludovic Courtès, Mark H Weaver; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 2240 bytes --] ludo@gnu.org (Ludovic Courtès) writes: > Hello, > > Mark H Weaver <mhw@netris.org> skribis: > >> Marius Bakke <mbakke@fastmail.com> writes: > > [...] > >>> I'm sorry, I forgot to address your actual concerns. The (buggy) >>> workaround was put in place and discussed in >>> <https://bugs.gnu.org/30761>. The meat of it can be found in (guix >>> build-system meson): >>> >>> ;; XXX PatchELF fails to build on armhf, so we skip >>> ;; the 'fix-runpath' phase there for now. It is used >>> ;; to avoid superfluous entries in RUNPATH as described >>> ;; in <https://bugs.gnu.org/28444#46>, so armhf may now >>> ;; have different runtime dependencies from other arches. >> >> Thanks for this, but I'd still like to know the answer to my questions: >> "What does the [fix-runpath] phase accomplish, and how will armhf users >> be disadvantaged by the removal of that phase?" > > As discussed in <https://bugs.gnu.org/31970> and > <https://bugs.gnu.org/31974>, Meson does not (or did not) adjust > RUNPATHs upon installation (contrary to what Libtool does, for > instance.) > > Consequently, the RUNPATH is left with /tmp/guix-build-… entries, which > is not great but okay, but more importantly if usually lacks OUTPUT/lib > as well. I haven't seen /tmp in RUNPATH during my testing, which would be a *huge* security problem. The only consequence I've noticed from dropping 'fix-runpath' is that it sometimes contain entries that are not in NEEDED (but often required for a "neighbour" library, so no big deal). > However, the commit Marius referred to¹ as well as what you reported for > Epiphany in #31974 suggest that things are improving in Meson proper, > and that we might be able to remove that ‘fix-runpath’ phase altogether > soon. > > I think we should simply try building things without ‘fix-runpath’ and > see if ‘validate-runpath’ reports anything. > > Thoughts? I'm in favor of removing it on all architectures and see how it fares. I suspect the main reason for adding it was that <out>/lib was often lacking, which is mitigated by 09a45ffb146fda75b87f89c729c31d1da5bf93da. I'll prepare patches for this for the next staging round. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 487 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf. 2018-07-02 18:28 ` 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf Marius Bakke 2018-07-03 19:24 ` Mark H Weaver @ 2018-07-03 21:28 ` Ludovic Courtès 1 sibling, 0 replies; 20+ messages in thread From: Ludovic Courtès @ 2018-07-03 21:28 UTC (permalink / raw) To: Marius Bakke; +Cc: guix-devel Marius Bakke <mbakke@fastmail.com> skribis: > I'm sorry, I forgot to address your actual concerns. The (buggy) > workaround was put in place and discussed in > <https://bugs.gnu.org/30761>. The meat of it can be found in (guix > build-system meson): > > ;; XXX PatchELF fails to build on armhf, so we skip > ;; the 'fix-runpath' phase there for now. It is used > ;; to avoid superfluous entries in RUNPATH as described > ;; in <https://bugs.gnu.org/28444#46>, so armhf may now > ;; have different runtime dependencies from other arches. > > Now, I'm not proud of this "workaround", but it's not exactly new, so I > don't see why we should rush to fix it now. Given how late we are in > this staging cycle, I would prefer delaying any proper fix until the > next round. I agree. It’s terrible, but the priority here is to get ‘staging’ in shape for merging. Thanks for taking care of ‘staging’! Ludo’. ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2018-07-05 19:40 UTC | newest] Thread overview: 20+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20180702101757.22792.51026@vcs0.savannah.gnu.org> [not found] ` <20180702101758.97A6020543@vcs0.savannah.gnu.org> 2018-07-02 17:29 ` 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf Mark H Weaver 2018-07-02 18:06 ` Marius Bakke 2018-07-03 19:20 ` Mark H Weaver 2018-07-04 7:21 ` Ludovic Courtès 2018-07-04 19:55 ` RFC: Portability should be a higher priority for Guix (was Re: 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf.) Mark H Weaver 2018-07-04 22:32 ` Kei Kebreau 2018-07-05 8:39 ` Ludovic Courtès 2018-07-05 14:15 ` Kei Kebreau 2018-07-05 9:04 ` Jonathan Brielmaier 2018-07-05 19:40 ` Andreas Enge 2018-07-05 6:38 ` Ricardo Wurmus 2018-07-05 8:46 ` Ludovic Courtès 2018-07-05 9:52 ` Andreas Enge 2018-07-05 8:50 ` Ludovic Courtès 2018-07-05 9:01 ` Ludovic Courtès 2018-07-02 18:28 ` 01/01: build-system/meson: Really skip the 'fix-runpath' phase on armhf Marius Bakke 2018-07-03 19:24 ` Mark H Weaver 2018-07-04 7:27 ` Ludovic Courtès 2018-07-04 14:27 ` Marius Bakke 2018-07-03 21:28 ` Ludovic Courtès
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).