guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MIPS support


From: Christopher Baines
Subject: MIPS support
Date: Wed, 08 Apr 2020 20:32:00 +0100
User-agent: mu4e 1.2.0; emacs 26.3

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: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]