* MIPS support @ 2020-04-08 19:32 Christopher Baines 2020-04-08 22:07 ` Leo Famulari 0 siblings, 1 reply; 17+ messages in thread From: Christopher Baines @ 2020-04-08 19:32 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 4312 bytes --] Hey, I was wondering about MIPS support, mainly because the Guix Data Service uses QEMU to emulate different systems so that the channel instance derivations can be computed (like [1]). I'm not sure if the emulation is really necessary, but that's how it works at the moment. 1: http://data.guix.gnu.org/revision/198571b264547f800803e554c8f21a9c95be959c/channel-instances I've not enabled the QEMU emulation for MIPS on data.guix.gnu.org, because I've never managed to get it working locally. Computing the channel derivation starts building lots of things, but something always fails. I've looked in to this a bit more. On master, the bison-boot0 package tries to do the build and tests in parallel, and fails. This is fixed on core-updates. If you work around the bison-boot0 issue on master, then I get a segfault during gcc-cross-boot0-7.4.0: g++ -fno-PIE -c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -Ic-family -I../../gcc-7.4.0/gcc -I../../gcc-7.4.0/gcc/c-family -I../../gcc-7.4.0/gcc/../include -I../../gcc-7.4.0/gcc/../libcpp/include -I/tmp/guix-build-gcc-cross-boot0-7.4.0.drv-0/build/./gmp -I/tmp/guix-build-gcc-cross-boot0-7.4.0.drv-0/gcc-7.4.0/gmp -I/tmp/guix-build-gcc-cross-boot0-7.4.0.drv-0/build/./mpfr/src -I/tmp/guix-build-gcc-cross-boot0-7.4.0.drv-0/gcc-7.4.0/mpfr/src -I/tmp/guix-build-gcc-cross-boot0-7.4.0.drv-0/gcc-7.4.0/mpc/src -I../../gcc-7.4.0/gcc/../libdecnumber -I../../gcc-7.4.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-7.4.0/gcc/../libbacktrace -o c-family/c-common.o -MT c-family/c-common.o -MMD -MP -MF c-family/.deps/c-common.TPo ../../gcc-7.4.0/gcc/c-family/c-common.c qemu: uncaught target signal 11 (Segmentation fault) - core dumped g++: internal compiler error: Segmentation fault (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[2]: *** [Makefile:1099: c-family/c-common.o] Error 4 make[2]: Leaving directory '/tmp/guix-build-gcc-cross-boot0-7.4.0.drv-0/build/gcc' make[1]: *** [Makefile:4215: all-gcc] Error 2 make[1]: Leaving directory '/tmp/guix-build-gcc-cross-boot0-7.4.0.drv-0/build' make: *** [Makefile:881: all] Error 2 command "make" "-j" "1" "LDFLAGS=-Wl,-rpath=/gnu/store/z2i5vj66b6y23v8fywsf7bwnppyhssks-glibc-bootstrap-0/lib -Wl,-dynamic-linker -Wl,/gnu/store/z2i5vj66b6y23v8fywsf7bwnppyhssks-glibc-bootstrap-0/lib/ld.so.1" failed with status 2 builder for `/gnu/store/dzgvjam38vn7i7d1iml2a34p5h3lyggd-gcc-cross-boot0-7.4.0.drv' failed with exit code 1 build of /gnu/store/dzgvjam38vn7i7d1iml2a34p5h3lyggd-gcc-cross-boot0-7.4.0.drv failed On core-updates, it's pretty similar. The gcc-cross-boot0-7.5.0 derivation seems to hang at the same point the gcc-cross-boot0-7.4.0 derivation segfaulted: g++ -fno-PIE -c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -Ic-family -I../../gcc-7.5.0/gcc -I../../gcc-7.5.0/gcc/c-family -I../../gcc-7.5.0/gcc/../include -I../../gcc-7.5.0/gcc/../libcpp/include -I/tmp/guix-build-gcc-cross-boot0-7.5.0.drv-0/build/./gmp -I/tmp/guix-build-gcc-cross-boot0-7.5.0.drv-0/gcc-7.5.0/gmp -I/tmp/guix-build-gcc-cross-boot0-7.5.0.drv-0/build/./mpfr/src -I/tmp/guix-build-gcc-cross-boot0-7.5.0.drv-0/gcc-7.5.0/mpfr/src -I/tmp/guix-build-gcc-cross-boot0-7.5.0.drv-0/gcc-7.5.0/mpc/src -I../../gcc-7.5.0/gcc/../libdecnumber -I../../gcc-7.5.0/gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc-7.5.0/gcc/../libbacktrace -o c-family/c-common.o -MT c-family/c-common.o -MMD -MP -MF c-family/.deps/c-common.TPo ../../gcc-7.5.0/gcc/c-family/c-common.c From htop, I can see the QEMU emulated g++ with a QEMU emulated cc1plus subprocess, but nothing is happening. Any ideas? Thanks, Chris [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 962 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-04-08 19:32 MIPS support Christopher Baines @ 2020-04-08 22:07 ` Leo Famulari 2020-05-06 14:39 ` Ludovic Courtès 0 siblings, 1 reply; 17+ messages in thread From: Leo Famulari @ 2020-04-08 22:07 UTC (permalink / raw) To: Christopher Baines; +Cc: guix-devel On Wed, Apr 08, 2020 at 08:32:00PM +0100, Christopher Baines wrote: > I was wondering about MIPS support, mainly because the Guix Data Service > uses QEMU to emulate different systems so that the channel instance > derivations can be computed (like [1]). I'm not sure if the emulation is > really necessary, but that's how it works at the moment. I'm not sure if the MIPS port ever resumed after being suspended: https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00790.html ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-04-08 22:07 ` Leo Famulari @ 2020-05-06 14:39 ` Ludovic Courtès 2020-05-06 16:27 ` Vincent Legoll 0 siblings, 1 reply; 17+ messages in thread From: Ludovic Courtès @ 2020-05-06 14:39 UTC (permalink / raw) To: Leo Famulari; +Cc: guix-devel Hi, Leo Famulari <leo@famulari.name> skribis: > On Wed, Apr 08, 2020 at 08:32:00PM +0100, Christopher Baines wrote: >> I was wondering about MIPS support, mainly because the Guix Data Service >> uses QEMU to emulate different systems so that the channel instance >> derivations can be computed (like [1]). I'm not sure if the emulation is >> really necessary, but that's how it works at the moment. > > I'm not sure if the MIPS port ever resumed after being suspended: > > https://lists.gnu.org/archive/html/guix-devel/2017-03/msg00790.html In the intervening years, interest faded away as free software friendly MIPS hardware became more rare. Perhaps it would be more honest to officially remove the MIPS port now? Technically that would involve removing it from the manual, from configure.ac, and little more. If there’s a need for it in the future, and developments happening for MIPS in general (for the GNU tool chain, the kernel, etc.), then we can always start a new MIPS port. Until then, POWER9 and perhaps RISC-V seem to have more appeal to free software hackers. What do people think? Ludo’. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 14:39 ` Ludovic Courtès @ 2020-05-06 16:27 ` Vincent Legoll 2020-05-06 17:35 ` Jack Hill ` (3 more replies) 0 siblings, 4 replies; 17+ messages in thread From: Vincent Legoll @ 2020-05-06 16:27 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel Hello, > In the intervening years, interest faded away as free software friendly > MIPS hardware became more rare. I grabbed a gnubee during the crowdfunding campaign, but the CPU is too low spec to do a lot of compilation on it. > Perhaps it would be more honest to officially remove the MIPS port now? > > Technically that would involve removing it from the manual, from > configure.ac, and little more. From the manual or from the CI, to let the build farm do more useful things I'm not against, but is it really making maintenance difficult by still being in the codebase ? > If there’s a need for it in the future, and developments happening for > MIPS in general (for the GNU tool chain, the kernel, etc.), then we can > always start a new MIPS port. The kernel side looks good enough to me, there's a lot of openwrt running on mips and it looks well maintained. > Until then, POWER9 and perhaps RISC-V seem to have more > appeal to free software hackers. I have grabbed an old power8, that I also intend to put guix on. > What do people think? I may not be able to put huge time in it so won't ask you to keep it just for me. I'll restart working / trying things in the foreign archs area after my list of pending things is drained a bit (guix-install.sh & tarball CI, native-inputs lint warning chasing) but that's only wishful thinking for now. -- Vincent Legoll ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 16:27 ` Vincent Legoll @ 2020-05-06 17:35 ` Jack Hill 2020-05-06 17:45 ` Christopher Baines ` (2 subsequent siblings) 3 siblings, 0 replies; 17+ messages in thread From: Jack Hill @ 2020-05-06 17:35 UTC (permalink / raw) To: Vincent Legoll; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1661 bytes --] On Wed, 6 May 2020, Vincent Legoll wrote: > Hello, > >> In the intervening years, interest faded away as free software friendly >> MIPS hardware became more rare. > > I grabbed a gnubee during the crowdfunding campaign, but the CPU > is too low spec to do a lot of compilation on it. I also have a gnubee, and would love to be able to put Guix on it. However, so far I haven't put much time into getting it working. It would certainly be more fun to work on it with others :) My impression is that the the gnubee is a different class of MIPS than the current port. I think that the gnubee is a SoC that is is targeted at home routers and is 32-bit, while the current port is 64-bit and targeted at chips like the longsoon. Is that correct? There seems to be a a fair amount of the router-class hardware available that works with Free Software, but not much, if any, of the latter, more powerful hardware. Unfortunately, I think having the more powerful hardware available would make it much easier to work on the port. […] >> What do people think? > > I may not be able to put huge time in it so won't ask you to keep it > just for me. > > I'll restart working / trying things in the foreign archs area after my > list of pending things is drained a bit (guix-install.sh & tarball CI, > native-inputs lint warning chasing) but that's only wishful thinking > for now. I feel similarly. It's always sad to see things go (I used to have a collection of SPARC hardware, but let it go when I moved a few years ago), but no need to keep it just for me. Vincent, it sounds like there are at least two of us. Maybe we can work together. Best, Jack ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 16:27 ` Vincent Legoll 2020-05-06 17:35 ` Jack Hill @ 2020-05-06 17:45 ` Christopher Baines 2020-05-06 18:23 ` Leo Famulari 2020-05-06 18:28 ` Leo Famulari 3 siblings, 0 replies; 17+ messages in thread From: Christopher Baines @ 2020-05-06 17:45 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 734 bytes --] Vincent Legoll <vincent.legoll@gmail.com> writes: >> In the intervening years, interest faded away as free software friendly >> MIPS hardware became more rare. > > I grabbed a gnubee during the crowdfunding campaign, but the CPU > is too low spec to do a lot of compilation on it. At least the main blocker for me is the lack of substitutes for the things that fail to build with QEMU. So maybe one or a few machines which were able to build those specific things would be sufficient to provide some substitutes. I did have a look at seeing if I could purchase hardware, but I didn't really know what to look at. Maybe we could try putting out an appeal for MIPS hardware, maybe someone has some they don't use and would donate? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 962 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 16:27 ` Vincent Legoll 2020-05-06 17:35 ` Jack Hill 2020-05-06 17:45 ` Christopher Baines @ 2020-05-06 18:23 ` Leo Famulari 2020-05-17 22:12 ` Ludovic Courtès 2020-05-06 18:28 ` Leo Famulari 3 siblings, 1 reply; 17+ messages in thread From: Leo Famulari @ 2020-05-06 18:23 UTC (permalink / raw) To: Vincent Legoll; +Cc: guix-devel On Wed, May 06, 2020 at 06:27:31PM +0200, Vincent Legoll wrote: > From the manual or from the CI, to let the build farm do more useful things > I'm not against, but is it really making maintenance difficult by still being in > the codebase ? It's not really a maintenance burden currently since we don't actually build or maintain the Guix on MIPS at all. I think this discussion is evidence that people find the situation a bit confusing. When I am looking into a project, I find it demotivating to read documentation about features that may or may not work — it's best when the documentation accurately reflects what the software can do. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 18:23 ` Leo Famulari @ 2020-05-17 22:12 ` Ludovic Courtès 2020-05-18 7:01 ` Efraim Flashner 0 siblings, 1 reply; 17+ messages in thread From: Ludovic Courtès @ 2020-05-17 22:12 UTC (permalink / raw) To: Leo Famulari; +Cc: guix-devel Hi, Leo Famulari <leo@famulari.name> skribis: > On Wed, May 06, 2020 at 06:27:31PM +0200, Vincent Legoll wrote: >> From the manual or from the CI, to let the build farm do more useful things >> I'm not against, but is it really making maintenance difficult by still being in >> the codebase ? > > It's not really a maintenance burden currently since we don't actually > build or maintain the Guix on MIPS at all. > > I think this discussion is evidence that people find the situation a bit > confusing. When I am looking into a project, I find it demotivating to > read documentation about features that may or may not work — it's best > when the documentation accurately reflects what the software can do. Right, that was my point: let’s remove mentions of MIPS from the manual and from ‘configure.ac’ so people have the right expectations. Thoughts? Ludo’. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-17 22:12 ` Ludovic Courtès @ 2020-05-18 7:01 ` Efraim Flashner 2020-05-24 21:03 ` Ludovic Courtès 0 siblings, 1 reply; 17+ messages in thread From: Efraim Flashner @ 2020-05-18 7:01 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1544 bytes --] On Mon, May 18, 2020 at 12:12:24AM +0200, Ludovic Courtès wrote: > Hi, > > Leo Famulari <leo@famulari.name> skribis: > > > On Wed, May 06, 2020 at 06:27:31PM +0200, Vincent Legoll wrote: > >> From the manual or from the CI, to let the build farm do more useful things > >> I'm not against, but is it really making maintenance difficult by still being in > >> the codebase ? > > > > It's not really a maintenance burden currently since we don't actually > > build or maintain the Guix on MIPS at all. > > > > I think this discussion is evidence that people find the situation a bit > > confusing. When I am looking into a project, I find it demotivating to > > read documentation about features that may or may not work — it's best > > when the documentation accurately reflects what the software can do. > > Right, that was my point: let’s remove mentions of MIPS from the manual > and from ‘configure.ac’ so people have the right expectations. > > Thoughts? So change it so that mips needs '--with-courage' but not remove the bootstrap binaries from the code? Do we want to fully remove the mention of mips as a supported platform or change it to "in the past we had an active mips64el port which is in need of more attention to bring it back to a fully supported platform. Help wanted!" -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-18 7:01 ` Efraim Flashner @ 2020-05-24 21:03 ` Ludovic Courtès 2020-05-25 9:44 ` Efraim Flashner 0 siblings, 1 reply; 17+ messages in thread From: Ludovic Courtès @ 2020-05-24 21:03 UTC (permalink / raw) To: Efraim Flashner; +Cc: guix-devel Hey! Efraim Flashner <efraim@flashner.co.il> skribis: > On Mon, May 18, 2020 at 12:12:24AM +0200, Ludovic Courtès wrote: >> Hi, >> >> Leo Famulari <leo@famulari.name> skribis: >> >> > On Wed, May 06, 2020 at 06:27:31PM +0200, Vincent Legoll wrote: >> >> From the manual or from the CI, to let the build farm do more useful things >> >> I'm not against, but is it really making maintenance difficult by still being in >> >> the codebase ? >> > >> > It's not really a maintenance burden currently since we don't actually >> > build or maintain the Guix on MIPS at all. >> > >> > I think this discussion is evidence that people find the situation a bit >> > confusing. When I am looking into a project, I find it demotivating to >> > read documentation about features that may or may not work — it's best >> > when the documentation accurately reflects what the software can do. >> >> Right, that was my point: let’s remove mentions of MIPS from the manual >> and from ‘configure.ac’ so people have the right expectations. >> >> Thoughts? > > So change it so that mips needs '--with-courage' but not remove the > bootstrap binaries from the code? Yes. (The code has references to those binaries but it no longer has the binaries themselves.) > Do we want to fully remove the mention of mips as a supported platform > or change it to "in the past we had an active mips64el port which is > in need of more attention to bring it back to a fully supported > platform. Help wanted!" Do we really want to call for help in this area? To me, we just remove it, and if there’s interest again in this architecture, people might happily find that part of the work has already been done. Would you like to send a patch? Ludo’. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-24 21:03 ` Ludovic Courtès @ 2020-05-25 9:44 ` Efraim Flashner 2020-05-25 21:20 ` Ludovic Courtès 0 siblings, 1 reply; 17+ messages in thread From: Efraim Flashner @ 2020-05-25 9:44 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1.1: Type: text/plain, Size: 614 bytes --] Here's a first draft at removing mips64el-linux support from the documentation. I've left it as a supported system in (gnu ci), in (guix packages) and in the tests. I changed the text where we mention that we support mips64el-linux as an architecture, and elsewhere in the manual I've either removed mention of it when it was listed as a supported target or changed the references to aarch64. -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #1.2: 0001-doc-Remove-explicit-support-for-mips64el-linux.patch --] [-- Type: text/plain, Size: 6167 bytes --] From ebaef27fd08c29883a8e4bb091ccbd2bef9b2747 Mon Sep 17 00:00:00 2001 From: Efraim Flashner <efraim@flashner.co.il> Date: Mon, 25 May 2020 12:29:55 +0300 Subject: [PATCH] doc: Remove explicit support for mips64el-linux. It's been a good run, but no one is maintaining the architecture. So long, and thanks for all the fish. * doc/guix.texi (GNU Distribution): Change text for mips64el-linux to denote it is deprecated. (Daemon Offload Setup): Change occurrences of mips64el-linux to aarch64-linux and adjust local code snippets. (Guix Environment)[cross-compilation]: Change mips64el-linux-gnu to aarch64-linux-gnu. (GNU Build System)(package-cross-derivation]: Same. (G-Expressions)[cross compilation]: Same. (Additional Build Options)[cross-compilation, build logs]: Same. (qemu-binfmt-service-type): Remove mips64el. * doc/contributing.texi (Submitting Patches): Same. * m4/guix.m4: (GUIX_ASSERT_SUPPORTED_SYSTEM): Remove mips64el-linux. --- doc/contributing.texi | 3 +-- doc/guix.texi | 25 +++++++++++++------------ m4/guix.m4 | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/doc/contributing.texi b/doc/contributing.texi index 7b1f7e7c94..7496db5aaa 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -938,7 +938,7 @@ your @code{operating-system} configuration: @lisp (service qemu-binfmt-service-type (qemu-binfmt-configuration - (platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el")) + (platforms (lookup-qemu-platforms "arm" "aarch64")) (guix-support? #t))) @end lisp @@ -951,7 +951,6 @@ commands, respectively: @example guix build --system=armhf-linux --rounds=2 hello guix build --system=aarch64-linux --rounds=2 hello -guix build --system=mips64el-linux --rounds=2 hello @end example @item diff --git a/doc/guix.texi b/doc/guix.texi index 3d1b097447..50472e0adb 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -464,11 +464,12 @@ and Linux-Libre kernel. @item aarch64-linux little-endian 64-bit ARMv8-A processors, Linux-Libre kernel. -@item mips64el-linux +@item mips64el-linux (deprecated) little-endian 64-bit MIPS processors, specifically the Loongson series, n32 ABI, and Linux-Libre kernel. This configuration is no longer fully -supported; in particular, the project's build farms no longer provide -substitutes for this architecture. +supported; in particular, there is no ongoing work to ensure that this +architecture still works. Should someone decide they wish to revive this +architecture then the code is still available. @end table @@ -1059,8 +1060,8 @@ The @file{/etc/guix/machines.scm} file typically looks like this: (speed 2.)) ;incredibly fast! (build-machine - (name "meeps.example.org") - (system "mips64el-linux") + (name "armeight.example.org") + (system "aarch64-linux") (host-key "ssh-rsa AAAAB3Nza@dots{}") (user "alice") (private-key @@ -1070,7 +1071,7 @@ The @file{/etc/guix/machines.scm} file typically looks like this: @noindent In the example above we specify a list of two build machines, one for -the @code{x86_64} architecture and one for the @code{mips64el} +the @code{x86_64} architecture and one for the @code{aarch64} architecture. In fact, this file is---not surprisingly!---a Scheme file that is @@ -5329,7 +5330,7 @@ the system type of the build host. @item --target=@var{triplet} @cindex cross-compilation Cross-build for @var{triplet}, which must be a valid GNU triplet, such -as @code{"mips64el-linux-gnu"} (@pxref{Specifying target triplets, GNU +as @code{"aarch64-linux-gnu"} (@pxref{Specifying target triplets, GNU configuration triplets,, autoconf, Autoconf}). @item --compression=@var{tool} @@ -5718,7 +5719,7 @@ Return the @code{<derivation>} object of @var{package} cross-built from @var{system} to @var{target}. @var{target} must be a valid GNU triplet denoting the target hardware -and operating system, such as @code{"mips64el-linux-gnu"} +and operating system, such as @code{"aarch64-linux-gnu"} (@pxref{Specifying Target Triplets,,, autoconf, Autoconf}). @end deffn @@ -7719,7 +7720,7 @@ native package build: "-s" (string-append #$emacs "/bin/emacs") (string-append #$output "/bin/vi"))) - #:target "mips64el-linux-gnu") + #:target "aarch64-linux-gnu") @end lisp @noindent @@ -8839,7 +8840,7 @@ also be offloaded to a remote machine of the right architecture. @item --target=@var{triplet} @cindex cross-compilation Cross-build for @var{triplet}, which must be a valid GNU triplet, such -as @code{"mips64el-linux-gnu"} (@pxref{Specifying Target Triplets, GNU +as @code{"aarch64-linux-gnu"} (@pxref{Specifying Target Triplets, GNU configuration triplets,, autoconf, Autoconf}). @anchor{build-check} @@ -8909,7 +8910,7 @@ So for instance, imagine you want to see the build log of GDB on MIPS, but you are actually on an @code{x86_64} machine: @example -$ guix build --log-file gdb -s mips64el-linux +$ guix build --log-file gdb -s aarch64-linux https://@value{SUBSTITUTE-SERVER}/log/@dots{}-gdb-7.10 @end example @@ -24476,7 +24477,7 @@ emulated: @lisp (service qemu-binfmt-service-type (qemu-binfmt-configuration - (platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el")))) + (platforms (lookup-qemu-platforms "arm" "aarch64")))) @end lisp In this example, we enable transparent emulation for the ARM and aarch64 diff --git a/m4/guix.m4 b/m4/guix.m4 index 961ce838ac..05057aca93 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -88,7 +88,7 @@ courageous and port the GNU System distribution to it (see # Currently only Linux-based systems are supported, and only on some # platforms. case "$guix_system" in - x86_64-linux|i686-linux|armhf-linux|aarch64-linux|mips64el-linux) + x86_64-linux|i686-linux|armhf-linux|aarch64-linux) ;; *) if test "x$guix_courageous" = "xyes"; then -- 2.26.2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-25 9:44 ` Efraim Flashner @ 2020-05-25 21:20 ` Ludovic Courtès 2020-05-26 6:15 ` Efraim Flashner 0 siblings, 1 reply; 17+ messages in thread From: Ludovic Courtès @ 2020-05-25 21:20 UTC (permalink / raw) To: Efraim Flashner; +Cc: guix-devel Hi, Efraim Flashner <efraim@flashner.co.il> skribis: > Here's a first draft at removing mips64el-linux support from the > documentation. I've left it as a supported system in (gnu ci), in (guix > packages) and in the tests. I changed the text where we mention that we > support mips64el-linux as an architecture, and elsewhere in the manual > I've either removed mention of it when it was listed as a supported > target or changed the references to aarch64. The patch LGTM! (gnu ci) refers to the cross-compilation target, which is fine, we can keep it. However, I think you can remove “mips64el-linux” from ‘%supported-systems’ in (guix packages), especially given the comment above it, and you can adjust ‘%hydra-supported-systems’ accordingly. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-25 21:20 ` Ludovic Courtès @ 2020-05-26 6:15 ` Efraim Flashner 0 siblings, 0 replies; 17+ messages in thread From: Efraim Flashner @ 2020-05-26 6:15 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1459 bytes --] On Mon, May 25, 2020 at 11:20:45PM +0200, Ludovic Courtès wrote: > Hi, > > Efraim Flashner <efraim@flashner.co.il> skribis: > > > Here's a first draft at removing mips64el-linux support from the > > documentation. I've left it as a supported system in (gnu ci), in (guix > > packages) and in the tests. I changed the text where we mention that we > > support mips64el-linux as an architecture, and elsewhere in the manual > > I've either removed mention of it when it was listed as a supported > > target or changed the references to aarch64. > > The patch LGTM! > > (gnu ci) refers to the cross-compilation target, which is fine, we can > keep it. > > However, I think you can remove “mips64el-linux” from > ‘%supported-systems’ in (guix packages), especially given the comment > above it, and you can adjust ‘%hydra-supported-systems’ accordingly. The problem with removing it from %supported-systems is we have a number of packages which already explicitly remove it from the list. How about instead we rename %supported-systems to %linux-systems, add mips64el to a new %deprecated-systems and turn %supported-systems into a combination of %linux-systems, %deprecated-systems and %hurd-systems. -- Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 16:27 ` Vincent Legoll ` (2 preceding siblings ...) 2020-05-06 18:23 ` Leo Famulari @ 2020-05-06 18:28 ` Leo Famulari 2020-05-06 22:16 ` Vincent Legoll 3 siblings, 1 reply; 17+ messages in thread From: Leo Famulari @ 2020-05-06 18:28 UTC (permalink / raw) To: Vincent Legoll; +Cc: guix-devel On Wed, May 06, 2020 at 06:27:31PM +0200, Vincent Legoll wrote: > I grabbed a gnubee during the crowdfunding campaign, but the CPU > is too low spec to do a lot of compilation on it. I'm not an expert on MIPS but I *think* the GnuBee uses a different architecture than what Guix was ported to. So, whether or not to officially retire the Guix MIPS port would not be related to supporting Guix on the GnuBee, which would be cool! Declarative NAS configuration would be nice :) It would be helpful to get some clarification of the relationship between these architectures before deciding what to do. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 18:28 ` Leo Famulari @ 2020-05-06 22:16 ` Vincent Legoll 2020-05-08 10:55 ` Vincent Legoll 2020-05-26 9:28 ` Christopher Baines 0 siblings, 2 replies; 17+ messages in thread From: Vincent Legoll @ 2020-05-06 22:16 UTC (permalink / raw) To: Leo Famulari; +Cc: guix-devel Hello everybody, I'll do a single email answer, hope that is not off limits... The gnubee is dual-core x 2 threads, 880 MHz 32 bit mips, 512 MB RAM, 2x1Gbps ethernet, 6 SATA ports, SPI flash & microSD, USB 2 & 3, u-boot bootloader. http://gnubee.org https://www.mediatek.com/products/homeNetworking/mt7621n-a To Jack Hill > There seems to be a a fair amount of the router-class hardware available > that works with Free Software, but not much, if any, of the latter, more > powerful hardware. Unfortunately, I think having the more powerful > hardware available would make it much easier to work on the port. Yes, there's only a handful of desktop-class hw available, and it's hard to find, probably expensive too. On the other hand there are a lot of router-class hw, and the gnubee which lies in between . Debian has a lot of mips hw available, see: https://db.debian.org/machines.cgi maybe we can ask for an account there if needed. > I feel similarly. It's always sad to see things go (I used to have a > collection of SPARC hardware, but let it go when I moved a few years ago), > but no need to keep it just for me. I never got my hands on sparc (to own one, we used to have sparcs at school, and even alphas then, I'm getting old...) > Vincent, it sounds like there are at least two of us. Maybe we can work > together. Yes, certainly, I really hope to be able to get something done on that front. To Christopher Baines > At least the main blocker for me is the lack of substitutes for the > things that fail to build with QEMU. So maybe one or a few machines > which were able to build those specific things would be sufficient to > provide some substitutes. I still not have tried mips (arm*, powerpc* and even there I still do not have gone very far, but only tried cross-compilation which has it own set of problems). Can you elaborate a bit, compilation through qemu should be slow but mostly work, at least I hope. We should have a look at debian's arches MLs, there are a lot of efforts made to fix and upstream things, being done there. > I did have a look at seeing if I could purchase hardware, but I didn't > really know what to look at. Maybe we could try putting out an appeal > for MIPS hardware, maybe someone has some they don't use and would > donate? I jumped on the gnubee, as even if it only is 32bit, it was nicer hw than the available routers. I think the crowdsupply campaign founder still had some available last I heard. There are 2 versions one for 2"1/2 drives and one for 3"1/2 that was in a following campaign (I didn't grab one of those). It is not dirt-cheap, though. To Leo Famulari > It's not really a maintenance burden currently since we don't actually > build or maintain the Guix on MIPS at all. OK, that's (kind of) nice to hear, that it is not a great burden for guix maintainer > I think this discussion is evidence that people find the situation a bit > confusing. When I am looking into a project, I find it demotivating to > read documentation about features that may or may not work — it's best > when the documentation accurately reflects what the software can do. Yes, exactly, that's why I asked if there was any incentive to try to document the state and actual efforts being done on the porting front. https://lists.gnu.org/archive/html/guix-devel/2020-04/msg00175.html > So, whether or not to officially retire the Guix MIPS port would not be > related to supporting Guix on the GnuBee, which would be cool! Yes, maybe apart from a few entries in case/switch statements, this would not cost us a lot of SLOCs, then people can build themselves and/or share the results with guix publish, and make it into a collective effort... OpenBSD is also doing a lot of work supporting some select old HW, their ports building time is in weeks for some of them. So it should be doable. > Declarative NAS configuration would be nice :) Yes, the power of guix to the rescue of poor old hw ! > It would be helpful to get some clarification of the relationship > between these architectures before deciding what to do. If none of us has access to any mips64 (which is what I think guix support was targeting), the point is kind of moot. And there's also the problem of guix/scheme being hard on resources (This is something I'm not really sure, but the attempts I did on arm32 were not really promising on that front, which is why I postponed further investigations there. Hoping to get accustomed with guix porting for ppc64 which don't have those problems in the mean time) That was a long one... Thanks everyone for guix it's a refreshing thing ! -- Vincent Legoll ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 22:16 ` Vincent Legoll @ 2020-05-08 10:55 ` Vincent Legoll 2020-05-26 9:28 ` Christopher Baines 1 sibling, 0 replies; 17+ messages in thread From: Vincent Legoll @ 2020-05-08 10:55 UTC (permalink / raw) To: Leo Famulari; +Cc: guix-devel Hello, I forgot to add that there's actual mips64 HW (Cavium Octeon-based MIPS64 systems) available in the form of the ubiquity routers. OpenBSD supports some of them already, and it looks like nice hw (4 cores @ 1GHz, 1GB RAM). Look for ER-4 or ER-6P, but not the ER-X line as the CPU is not the same and less interesting. -- Vincent Legoll ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: MIPS support 2020-05-06 22:16 ` Vincent Legoll 2020-05-08 10:55 ` Vincent Legoll @ 2020-05-26 9:28 ` Christopher Baines 1 sibling, 0 replies; 17+ messages in thread From: Christopher Baines @ 2020-05-26 9:28 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 2185 bytes --] Vincent Legoll <vincent.legoll@gmail.com> writes: > To Christopher Baines >> At least the main blocker for me is the lack of substitutes for the >> things that fail to build with QEMU. So maybe one or a few machines >> which were able to build those specific things would be sufficient to >> provide some substitutes. > > I still not have tried mips (arm*, powerpc* and even there I still do not have > gone very far, but only tried cross-compilation which has it own set > of problems). > > Can you elaborate a bit, compilation through qemu should be slow but > mostly work, > at least I hope. We should have a look at debian's arches MLs, there > are a lot of > efforts made to fix and upstream things, being done there. I forget if I've replied, but I tried building hello using QEMU, and this was the failure: qemu: uncaught target signal 11 (Segmentation fault) - core dumped g++: internal compiler error: Segmentation fault (program cc1plus) Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[2]: *** [Makefile:1099: c-family/c-common.o] Error 4 make[2]: *** Waiting for unfinished jobs.... config.status: creating Makefile config.status: creating cc1plugin-config.h config.status: executing depfiles commands config.status: executing libtool commands /gnu/store/48y1i9jxilgvg4n0r0mwsvzgac9yvr20-bootstrap-binaries-0/bin/bash ../../gcc-7.5.0/gcc/../move-if-change tmp-automata.c insn-automata.c echo timestamp > s-automata make[2]: Leaving directory '/tmp/guix-build-gcc-cross-boot0-7.5.0.drv-0/build/gcc' make[1]: *** [Makefile:4215: all-gcc] Error 2 make[1]: Leaving directory '/tmp/guix-build-gcc-cross-boot0-7.5.0.drv-0/build' make: *** [Makefile:881: all] Error 2 command "make" "-j" "12" "LDFLAGS=-Wl,-rpath=/gnu/store/nlw1v60wfzvf8hccfiyxaa7qq76cpxfh-glibc-bootstrap-0/lib -Wl,-dynamic-linker -Wl,/gnu/store/nlw1v60wfzvf8hccfiyxaa7qq76cpxfh-glibc-bootstrap-0/lib/ld.so.1" failed with status 2 builder for `/gnu/store/bfsginlm0wbkwxzy5a39j6kin562ay34-gcc-cross-boot0-7.5.0.drv' failed with exit code 1 build of /gnu/store/bfsginlm0wbkwxzy5a39j6kin562ay34-gcc-cross-boot0-7.5.0.drv failed [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 962 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2020-05-26 9:29 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-04-08 19:32 MIPS support Christopher Baines 2020-04-08 22:07 ` Leo Famulari 2020-05-06 14:39 ` Ludovic Courtès 2020-05-06 16:27 ` Vincent Legoll 2020-05-06 17:35 ` Jack Hill 2020-05-06 17:45 ` Christopher Baines 2020-05-06 18:23 ` Leo Famulari 2020-05-17 22:12 ` Ludovic Courtès 2020-05-18 7:01 ` Efraim Flashner 2020-05-24 21:03 ` Ludovic Courtès 2020-05-25 9:44 ` Efraim Flashner 2020-05-25 21:20 ` Ludovic Courtès 2020-05-26 6:15 ` Efraim Flashner 2020-05-06 18:28 ` Leo Famulari 2020-05-06 22:16 ` Vincent Legoll 2020-05-08 10:55 ` Vincent Legoll 2020-05-26 9:28 ` Christopher Baines
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).