Re: Build package for multiple platforms

2019-03-24 Thread mikadoZero


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

2019-03-24 Thread Efraim Flashner
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

2019-03-22 Thread mikadoZero


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

2019-03-22 Thread Tobias Geerinckx-Rice

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