Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
On Fri, Oct 08, 2021 at 09:00:22PM +0200, John Paul Adrian Glaubitz wrote: > On 10/8/21 20:52, Rob Browning wrote: > > Then, once that's uploaded were you planning to handle the reverse dep > > rebuilds, and/or what coordination might we need there? > > We can just rebuild all of these reverse dependencies, yes. Adrian Bunk is > probably happy to take care of that job, he has access to wanna-build, too, > and has recently done a lot of work in this area. Just to note I have done a test build of guile-3.0 on a UP alpha system with an up-to-date chroot. It failed to build with one failure in the testsuite, namely: Running 00-repl-server.test ERROR: 00-repl-server.test: repl-server: HTTP inter-protocol attack - arguments: ((system-error "fport_write" "~A" ("Broken pipe") (32))) Cheers, Michael.
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
On 10/8/21 20:52, Rob Browning wrote: > Then, once that's uploaded were you planning to handle the reverse dep > rebuilds, and/or what coordination might we need there? We can just rebuild all of these reverse dependencies, yes. Adrian Bunk is probably happy to take care of that job, he has access to wanna-build, too, and has recently done a lot of work in this area. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
John Paul Adrian Glaubitz writes: > But again, we're doing this all the time and this affects a non-release > architecture. I never said this flag should be passed for amd64 or arm64. Understood. I was specifically thinking about any existing alpha deployments and what the constraints might be. I discussed it a bit on #debian-devel, and it sounded like breaking the ABI in this case, while not ideal of course, wouldn't be unacceptable. So if no other options present themselves before I get a chance to work on it, I'll plan to make this change. Then, once that's uploaded were you planning to handle the reverse dep rebuilds, and/or what coordination might we need there? Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
On 10/8/21 05:08, Michael Cree wrote: > I am still of the opinion that we should try in the first instance > to find the real problem in the toolchain and fix it there. The bug > affects packages other than guile and only on SMP systems. I'm not arguing against fixing this bug. But without building guile with "--without-threads" we will have a large number of BD-Uninstallable packages until this bug gets fixed. And a guile interpreter that crashes on any SMP system. > When I get my hands on Electro I can boot with a generic kernel > and build guile-3.0 there which hopefully will overcome the memory > exhaustion and time-out problems seen on the XP1000s. That doesn't really help here though as the compiled guile package will still crash on SMP systems and cause packages like gnul28 to FTBFS on imago. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
On 10/8/21 03:13, Rob Browning wrote: > And while we can, of course, rebuild all the reverse deps (presumably > only acceptable for testing/sid), doing so may still break things for > anyone outside debian who's been relying on our packages (if we'd ever > had any in testing -- sounds like maybe we haven't for 3.0 for alpha). But again, we're doing this all the time and this affects a non-release architecture. I never said this flag should be passed for amd64 or arm64. A compiled guile-2.2 and guile-3.0 will also crash immediately on any alpha SMP system, so it never really worked. Only building both guile-2.2 and guile-3.0 with "--without-threads" makes the package actually usable on alpha. So, I'm not sure how any outside user was supposed to be testing a guile binary that was crashing all the time on SMP machines. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
On Fri, Oct 08, 2021 at 03:03:38AM +0200, John Paul Adrian Glaubitz wrote: > On 10/8/21 03:00, Rob Browning wrote: > > If we've never had a 3.0 viable for alpha, for example, then we can of > > course do whatever we like, with the realization that if we disable > > threads there now, we may be stuck with that choice until 3.2. I think guile-3.0 may have been installed on Alpha in the past. I recall doing a manual build on a UP system some time ago and uploading into the archive. > We can always break the ABI in a controlled manner. That's what binNMUs > are for. I don't understand the discussion. I am still of the opinion that we should try in the first instance to find the real problem in the toolchain and fix it there. The bug affects packages other than guile and only on SMP systems. When I get my hands on Electro I can boot with a generic kernel and build guile-3.0 there which hopefully will overcome the memory exhaustion and time-out problems seen on the XP1000s. Cheers, Michael.
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
John Paul Adrian Glaubitz writes: > The alpha architecture is not part of any distribution which is why this > argument is moot. I was not asking for this option to be set to an release > architecture. > > Also, *if* we break the ABI, we can just rebuild all affected packages. We > do that with binNMUs for various reverse dependencies all the time. > > Finally, without this change, guile will not work on alpha at all. So, we > cannot break the ABI in the first place, because we didn't have a properly > working guile package on alpha yet. To be clear, I'm not taking any position yet on what I think we can/should do. I'm just describing what I've found and what I think the constraints are. And while we can, of course, rebuild all the reverse deps (presumably only acceptable for testing/sid), doing so may still break things for anyone outside debian who's been relying on our packages (if we'd ever had any in testing -- sounds like maybe we haven't for 3.0 for alpha). Maybe that ends up being the best of bad choices, but I just wanted to make sure we included that concern in our deliberations. i.e. I suspect it'd be better not to break testing like that if we could avoid it, even if technically acceptable. Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
Hello Rob! On 10/8/21 02:56, Rob Browning wrote: > I've checked with upstream, and while they were not certain that > changing the --with-threads setting still breaks the library API, they > thought it probably did, which I believe means we have to assume that it > does (or could in the future), i.e. upstream makes no guarantees that > you can ever change that option without breaking the ABI. > > Given that, I think we may have at least these constraints: > > - For any guile X.Y version (for a given arch) that's in a stable > distribution (buster, bullseye, etc.) we cannot change the setting > because it would break the contract and could crash existing debian > and non-debian applications linked to the relevant guile-X.Y-libs. The alpha architecture is not part of any distribution which is why this argument is moot. I was not asking for this option to be set to an release architecture. Also, *if* we break the ABI, we can just rebuild all affected packages. We do that with binNMUs for various reverse dependencies all the time. Finally, without this change, guile will not work on alpha at all. So, we cannot break the ABI in the first place, because we didn't have a properly working guile package on alpha yet. Thanks, Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
On 10/8/21 03:00, Rob Browning wrote: > If we've never had a 3.0 viable for alpha, for example, then we can of > course do whatever we like, with the realization that if we disable > threads there now, we may be stuck with that choice until 3.2. We can always break the ABI in a controlled manner. That's what binNMUs are for. I don't understand the discussion. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
Rob Browning writes: > Given that, I think we may have at least these constraints: Oh, and I haven't figured out what the current situation is wrt the affected architectures on this front yet -- was just describing the constraints. If we've never had a 3.0 viable for alpha, for example, then we can of course do whatever we like, with the realization that if we disable threads there now, we may be stuck with that choice until 3.2. -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
John Paul Adrian Glaubitz writes: > Without --without-threads, guile would not build on SMP systems and even > the built package would crash on SMP systems. > > If disabling threads would break the ABI, we could just rebuild the affected > reverse dependencies on the builds using the normal binNMU method. I've checked with upstream, and while they were not certain that changing the --with-threads setting still breaks the library API, they thought it probably did, which I believe means we have to assume that it does (or could in the future), i.e. upstream makes no guarantees that you can ever change that option without breaking the ABI. Given that, I think we may have at least these constraints: - For any guile X.Y version (for a given arch) that's in a stable distribution (buster, bullseye, etc.) we cannot change the setting because it would break the contract and could crash existing debian and non-debian applications linked to the relevant guile-X.Y-libs. - For any X.Y version (for a given arch) that's only ever been in unstable/testing, we *could* break the ABI, but I think the bar should be reasonably high there, and I suspect we may want to discuss any plan along those lines a bit more broadly before deciding to pursue it (do we typically allow breaking SONAME compatibility in testing?), since plenty of people (including me) use the testing libs for real work. In addition, as you say this would require rebuilding every reverse dependency. Of course the best option, if it were feasbile, would be to just figure out what's wrong and fix it. Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
Hi Rob! On 10/3/21 20:27, Rob Browning wrote: > John Paul Adrian Glaubitz writes: > >> Both guile-2.2 and guile-3.0 FTBFS on alpha when built with thread >> support. Passing --without-threads to configure disables thread >> support and fixes the build. > > Hmm, I'm not certain we can do this unless we've never had a successful > build on the relevant platforms. At least in the past, disabling > threads changed the library ABI in a backward incompatible way. Without --without-threads, guile would not build on SMP systems and even the built package would crash on SMP systems. If disabling threads would break the ABI, we could just rebuild the affected reverse dependencies on the builds using the normal binNMU method. I don't think we have any other choice at the moment. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
John Paul Adrian Glaubitz writes: > Both guile-2.2 and guile-3.0 FTBFS on alpha when built with thread > support. Passing --without-threads to configure disables thread > support and fixes the build. Hmm, I'm not certain we can do this unless we've never had a successful build on the relevant platforms. At least in the past, disabling threads changed the library ABI in a backward incompatible way. I'll see if I can find out if that's still the case. Thanks -- Rob Browning rlb @defaultvalue.org and @debian.org GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
Bug#995614: guile-3.0: Please build with --without-threads on alpha to fix FTBFS
Source: guile-3.0 Version: 3.0.7-1 Severity: normal Tags: patch User: debian-al...@lists.debian.org Usertags: alpha X-Debbugs-Cc: debian-al...@lists.debian.org Hello! Both guile-2.2 and guile-3.0 FTBFS on alpha when built with thread support. Passing --without-threads to configure disables thread support and fixes the build. We also suspect that the threading problems in guile affect other packages on alpha such as gnutls28 but we're not sure yet. Could you apply the attached patch for the next upload of guile-3.0? Thanks, Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `-GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913 --- debian/rules.orig 2021-08-26 22:10:35.0 +0200 +++ debian/rules2021-10-03 11:29:06.180438779 +0200 @@ -88,6 +88,11 @@ deb_config_args += --enable-jit=no endif +deb_target_arch := $(shell dpkg-architecture -qDEB_TARGET_ARCH) +ifneq (,$(filter $(deb_target_arch),alpha)) + deb_config_args += --without-threads +endif + export DEB_CFLAGS_MAINT_APPEND := \ -DPACKAGE_PACKAGER='"Debian"' \ -DPACKAGE_PACKAGER_VERSION='"$(upstream_ver)-deb+$(deb_src_src_rev)-$(deb_src_rev)"' \