Re: Build package for multiple platforms
Efraim Flashner writes: > On Fri, Mar 22, 2019 at 07:20:42PM -0400, mikadoZero wrote: > >> Tobias Geerinckx-Rice writes: >> >> > mikadoZero, >> > >> > mikadoZero wrote: >> >> (service qemu-binfmt-service-type >> >> (qemu-binfmt-configuration >> >>(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" >> >> "mips64el")) >> >>(guix-support? #t))) >> >> >> >> When I try to do a system reconfigure I get this error: >> >> >> >> error: qemu-binfmt-service-type: unbound variable >> >> hint: Did you forget a `use-modules' form? >> > >> > qemu-binfmt-service-type is defined in (gnu services virtualization). >> > >> > I just use grep, but found out while researching this mail that we >> > provide a nice ‘guix system search’ command to find out which module >> > provides a service >> > >> > λ guix system search qemu >> > name: qemu-binfmt >> > location: gnu/services/virtualization.scm:745:2 >> > extends: file-systems shepherd-root guix >> > shepherdnames: qemu-binfmt >> > description: This service supports transparent emulation of binaries >> > compiled for other architectures using QEMU and the `binfmt_misc' >> > functionality of the kernel Linux. >> > relevance: 5 >> > >> >> The closest package I can find using `guix package -s` is proot but >> >> adding the module linux and the package proot does not solve this >> >> error >> >> message. >> > >> > Adding packages to your system configuration won't (and can't and >> > mustn't) affect services in this way. >> > >> > Kind regards, >> > >> > T G-R >> >> Thank you for pointing out that command. I will read more of the manual >> for system and services. >> >> Now I can reconfigure. >> >> After rebooting the computer and setting up a guix environment in the >> Guix repository, I can build for both arm platforms. I am have issues >> with powerpc and mips. >> >> What should I do to get powerpc and mips to work? >> >> # arm >> >> Both of these commands are successful. >> >> `./pre-inst-env guix build --system=armhf-linux --rounds=4 emacs-ace-link` >> `./pre-inst-env guix build --system=aarch64-linux --rounds=4 emacs-ace-link` >> >> # power-pc >> >> `./pre-inst-env guix build --system=powerpc-linux --rounds=4 emacs-ace-link` >> >> guix build: error: could not find bootstrap binary 'tar' for system >> 'powerpc-linux' >> > > powerpc isn't actually supported yet in Guix. There's been some work on > it but this isn't unexpected > Thank you, that is good to know. >> # mips >> >> `./pre-inst-env guix build --system=mips64el-linux --rounds=4 emacs-ace-link` >> >> building >> /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv... >> @ unsupported-platform >> /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2 >> .0.drv mips64el-linux >> >> while setting up the build environment: a `mips64el-linux' is required to >> build `/gn >> u/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv', but I am >> a `x86_6 >> 4-linux' >> > > This error suggests that the emulation layer isn't set up correctly. I'm > not sure what the correct answer is here. > The only set up I have done for qemu is in the system configuration file. Here are the relevant section: (use-service-modules virtualization ...) (use-package-modules virtualization ...) (packages (cons* qemu ... %base-packages)) (services (cons* ... (service qemu-binfmt-service-type (qemu-binfmt-configuration (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el")) (guix-support? #t))) %base-services))) >> builder for >> `/gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv' fa >> iled with exit code 1 >> >> build of /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv >> failed >> View build log at >> '/var/log/guix/drvs/62/kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootst >> rap-2.0.drv.bz2'. >> >> cannot build derivation >> `/gnu/store/nk29013g6k2asl91w6hqvjvxh22dynv0-acl-2.2.52.src. >> tar.xz.drv': 1 dependencies couldn't be built >> >> cannot build derivation >> `/gnu/store/4f5ays7bp7flpp316hrlni2dhgsf0jid-bash-minimal-4. >> 4.23.drv': 1 dependencies couldn't be built >> >> cannot build derivation >> `/gnu/store/02i7vn874xh5crjmksr15432l2cima42-binutils-2.31.1 >> .drv': 1 dependencies couldn't be built >> >> cannot build derivation >> `/gnu/store/b968c534pxdngpcx8psqz8s9wcvgm6j9-binutils-cross- >> boot0-2.31.1.drv': 1 dependencies
Re: Build package for multiple platforms
On Fri, Mar 22, 2019 at 07:20:42PM -0400, mikadoZero wrote: > > Tobias Geerinckx-Rice writes: > > > mikadoZero, > > > > mikadoZero wrote: > >> (service qemu-binfmt-service-type > >> (qemu-binfmt-configuration > >>(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" > >> "mips64el")) > >>(guix-support? #t))) > >> > >> When I try to do a system reconfigure I get this error: > >> > >> error: qemu-binfmt-service-type: unbound variable > >> hint: Did you forget a `use-modules' form? > > > > qemu-binfmt-service-type is defined in (gnu services virtualization). > > > > I just use grep, but found out while researching this mail that we > > provide a nice ‘guix system search’ command to find out which module > > provides a service > > > > λ guix system search qemu > > name: qemu-binfmt > > location: gnu/services/virtualization.scm:745:2 > > extends: file-systems shepherd-root guix > > shepherdnames: qemu-binfmt > > description: This service supports transparent emulation of binaries > > compiled for other architectures using QEMU and the `binfmt_misc' > > functionality of the kernel Linux. > > relevance: 5 > > > >> The closest package I can find using `guix package -s` is proot but > >> adding the module linux and the package proot does not solve this > >> error > >> message. > > > > Adding packages to your system configuration won't (and can't and > > mustn't) affect services in this way. > > > > Kind regards, > > > > T G-R > > Thank you for pointing out that command. I will read more of the manual > for system and services. > > Now I can reconfigure. > > After rebooting the computer and setting up a guix environment in the > Guix repository, I can build for both arm platforms. I am have issues > with powerpc and mips. > > What should I do to get powerpc and mips to work? > > # arm > > Both of these commands are successful. > > `./pre-inst-env guix build --system=armhf-linux --rounds=4 emacs-ace-link` > `./pre-inst-env guix build --system=aarch64-linux --rounds=4 emacs-ace-link` > > # power-pc > > `./pre-inst-env guix build --system=powerpc-linux --rounds=4 emacs-ace-link` > > guix build: error: could not find bootstrap binary 'tar' for system > 'powerpc-linux' > powerpc isn't actually supported yet in Guix. There's been some work on it but this isn't unexpected > # mips > > `./pre-inst-env guix build --system=mips64el-linux --rounds=4 emacs-ace-link` > > building > /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv... > @ unsupported-platform > /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2 > .0.drv mips64el-linux > > while setting up the build environment: a `mips64el-linux' is required to > build `/gn > u/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv', but I am a > `x86_6 > 4-linux' > This error suggests that the emulation layer isn't set up correctly. I'm not sure what the correct answer is here. > builder for > `/gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv' fa > iled with exit code 1 > > build of /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv > failed > View build log at > '/var/log/guix/drvs/62/kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootst > rap-2.0.drv.bz2'. > > cannot build derivation > `/gnu/store/nk29013g6k2asl91w6hqvjvxh22dynv0-acl-2.2.52.src. > tar.xz.drv': 1 dependencies couldn't be built > > cannot build derivation > `/gnu/store/4f5ays7bp7flpp316hrlni2dhgsf0jid-bash-minimal-4. > 4.23.drv': 1 dependencies couldn't be built > > cannot build derivation > `/gnu/store/02i7vn874xh5crjmksr15432l2cima42-binutils-2.31.1 > .drv': 1 dependencies couldn't be built > > cannot build derivation > `/gnu/store/b968c534pxdngpcx8psqz8s9wcvgm6j9-binutils-cross- > boot0-2.31.1.drv': 1 dependencies couldn't be built > > cannot build derivation > `/gnu/store/ggsch6ijpbp812bkkc54iyiz8dbqvpfw-bootstrap-binar > ies-0.drv': 1 dependencies couldn't be built > > cannot build derivation > `/gnu/store/1mb95adrm5wsgznbl1gni86561pj1vf7-diffutils-3.6.t > ar.xz.drv': 1 dependencies couldn't be built > > cannot build derivation > `/gnu/store/9jfbc0sfsyfndsx5wrkazm9b8cjcb7is-diffutils-boot0 > -3.6.drv': 1 dependencies couldn't be built > > cannot build derivation > `/gnu/store/y25fs9wc5xkkc3cn3mlawcy3ixq3ylbl-file-boot0-5.33 > .drv': 1 dependencies couldn't be built > > cannot build derivation >
Re: Build package for multiple platforms
Tobias Geerinckx-Rice writes: > mikadoZero, > > mikadoZero wrote: >> (service qemu-binfmt-service-type >> (qemu-binfmt-configuration >>(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" >> "mips64el")) >>(guix-support? #t))) >> >> When I try to do a system reconfigure I get this error: >> >> error: qemu-binfmt-service-type: unbound variable >> hint: Did you forget a `use-modules' form? > > qemu-binfmt-service-type is defined in (gnu services virtualization). > > I just use grep, but found out while researching this mail that we > provide a nice ‘guix system search’ command to find out which module > provides a service > > λ guix system search qemu > name: qemu-binfmt > location: gnu/services/virtualization.scm:745:2 > extends: file-systems shepherd-root guix > shepherdnames: qemu-binfmt > description: This service supports transparent emulation of binaries > compiled for other architectures using QEMU and the `binfmt_misc' > functionality of the kernel Linux. > relevance: 5 > >> The closest package I can find using `guix package -s` is proot but >> adding the module linux and the package proot does not solve this >> error >> message. > > Adding packages to your system configuration won't (and can't and > mustn't) affect services in this way. > > Kind regards, > > T G-R Thank you for pointing out that command. I will read more of the manual for system and services. Now I can reconfigure. After rebooting the computer and setting up a guix environment in the Guix repository, I can build for both arm platforms. I am have issues with powerpc and mips. What should I do to get powerpc and mips to work? # arm Both of these commands are successful. `./pre-inst-env guix build --system=armhf-linux --rounds=4 emacs-ace-link` `./pre-inst-env guix build --system=aarch64-linux --rounds=4 emacs-ace-link` # power-pc `./pre-inst-env guix build --system=powerpc-linux --rounds=4 emacs-ace-link` guix build: error: could not find bootstrap binary 'tar' for system 'powerpc-linux' # mips `./pre-inst-env guix build --system=mips64el-linux --rounds=4 emacs-ace-link` building /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv... @ unsupported-platform /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2 .0.drv mips64el-linux while setting up the build environment: a `mips64el-linux' is required to build `/gn u/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv', but I am a `x86_6 4-linux' builder for `/gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv' fa iled with exit code 1 build of /gnu/store/62kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootstrap-2.0.drv failed View build log at '/var/log/guix/drvs/62/kxpiayyak6dkzlvs8lhlpb23yddry1-guile-bootst rap-2.0.drv.bz2'. cannot build derivation `/gnu/store/nk29013g6k2asl91w6hqvjvxh22dynv0-acl-2.2.52.src. tar.xz.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/4f5ays7bp7flpp316hrlni2dhgsf0jid-bash-minimal-4. 4.23.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/02i7vn874xh5crjmksr15432l2cima42-binutils-2.31.1 .drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/b968c534pxdngpcx8psqz8s9wcvgm6j9-binutils-cross- boot0-2.31.1.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/ggsch6ijpbp812bkkc54iyiz8dbqvpfw-bootstrap-binar ies-0.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/1mb95adrm5wsgznbl1gni86561pj1vf7-diffutils-3.6.t ar.xz.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/9jfbc0sfsyfndsx5wrkazm9b8cjcb7is-diffutils-boot0 -3.6.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/y25fs9wc5xkkc3cn3mlawcy3ixq3ylbl-file-boot0-5.33 .drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/r5mv2ysz8jp36hc5pm9105p3zmv1slwy-findutils-4.6.0 .tar.xz.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/fx5vpkcb2bb50d1pv3a0d9wzjp2hjxkh-findutils-boot0 -4.6.0.drv': 1 dependencies couldn't be built cannot build derivation `/gnu/store/i4fj03xds43d30lgv8hs6l1vb4w9p5ag-gcc-5.5.0.drv': 1 dependencies couldn't be built cannot build derivation
Re: Build package for multiple platforms
mikadoZero, mikadoZero wrote: (service qemu-binfmt-service-type (qemu-binfmt-configuration (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el")) (guix-support? #t))) When I try to do a system reconfigure I get this error: error: qemu-binfmt-service-type: unbound variable hint: Did you forget a `use-modules' form? qemu-binfmt-service-type is defined in (gnu services virtualization). I just use grep, but found out while researching this mail that we provide a nice ‘guix system search’ command to find out which module provides a service λ guix system search qemu name: qemu-binfmt location: gnu/services/virtualization.scm:745:2 extends: file-systems shepherd-root guix shepherdnames: qemu-binfmt description: This service supports transparent emulation of binaries compiled for other architectures using QEMU and the `binfmt_misc' functionality of the kernel Linux. relevance: 5 The closest package I can find using `guix package -s` is proot but adding the module linux and the package proot does not solve this error message. Adding packages to your system configuration won't (and can't and mustn't) affect services in this way. Kind regards, T G-R