Re: Problem installing Guix (through binary installation script) on AWS EC2

2021-07-19 Thread Lo Peter
Sorry, I did not check the log files. I think it was probably the
installation (through the script) had not been completed, causing
subsequent problems.

On Mon, Jul 19, 2021 at 7:28 PM Ricardo Wurmus  wrote:
>
>
> Lo Peter  writes:
>
> > substitute: guix substitute: warning: ACL for archive imports
> > seems to
> > be uninitialized, substitutes may be unavailable
>
> Is this on purpose?
>
> > building
> > /gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv...
> >
> > \ 'build' phasebuilder for
> > `/gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv'
> > failed with exit code 1
> >
> > build of
> > /gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv
> > failed
> >
> > View build log at
> > '/var/log/guix/drvs/hi/fim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv.bz2'.
> […]
> > Any idea on what might be the problem? Thanks.
>
> What does the log file say?
>
> --
> Ricardo



Re: Problem installing Guix (through binary installation script) on AWS EC2

2021-07-19 Thread Lo Peter
Dear all,

Some more updates. I tried uninstalling guix, and installing again
using the script. It stopped somewhere in the middle saying "guix" not
found. Probably it was also the case the first time I installed it. So
the binary installation script probably has some problems.

I then manually follow some of the steps in
https://guix.gnu.org/manual/en/html_node/Binary-Installation.html#Binary-Installation
And then I can "guix pull" and "guix install hello", "guix install
glibc-locales" without problems.

So I will proceed with the setup of guix, just to report that the
binary installation script probably has problem.

Regards,
Peter Lo

On Mon, Jul 19, 2021 at 3:30 PM Lo Peter  wrote:
>
> Also, it seems I cannot install anything, e.g. "guix install
> glibc-locales" as described in
> https://guix.gnu.org/manual/en/html_node/Application-Setup.html would
> result in the same error.
>
> On Mon, Jul 19, 2021 at 3:27 PM Lo Peter  wrote:
> >
> > Dear all,
> >
> > Today I am trying to install guix on AWS EC2 using the binary
> > installation script as described here:
> > https://guix.gnu.org/manual/en/html_node/Binary-Installation.html#Binary-Installation
> >
> > It seems it can be installed, but then I try "guix pull", it gives errors:
> >
> > $ guix pull
> >
> > Updating channel 'nonguix' from Git repository at
> > 'https://gitlab.com/nonguix/nonguix'...
> >
> > Updating channel 'guix' from Git repository at
> > 'https://git.savannah.gnu.org/git/guix.git'...
> >
> > Building from these channels:
> >
> >   guix  https://git.savannah.gnu.org/git/guix.git 0f46e0b
> >
> >   nonguix   https://gitlab.com/nonguix/nonguix bdb3db9
> >
> > substitute: guix substitute: warning: ACL for archive imports seems to
> > be uninitialized, substitutes may be unavailable
> >
> > building 
> > /gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv...
> >
> > \ 'build' phasebuilder for
> > `/gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv'
> > failed with exit code 1
> >
> > build of /gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv
> > failed
> >
> > View build log at
> > '/var/log/guix/drvs/hi/fim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv.bz2'.
> >
> > cannot build derivation
> > `/gnu/store/1wld08ibgbxciq2wqlfrfs7i87p1lcbq-binutils-2.34.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/9z04i2yfif9wx69g88254xylfi2xrlnp-bzip2-1.0.8.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/0khkqdc4bcr9nbyg7h45hxspy6j14909-coreutils-8.32.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/m9yqd2aspkhabvhdl3sc42f8vh1ls1ps-diffutils-3.7.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/3jwiqbgrhrgalvks0hjkhbmf6vz2q3qs-file-5.38.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/rkbjigda3mpbb8gcxrgjdnmm1wnfq48y-findutils-4.7.0.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/fyazyla09myashz9dv10w21y77b8nlqz-gawk-5.0.1.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/ajb7id4hpgxxsm8lpihpf3ljhngynw7z-gcc-7.5.0.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/szrk3i56cwshfn531n64i7643kx8q987-glibc-2.31.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/1q5y6a4dbzmpa0iypidkyy309j6jl6c6-gmp-6.2.0.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/7hj8kbsqkm3qcpd8dyayx1c53r59ma2v-guile-3.0.2.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/9cdwvkm2r7nf9864qk32fa9g7bj0565x-gzip-1.10.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/qw8xr6frw3xikp5hc25q8ddwv6l7vk5v-gzip-1.10.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/aw32gpxkpq326kmxp28l9ihsqm86icha-libgc-8.0.4.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gnu/store/ha6k697mn6x947aady229n2xc5ascili-libltdl-2.4.6.drv': 1
> > dependencies couldn't be built
> >
> > cannot build derivation
> > `/gn

Re: Problem installing Guix (through binary installation script) on AWS EC2

2021-07-19 Thread Lo Peter
Also, it seems I cannot install anything, e.g. "guix install
glibc-locales" as described in
https://guix.gnu.org/manual/en/html_node/Application-Setup.html would
result in the same error.

On Mon, Jul 19, 2021 at 3:27 PM Lo Peter  wrote:
>
> Dear all,
>
> Today I am trying to install guix on AWS EC2 using the binary
> installation script as described here:
> https://guix.gnu.org/manual/en/html_node/Binary-Installation.html#Binary-Installation
>
> It seems it can be installed, but then I try "guix pull", it gives errors:
>
> $ guix pull
>
> Updating channel 'nonguix' from Git repository at
> 'https://gitlab.com/nonguix/nonguix'...
>
> Updating channel 'guix' from Git repository at
> 'https://git.savannah.gnu.org/git/guix.git'...
>
> Building from these channels:
>
>   guix  https://git.savannah.gnu.org/git/guix.git 0f46e0b
>
>   nonguix   https://gitlab.com/nonguix/nonguix bdb3db9
>
> substitute: guix substitute: warning: ACL for archive imports seems to
> be uninitialized, substitutes may be unavailable
>
> building 
> /gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv...
>
> \ 'build' phasebuilder for
> `/gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv'
> failed with exit code 1
>
> build of /gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv
> failed
>
> View build log at
> '/var/log/guix/drvs/hi/fim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv.bz2'.
>
> cannot build derivation
> `/gnu/store/1wld08ibgbxciq2wqlfrfs7i87p1lcbq-binutils-2.34.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/9z04i2yfif9wx69g88254xylfi2xrlnp-bzip2-1.0.8.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/0khkqdc4bcr9nbyg7h45hxspy6j14909-coreutils-8.32.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/m9yqd2aspkhabvhdl3sc42f8vh1ls1ps-diffutils-3.7.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/3jwiqbgrhrgalvks0hjkhbmf6vz2q3qs-file-5.38.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/rkbjigda3mpbb8gcxrgjdnmm1wnfq48y-findutils-4.7.0.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/fyazyla09myashz9dv10w21y77b8nlqz-gawk-5.0.1.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/ajb7id4hpgxxsm8lpihpf3ljhngynw7z-gcc-7.5.0.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/szrk3i56cwshfn531n64i7643kx8q987-glibc-2.31.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/1q5y6a4dbzmpa0iypidkyy309j6jl6c6-gmp-6.2.0.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/7hj8kbsqkm3qcpd8dyayx1c53r59ma2v-guile-3.0.2.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/9cdwvkm2r7nf9864qk32fa9g7bj0565x-gzip-1.10.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/qw8xr6frw3xikp5hc25q8ddwv6l7vk5v-gzip-1.10.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/aw32gpxkpq326kmxp28l9ihsqm86icha-libgc-8.0.4.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/ha6k697mn6x947aady229n2xc5ascili-libltdl-2.4.6.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/852hgz8h2ha710sv8db8azqkk8s8k0x3-libunistring-0.9.10.drv':
> 1 dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/3gjjkdq3ll76lffa2563xx62h4w9cxks-linux-libre-headers-5.4.20.drv':
> 1 dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/fgn6d4mhn5bbzd0b17i0l592jqkav14i-make-4.3.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/gb91yqixlm04kcm3v930b7sjxzdgac6r-patch-2.7.6.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/6nvm10nv6wlkpyzdw0ja8llnn0c3afpb-sed-4.8.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/c5risfnmnqm45a29vi7n1f4wggjv3zsp-tar-1.32.drv': 1
> dependencies couldn't be built
>
> cannot build derivation
> `/gnu/store/b7rgn9czp9qfdfrpyrz8ndj5dqfzrjw9-libtiff-4.2.0.drv': 1
> dependencies couldn't be built
>
> guix pull: error: build of
> `/gnu/store/b7rgn9czp9qfdfrpyrz8ndj5dqfzrjw9-libtiff-4.2.0.drv' failed
>
>
>
> Any idea on what might be the problem? Thanks.
>
> Regards,
> Peter Lo



Problem installing Guix (through binary installation script) on AWS EC2

2021-07-19 Thread Lo Peter
Dear all,

Today I am trying to install guix on AWS EC2 using the binary
installation script as described here:
https://guix.gnu.org/manual/en/html_node/Binary-Installation.html#Binary-Installation

It seems it can be installed, but then I try "guix pull", it gives errors:

$ guix pull

Updating channel 'nonguix' from Git repository at
'https://gitlab.com/nonguix/nonguix'...

Updating channel 'guix' from Git repository at
'https://git.savannah.gnu.org/git/guix.git'...

Building from these channels:

  guix  https://git.savannah.gnu.org/git/guix.git 0f46e0b

  nonguix   https://gitlab.com/nonguix/nonguix bdb3db9

substitute: guix substitute: warning: ACL for archive imports seems to
be uninitialized, substitutes may be unavailable

building /gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv...

\ 'build' phasebuilder for
`/gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv'
failed with exit code 1

build of /gnu/store/hifim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv
failed

View build log at
'/var/log/guix/drvs/hi/fim0h1p7nw81mg6rl00g9q0m6vr0qw-bzip2-mesboot-1.0.8.drv.bz2'.

cannot build derivation
`/gnu/store/1wld08ibgbxciq2wqlfrfs7i87p1lcbq-binutils-2.34.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/9z04i2yfif9wx69g88254xylfi2xrlnp-bzip2-1.0.8.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/0khkqdc4bcr9nbyg7h45hxspy6j14909-coreutils-8.32.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/m9yqd2aspkhabvhdl3sc42f8vh1ls1ps-diffutils-3.7.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/3jwiqbgrhrgalvks0hjkhbmf6vz2q3qs-file-5.38.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/rkbjigda3mpbb8gcxrgjdnmm1wnfq48y-findutils-4.7.0.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/fyazyla09myashz9dv10w21y77b8nlqz-gawk-5.0.1.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/ajb7id4hpgxxsm8lpihpf3ljhngynw7z-gcc-7.5.0.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/szrk3i56cwshfn531n64i7643kx8q987-glibc-2.31.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/1q5y6a4dbzmpa0iypidkyy309j6jl6c6-gmp-6.2.0.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/7hj8kbsqkm3qcpd8dyayx1c53r59ma2v-guile-3.0.2.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/9cdwvkm2r7nf9864qk32fa9g7bj0565x-gzip-1.10.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/qw8xr6frw3xikp5hc25q8ddwv6l7vk5v-gzip-1.10.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/aw32gpxkpq326kmxp28l9ihsqm86icha-libgc-8.0.4.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/ha6k697mn6x947aady229n2xc5ascili-libltdl-2.4.6.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/852hgz8h2ha710sv8db8azqkk8s8k0x3-libunistring-0.9.10.drv':
1 dependencies couldn't be built

cannot build derivation
`/gnu/store/3gjjkdq3ll76lffa2563xx62h4w9cxks-linux-libre-headers-5.4.20.drv':
1 dependencies couldn't be built

cannot build derivation
`/gnu/store/fgn6d4mhn5bbzd0b17i0l592jqkav14i-make-4.3.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/gb91yqixlm04kcm3v930b7sjxzdgac6r-patch-2.7.6.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/6nvm10nv6wlkpyzdw0ja8llnn0c3afpb-sed-4.8.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/c5risfnmnqm45a29vi7n1f4wggjv3zsp-tar-1.32.drv': 1
dependencies couldn't be built

cannot build derivation
`/gnu/store/b7rgn9czp9qfdfrpyrz8ndj5dqfzrjw9-libtiff-4.2.0.drv': 1
dependencies couldn't be built

guix pull: error: build of
`/gnu/store/b7rgn9czp9qfdfrpyrz8ndj5dqfzrjw9-libtiff-4.2.0.drv' failed



Any idea on what might be the problem? Thanks.

Regards,
Peter Lo



Re: Fwd: SSH in git-fetch

2021-07-14 Thread Lo Peter
Dear Chris,

Thanks for the suggestion. I have previously tested that fetching from
private channel works (after a workaround of use a PEM format of SSH
key, due to a bug in libssh2). And I have just tested Luis's suggested
workaround and can confirm that it works.

Although the private channel will be kept only without our
organization, I think the security team will frown if there are
passwords in the package definitions committed to the repo. So I think
meanwhile I will use the workaround suggested by Luis.

Regards,
Peter Lo

On Wed, Jul 14, 2021 at 5:18 PM Chris Marusich  wrote:
>
> Hi Peter,
>
> Lo Peter  writes:
>
> > Is it that git-fetch does not support fetching over SSH?
>
> As Luis mentioned, for a package, if you use "git-checkout" as the
> origin and provide a Git SSH URL, it will work.  I'm not sure if an
> equivalent exists for other transmission methods, but I doubt it (e.g.,
> using Mercurial over SSH to check out a Mercurial repository, or using
> SFTP to fetch a release tarball over the SSH File Transfer Protocol).
> For channels, it will work if you just provide a Git SSH URL in your
> channels.scm file.  I tested this just now on my own machines, and it
> definitely works.
>
> However, since Guix uses libgit2 under the hood, rather than invoking
> the "ssh" command, as you noticed there may be subtle differences
> between how a vanilla "ssh" command works vs. how Guix will handle the
> SSH connection.  In any case, running an SSH agent might prove useful.
> In both the case of fetching a package via git-checkout and fetching a
> channel, Guix will attempt to fetch the repository "outside" the build
> environment, so if you are running an agent, it will try to use it.  I'm
> not sure if Guix will honor your SSH config, though.
>
> If you are not wedded to SSH, then another option that may be better for
> reproducibility is to use HTTPS with the user and password encoded in
> the URL.  This is nice because it doesn't require a user to to configure
> SSH correctly on their local machine or provision an authorized SSH key
> just to fetch the channel or the packages.  In some situations,
> embedding a user name and password in the URL in the package definition
> may be sufficient, but in other situations, it may not meet your
> security requirements (the URLs will wind up in the store and thus be
> visible to anyone else logged into the system); it's up to you to decide
> what's appropriate for your situation.
>
> Leo Prikler  writes:
>
> > Yes, git-fetch does not support fetching over SSH.  "Cannot run ssh" is
> > the error returned because the ssh program is missing at fetch time,
> > but even if it existed, you'd get a different error, namely one of
> > lacking keys.  You'd have to set up Guix to authenticate itself as you
> > for pulling the source and while that is in theory possible, there is a
> > potential security risk attached to most ways of solving it and no
> > clear path forward.
> >
> > Furthermore, such a feature, were it integrated in Guix, is likely only
> > to be used for nonfree software and thus located closely to such
> > software itself.
>
> It sounds like you're suggesting that Guix should avoid making it easy
> to integrate with existing access control mechanisms because access
> control is only useful for non-free software.  I disagree with that.
> Access control is useful, and it is often necessary for security or
> compliance reasons, even in the world of free software.
>
> The issue of controlling access to a particular repository of software
> is orthogonal to the question of whether that software is free software.
> It is common for someone to want to maintain a local copy of free
> software and also to control access to that copy.  In many
> organizations, it is a hard requirement that all software is securely
> stored and can only be accessed by authorized entities.  This is true
> regardless of whether the software is free software.  It is also easy to
> imagine that some people or organizations might prefer or be required to
> develop all software, even free software, privately within their own
> secure network.  If Guix makes it difficult for developers to use it in
> an environment where access control is required, Guix is less likely to
> be used in those environments, and I think that would be a missed
> opportunity.
>
> I don't think it helps the free software movement to encourage the idea
> that access control is somehow antithetical to free software.  It isn't.
> Even the FSF controls access to its software repositories via SSH.
> Savannah's projects may be available anonymously via FTP or other means,
> but the SSH URLs are only usable

Fwd: SSH in git-fetch

2021-07-13 Thread Lo Peter
-- Forwarded message -
From: Lo Peter 
Date: Tue, Jul 13, 2021 at 10:38 PM
Subject: SSH in git-fetch
To: 


Dear all,

I am experimenting with writing a package definition for an example R
package (https://github.com/jennybc/foofactors) in a PRIVATE channel,
where the R source is also at a PRIVATE github repository.
While the private channel works with proper setup of SSH key (that
needs to be in PEM format due to a bug in libssh2), I am having
trouble with the private git repository for package source.

Is it that git-fetch does not support fetching over SSH?

The package definition I have is:

(define-module (my-packages r-pkgs)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix utils)
  #:use-module (guix build-system r)
  #:use-module (gnu packages)
  #:use-module (gnu packages statistics))

(define-public r-foofactors
  (let ((commit "ef71e8d2e82fa80e0cfc249fd42f50c01924326d")
(revision "1"))
(package
  (name "r-foofactors")
  (version (git-version "0.0.0.9000" revision commit))
  (source
   (origin
 (method git-fetch)
 (uri (git-reference
   (url "g...@github.com:peterloleungyau/foofactors.git")
   (commit commit)))
 (file-name (git-file-name name version))
 (sha256
  (base32
   "1hmfwac2zdl8x6r21yy5b257c4891106ana4j81hfn6rd0rl9f72"
  (build-system r-build-system)
  (propagated-inputs
   `(("r-forcats" ,r-forcats)))
  (home-page "https://github.com/jennybc/foofactors;)
  (synopsis "A R package to make factors less aggravating.")
  (description
   "Factors have driven people to extreme measures, like ordering
custom conference ribbons and laptop stickers to express how HELLNO we
feel about stringsAsFactors. And yet, sometimes you need them. Can they
be made less maddening? Let's find out.")
  (license license:expat


Note that I have cloned the original public repository to my private
repository (for testing purpose). I have added the package definition
to my local ~/to_keep/projects/my-guix-pkgs/my-packages/r-pkgs.scm

Then I test building it locally with

$ guix build -L ~/to_keep/projects/my-guix-pkgs/ r-foofactors
The following derivations will be built:
   
/gnu/store/gnzw26jl9vw3z10cdnpcahd67zlf1ziy-r-foofactors-0.0.0.9000-1.ef71e8d.drv
   
/gnu/store/2l35rb0s5fjk1v8vczir6cp6lfmbbf12-r-foofactors-0.0.0.9000-1.ef71e8d-checkout.drv
building 
/gnu/store/2l35rb0s5fjk1v8vczir6cp6lfmbbf12-r-foofactors-0.0.0.9000-1.ef71e8d-checkout.drv...
guile: warning: failed to install locale
environment variable `PATH' set to
`/gnu/store/378zjf2kgajcfd7mfr98jn5xyc5wa3qv-gzip-1.10/bin:/gnu/store/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32/bin'
hint: Using 'master' as the name for the initial branch. This default
branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint:   git config --global init.defaultBranch 
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint:   git branch -m 
Initialized empty Git repository in
/gnu/store/7i9py1b47lsg2d2wqjk68ha04rv2l89i-r-foofactors-0.0.0.9000-1.ef71e8d-checkout/.git/
error: cannot run ssh: No such file or directory
fatal: unable to fork
Failed to do a shallow fetch; retrying a full fetch...
error: cannot run ssh: No such file or directory
fatal: unable to fork
git-fetch: 
'/gnu/store/ra24wp6glfzmpx1w6i3471aqcqqdrk96-git-minimal-2.32.0/bin/git
fetch origin' failed with exit code 128
Trying content-addressed mirror at berlin.guix.gnu.org...
Trying content-addressed mirror at berlin.guix.gnu.org...
Trying to download from Software Heritage...
builder for 
`/gnu/store/2l35rb0s5fjk1v8vczir6cp6lfmbbf12-r-foofactors-0.0.0.9000-1.ef71e8d-checkout.drv'
failed to produce output path `/gnu/store/7i9py1b47lsg2d2wqjk68ha04r
build of 
/gnu/store/2l35rb0s5fjk1v8vczir6cp6lfmbbf12-r-foofactors-0.0.0.9000-1.ef71e8d-checkout.drv
failed
View build log at
'/var/log/guix/drvs/2l/35rb0s5fjk1v8vczir6cp6lfmbbf12-r-foofactors-0.0.0.9000-1.ef71e8d-checkout.drv.bz2'.
cannot build derivation
`/gnu/store/gnzw26jl9vw3z10cdnpcahd67zlf1ziy-r-foofactors-0.0.0.9000-1.ef71e8d.drv':
1 dependencies couldn't be built
guix build: error: build of
`/gnu/store/gnzw26jl9vw3z10cdnpcahd67zlf1ziy-r-foofactors-0.0.0.9000-1.ef71e8d.drv'
failed


Why is there an error of "cannot run ssh"? Is it that git-fetch does
not support fetching over SSH?

I would like to prompt the use of Guix for per-project management in
my small team of data scientists, so we would need a private channel
for a few internal R packages. The above problem is a real blocker.
Any help is greatly appreciated.

Regards,
Peter Lo



Re: MIT license?

2021-07-12 Thread Lo Peter
Thanks all for the clarifications.

On Tue, Jul 13, 2021 at 12:09 AM Luis Felipe
 wrote:
>
> On Monday, July 12th, 2021 at 4:06 PM, Luis Felipe 
>  wrote:
>
> > On Monday, July 12th, 2021 at 3:52 PM, Lo Peter peterloleung...@gmail.com 
> > wrote:
> >
> > > Dear all,
> > >
> > > I have a look at guix/licenses.scm, but seems there is no MIT license?
> >
> > You may be looking for Expat license (see this about "MIT License" 
> > http://directory.fsf.org/wiki/License:Expat)
>
> I meant to link to this instead: 
> https://www.gnu.org/licenses/license-list.html#Expat.



MIT license?

2021-07-12 Thread Lo Peter
Dear all,

I have a look at guix/licenses.scm, but seems there is no MIT license?
Am I missing something?

Regards,
Peter Lo



Re: How to access private channel

2021-07-09 Thread Lo Peter
After some googling, I found two related bug reports of libssh2:
https://github.com/libgit2/pygit2/issues/1013
https://github.com/saltstack/salt/issues/57121

I guess Guix uses libssh2 to process private channels over SSH, if so,
I think doing guix pull first would encounter the same problem.

The suggested workaround is to generate a SSH key in the older PEM
format using the "-m PEM" option of ssh-keygen.
I have tried the workaround and it works for me.

Regards,
Peter Lo

On Sat, Jul 10, 2021 at 1:42 AM Chris Marusich  wrote:
>
> Lo Peter  writes:
>
> > Dear all,
> >
> > I am experimenting with setting up a private channel as a private
> > github repository, then I prepared a channels file for testing:
> >
> > (list (channel
> >(name 'guix)
> >(url "https://git.savannah.gnu.org/git/guix.git;)
> >(commit "9904a15a4c838362673c1affdbaf1e83d92fe8ff"))
> >   (channel
> >(name 'my-guix-pkgs)
> >(url "g...@github.com:peterloleungyau/my-guix-pkgs.git")
> >(commit "b51d236ebbbdd134bafb64e5092342a2d058ec2a")))
> >
> > Then I try it with:
> > $ guix time-machine -C channels.scm --disable-authentication --
> > environment --ad-hoc python-radian
> > Updating channel 'guix' from Git repository at
> > 'https://git.savannah.gnu.org/git/guix.git'...
> > guix time-machine: warning: channel authentication disabled
> > Updating channel 'my-guix-pkgs' from Git repository at
> > 'g...@github.com:peterloleungyau/my-guix-pkgs.git'...
> > guix time-machine: error: Git error: Failed to retrieve list of SSH
> > authentication methods: Failed getting response
> >
> >
> > So it seems the guix daemon cannot use the SSH of my user to access
> > the private git repository? How to get around this? Thanks in advance.
>
> Does it work if you don't try using "time-machine"?  For example:
>
>   guix pull -C channels.scm --disable-authentication
>
> Followed by:
>
>   guix environment --ad-hoc python-radian
>
> Does that work?  I wonder if the "time-machine" part doesn't properly
> handle channels fetched over SSH.
>
> --
> Chris



How to access private channel

2021-07-06 Thread Lo Peter
Dear all,

I am experimenting with setting up a private channel as a private
github repository, then I prepared a channels file for testing:

(list (channel
   (name 'guix)
   (url "https://git.savannah.gnu.org/git/guix.git;)
   (commit "9904a15a4c838362673c1affdbaf1e83d92fe8ff"))
  (channel
   (name 'my-guix-pkgs)
   (url "g...@github.com:peterloleungyau/my-guix-pkgs.git")
   (commit "b51d236ebbbdd134bafb64e5092342a2d058ec2a")))

Then I try it with:
$ guix time-machine -C channels.scm --disable-authentication --
environment --ad-hoc python-radian
Updating channel 'guix' from Git repository at
'https://git.savannah.gnu.org/git/guix.git'...
guix time-machine: warning: channel authentication disabled
Updating channel 'my-guix-pkgs' from Git repository at
'g...@github.com:peterloleungyau/my-guix-pkgs.git'...
guix time-machine: error: Git error: Failed to retrieve list of SSH
authentication methods: Failed getting response


So it seems the guix daemon cannot use the SSH of my user to access
the private git repository? How to get around this? Thanks in advance.

Regards,
Peter Lo



Re: How to set global environment variables in Guix System

2020-12-27 Thread Lo Peter
Thanks both for the replies.
If I understand correctly, custom environment variables could be added
through some kind of session-environment-service-type, I will try it
out to learn more.
Just for the record, I currently use a custom ~/.xsession script as a
hack to source ~/.xprofile to set the needed environment variables and
also start ibus-daemon, because I really only need i3 (and xfce as a
fallback).

Thanks.

Regards,
Peter

On Sun, Dec 27, 2020 at 10:39 PM Tobias Geerinckx-Rice  wrote:
>
> Michael Rohleder 写道:
> > (simple-service 'my-ibus-ch-env session-environment-service-type
> >   '(("GTK_IM_MODULE" . "ibus")
> > ("QT_IM_MODULE" . "ibus")))
>
> ...much simpler.  Thanks!
>
> Kind regards,
>
> T G-R



How to set global environment variables in Guix System

2020-12-27 Thread Lo Peter
Dear All,

I am trying to setup ibus-rime for Chinese input in guix system 1.2.0,
after a lot of googling and trial and error, I found that I cannot set
the needed environment variables:

export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="ibus"
export XMODIFIERS="@im=ibus"

I have tried putting them in ~/.profile, ~/.pam_environment, ~/.xprofile
and it seems they have no effects.

If I am not mistaken, guix system now uses gdm as display manager, but
I also cannot find a way to set environment variable for gdm sessions.

Any help is greatly appreciated. Also, I think a way to let user
customize /etc/environment through the system config will be useful,
but I do not find a way to do so.

Thanks.

Regards,
Peter



How to debug / investigate non-reproducible build for r-repr?

2020-06-29 Thread Lo Peter
Dear all,

I am trying to import r-languageserver, and one of its dependency is
r-repr, which I found that cannot be built reproducibly (on my
laptop's guix, installed on Linux Mint), i.e.

guix build --rounds=2 r-repr

would give the error saying that "...r-repr-1.1.0.drv differs from
previous round".

How should I begin to investigate the issue?

Regards,
Peter



Very slow download speed of substitutes

2020-06-28 Thread Lo Peter
Dear all,

I am trying guix import from cran, and building some R packages, which
sometimes needs to download substitutes. i noticed that the download
speed can be ridiculously slow and seems especially during night in
HKT.

Here is a snippet of the downloading:

substituting 
/gnu/store/njhd9w4pvp2c6mbdngg1xvvld82a2c1l-ghc-ansi-wl-pprint-0.6.9...
downloading from
https://ci.guix.gnu.org/nar/lzip/njhd9w4pvp2c6mbdngg1xvvld82a2c1l-ghc-ansi-wl-pprint-0.6.9
...
 ghc-ansi-wl-pprint-0.6.9  123KiB25KiB/s 00:05
[##] 100.0%

substituting 
/gnu/store/p035ilg1b6ywpxxj8df494x8zxnnwg12-ghc-data-default-instances-containers-0.0.1...
downloading from
https://ci.guix.gnu.org/nar/lzip/p035ilg1b6ywpxxj8df494x8zxnnwg12-ghc-data-default-instances-containers-0.0.1
...
 ghc-data-default-instances-containers-0.0.1  42KiB 37KiB/s 00:01
[##] ghc-data-default-instances-containers-0.0.1
42KiB 37KiB/s 00:01 [##] 100.0%

substituting /gnu/store/fzvfc1zzqqg2y2f2j7a3p7268gbj8x18-ghc-digest-0.0.1.2...
downloading from
https://ci.guix.gnu.org/nar/lzip/fzvfc1zzqqg2y2f2j7a3p7268gbj8x18-ghc-digest-0.0.1.2
...
 ghc-digest-0.0.1.2  50KiB   26KiB/s 00:02
[##] 100.0%

substituting /gnu/store/5vkirs3zzwg7n099f5pwcf3kbf1mjxrg-ghc-entropy-0.4.1.5...
downloading from
https://ci.guix.gnu.org/nar/lzip/5vkirs3zzwg7n099f5pwcf3kbf1mjxrg-ghc-entropy-0.4.1.5
...
 ghc-entropy-0.4.1.5  57KiB  21KiB/s 00:03
[##] 100.0%

substituting /gnu/store/vv9mvx9fk8yk49fn0czmszss1s72za8c-ghc-erf-2.0.0.0...
downloading from
https://ci.guix.gnu.org/nar/lzip/vv9mvx9fk8yk49fn0czmszss1s72za8c-ghc-erf-2.0.0.0
...
 ghc-erf-2.0.0.0  51KiB  32KiB/s 00:02
[##] 100.0%

substituting 
/gnu/store/289w11bnbb8v5hav1463my181jchi1ck-ghc-executable-path-0.0.3.1...
downloading from
https://ci.guix.gnu.org/nar/lzip/289w11bnbb8v5hav1463my181jchi1ck-ghc-executable-path-0.0.3.1
...
 ghc-executable-path-0.0.3.1  58KiB  12KiB/s 00:05
[##] 100.0%

substituting 
/gnu/store/8wjlzpx0mxmfmcfq83kqg949vkqy05dh-ghc-extensible-exceptions-0.1.1.4...
downloading from
https://ci.guix.gnu.org/nar/lzip/8wjlzpx0mxmfmcfq83kqg949vkqy05dh-ghc-extensible-exceptions-0.1.1.4
...
 ghc-extensible-exceptions-0.1.1.4  41KiB20KiB/s 00:02
[##] 100.0%


One of ghc-* (not shown above) which weights around 97MB took 2 hours
to download.
But when I use speedtest.net to test my internet speed
(https://www.speedtest.net/result/9675438421) I get about 80Mbps both
upload and download, while some substitutes are still download (and
they are still downloading when I am typing this).

So is this problem with my guix setting or is it known that
ci.guix.gnu.org is slow?
This guix is installed on Linux Mint 19.2, and I did "guix pull" yesterday.

Regards,
Peter



Re: Install older version of a package with the "@version" specifier

2020-06-27 Thread Lo Peter
Thanks a lot for the clarifications.

On Sat, Jun 27, 2020 at 2:04 AM zimoun  wrote:
>
> Dear,
>
> On Fri, 26 Jun 2020 at 19:15, Julien Lepiller  wrote:
>
> > - use r from an old revision of guix that had the version you're looking 
> > for. This can be done using an "inferior". The package will more likely 
> > build (and even have substitutes), but it uses the old version of all its 
> > dependencies, which are not necessarily patched for vulnerabilities and may 
> > require more space to be stored, as they are not shared with other packages.
>
> It is not easy to find the old revision (commit) which owns the
> version you are looking for.  In such cases, the Guix Data Service
> could help.  For example, this URL lists all the R versions in Guix
> over the time:
>
> https://data.guix.gnu.org/repository/1/branch/master/package/r
>
> As you can see, it is rare that 2 versions of R exist at the same time
> in Guix.  I let you click and you will find that the last commit
> containing the R version 3.6.3 is the commit 899093.
>
> https://data.guix.gnu.org/revision/89909327d017198969436237acc7c93823ff8147/package/r/3.6.3
>
> Then the way for creating an inferior is "guix time-machine".  It goes
> back but without polluting your current setup; you can have different
> versions from different time/commit.  The following command creates
> temporarily an old Guix version and use it for spawning an environment
> containing R.
>
> --8<---cut here---start->8---
> $ guix time-machine --commit=899093  \
>  -- environment --ad-hoc r-minimal \
>  -- R
> R version 3.6.3 (2020-02-29) -- "Holding the Windsock"
> [...]
> > sessionInfo()
> R version 3.6.3 (2020-02-29)
> Platform: x86_64-unknown-linux-gnu (64-bit)
> Running under: Debian GNU/Linux 10 (buster)
>
> Matrix products: default
> BLAS/LAPACK: 
> /gnu/store/vax1vsg3ivf0r7j7n2xkbi1z3r0504l9-openblas-0.3.7/lib/libopenblasp-r0.3.7.so
>
> locale:
> [1] C
>
> attached base packages:
> [1] stats graphics  grDevices utils datasets  methods   base
>
> loaded via a namespace (and not attached):
> [1] compiler_3.6.3
> >
> --8<---cut here---end--->8---
>
> Instead of 'environment', you can use 'install -p
> /path/to/profile/with/old/R'.  However, it is important to be clear
> with which version of R you are using and which version is used to
> "compile" the R packages you will install, and use a manifest.scm file
> is really a good practise when traveling in time. :-)
>
>
> Hope that helps,
> simon



Install older version of a package with the "@version" specifier

2020-06-26 Thread Lo Peter
Dear all,

I am trying to install r version 3.6.3, where the current version is at 4.0.2.

Accordingly to the manual at
https://guix.gnu.org/manual/en/html_node/Invoking-guix-package.html it
should be possible to specify the package version such as "guix
package -i r@3.6.2", but on my guix (installed on slackware 14.2), it
says:
guix package: error: r: package not found for version 3.6.2

What am I missing here?

Regards,
Peter