Package Details: guix 0.14.0-1

Git Clone URL: (read-only)
Package Base: guix
Description: A purely functional package manager for the GNU system
Upstream URL:
Keywords: guile guix nix package system
Licenses: GPL3
Submitter: lantw44
Maintainer: lantw44
Last Packager: lantw44
Votes: 22
Popularity: 0.213039
First Submitted: 2013-04-22 11:06
Last Updated: 2018-04-30 15:52

Latest Comments

zeronineseven commented on 2018-05-10 17:27

I've successfully built guix on btrfs partition. Will report upstream. Thx!

lantw44 commented on 2018-05-10 15:07

I haven't spent time debugging this issue. If you can reproduce it on upstream git master, please report this tmpfs-related problem to the upstream bug tracker. Does guix tests pass if you build it on a filesystem which is not tmpfs?

zeronineseven commented on 2018-05-08 20:35

In fact my /tmp is actually mounted as tmpfs =/

lantw44 commented on 2018-05-08 14:22

It looks like it is an issue related to tmpfs, again ...

zeronineseven commented on 2018-05-08 09:18

lantw44, I ran the build on my host machine without manual chroot/container - no virtualization was involved except the one used by makepkg itself (fakeroot?). I'm not sure how can I test unprivileged user namespace functionality directly but I believe that it's working fine - I have unprivileged lxcs running on this machine and "unshare" command has spawned new bash session without any errors.

lantw44 commented on 2018-05-07 15:58

Did you run the test inside a chroot or a container? Can you use 'unshare' to successfully create an unprivileged user namespace in the environment you ran the test?

zeronineseven commented on 2018-05-06 21:58

Hi, It seems that I can't build guix due to failing tests/guix-environment-container. AFAIK this is related to userns but "cat /proc/sys/kernel/unprivileged_userns_clone" returns 1 and in fact I have unprivileged lxcs running on the very same host. test-suite.log content is here:

lantw44 commented on 2018-05-05 11:21

Hello, you can find the information on Arch wiki:

egils commented on 2018-05-05 07:25

Hi. Installed this recently.

I missed an explanation post-install that explains to me that I have to enable and start the daemon and add the buildusers to be able to run/use guix at all. Alternatively that the package sets it all up and remains quiet.

T-recks commented on 2018-03-18 20:42

Ah, you're right. Thanks for the response and for maintaining this package. Everything went smoothly for me once I followed the below example and changed DNS servers to pass some of the check() tests.

lantw44 commented on 2018-03-18 12:41

/gnu and /var/guix will be created by guix-daemon when you start the service the first time.

T-recks commented on 2018-03-18 10:53

Installing with this package build produced no /gnu directory and no /var/guix directory for me. Is this supposed to be the case or did I do something wrong?

stefan_vgapass commented on 2017-11-19 11:15

This AUR package will build with pacaur only if the user edits the PKGBUILD file and removes/comments the check() function.

Otherwise the check() function gives this error:

==> ERROR: The working directory cannot be longer than 46 bytes

I was able to build the guix package and test it in a clean VM, it doesn't build on my archlinux host and it can't be built easily with the devtools since the guix AUR package requires other 2 AUR packages as build dependencies.

You still have to follow the guix manual to run the additional steps after install manually for now.

g99 commented on 2017-10-08 17:07

builds well with yaourt (apacman), but not pacaur (key missing). guix root service startable, but addgroup and all other setup must be done manually still.

fusion809 commented on 2017-10-05 04:08

For me I get the build error:

GUILEC gnu/build/linux-container.go
GUILEC gnu/build/linux-initrd.go
GUILEC gnu/build/linux-modules.go
GUILEC gnu/build/marionette.go
GUILEC gnu/build/shepherd.go
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload exec-command in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload exec-command in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
gnu/build/shepherd.scm:98:13: warning: possibly unbound variable `read-pid-file'
gnu/build/shepherd.scm:159:32: warning: possibly unbound variable `exec-command'
gnu/build/shepherd.scm:170:14: warning: possibly unbound variable `read-pid-file'
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload exec-command in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload exec-command in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
;;; Failed to autoload read-pid-file in (shepherd service):
;;; ERROR: missing interface for module (shepherd service)
GUILEC gnu/build/vm.go
GUILEC gnu/tests.go
GUILEC gnu/tests/base.go
GUILEC gnu/tests/dict.go
GUILEC gnu/tests/nfs.go
GUILEC gnu/tests/install.go
GUILEC gnu/tests/mail.go
GUILEC gnu/tests/messaging.go
GUILEC gnu/tests/networking.go
GUILEC gnu/tests/ssh.go
GUILEC gnu/tests/web.go
GUILEC guix/docker.go
GUILEC guix/import/cpan.go
GUILEC guix/import/crate.go
GUILEC guix/import/gem.go
GUILEC guix/import/github.go
GUILEC guix/import/json.go
GUILEC guix/import/pypi.go
GUILEC guix/import/stackage.go
GUILEC guix/scripts/import/crate.go
GUILEC guix/scripts/import/gem.go
GUILEC guix/scripts/import/pypi.go
GUILEC guix/scripts/import/stackage.go
GUILEC guix/ssh.go
GUILEC guix/scripts/copy.go
GUILEC guix/store/ssh.go
GUILEC guix/scripts/offload.go
GUILEC guix/config.go
GUILEC guix/tests.go
GUILEC guix/tests/http.go

Some deprecated features have been used. Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information. Set it to "no" to suppress
this message.
GEN etc/guix-daemon.service
GEN etc/guix-publish.service
GEN etc/guix-daemon.conf
GEN etc/guix-publish.conf
make[2]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.13.0'
make[1]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.13.0'

plattfot commented on 2017-09-13 05:11

Had some issues running guix build, got these errors:

guix: offload: command not found
Try `guix --help' for more information.
guix build: error: build failed: unexpected EOF reading a line

Turns out that the guile path isn't properly set up. After some help from the mailing list, I managed to fix it by running:
systemctl edit guix-daemon

And added:

Note that I've run guix pull and it's now using guile 2.2 and not 2.0.

Not sure if this should be added to the package or mentioned in the wiki.

lantw44 commented on 2017-07-25 12:59

If you want to run the check, you cannot build it in a directory with long path name because there are limits on the length of shebang and unix socket path.

Plexcon commented on 2017-07-25 11:59

==> Verificando las firmas de las fuentes con gpg...
guix-0.13.0.tar.gz ... HA FALLADO (clave pública desconocida 090B11993D9AEBB5)
aarch64-linux-20170217-guile-2.0.14.tar.xz ... HA FALLADO (clave pública desconocida 090B11993D9AEBB5)
armhf-linux-20150101-guile-2.0.11.tar.xz ... HA FALLADO (clave pública desconocida 090B11993D9AEBB5)
==> ERROR: ¡No se ha podido verificar alguna de las firmas PGP!
$ gpg --recv-keys 090B11993D9AEBB5
==> Iniciando check()...
==> ERROR: /tmp/pamac-build-kantergos/guix/src/guix-0.13.0 is too long.
==> ERROR: The working directory cannot be longer than 46 bytes.
==> ERROR: Se produjo un fallo en check().

lantw44 commented on 2017-03-25 13:52

You have to download the public key to verify the signature. Please see the comment at the top of PKGBUILD.

shillshocked commented on 2017-03-24 04:18

==> Verifying source file signatures with gpg...
guix-0.12.0.tar.gz ... FAILED (error during signature verification)
==> ERROR: One or more PGP signatures could not be verified!
==> ERROR: Makepkg was unable to build .

Pelzflorian commented on 2016-12-26 18:16

Thank you. I changed the article as per your suggestions. I did not know about systemctl edit. :)

lantw44 commented on 2016-12-26 17:17

Two simple comments for the article:

1. You don't have to copy the systemd unit file. To override options in guix-daemon.service, type 'systemctl edit guix-daemon.service' and put options you want to change in it.
2. You may want to mention '/var/log/guix' in 'Uninstalling Guix'.

Pelzflorian commented on 2016-12-26 10:53

I’ve created a Guix article on the Arch wiki. If that was too soon, feel free to delete it again.

lantw44 commented on 2016-12-17 14:28

You can find error messages of failing tests in test-suite.log.

Reded commented on 2016-12-17 13:44

Getting a build failure that doesn't seem to be the same as rafaelff's -

I did check the DNS servers, and turned off my usual dnsmasq/crypt combo to see if that was affecting it, but couldn't see anything immediate.

Anything I can do? Thanks!

rafaelff commented on 2016-11-08 12:45

You're right. My *nice* ISP's DNS servers redirects HTTP error messages to their search website, which masks the failure. This problem is solved by setting another DNS server in my computer and check() works just fine now. Sorry for the noise.

lantw44 commented on 2016-11-08 10:33

I think this is still caused by networking problems. It seems that when the test program tried to download http://does-not-exist, you got a web page that asked a browser to redirect to instead of failing.

rafaelff commented on 2016-11-06 13:30

I was behind a proxy, so probably the networking errors are related to it. However I'm having errors even without a proxy. See new logs:

Build & Check log:

fusion809 commented on 2016-11-06 13:04

I get the same error as rafaelff. If the default is to allow the tests internet access then that is what's happening on my system. I haven't deliberately turned internet access on or off.

lantw44 commented on 2016-11-05 07:39

Do you enable networking when running tests? I think there are many tests that need Internet access.

rafaelff commented on 2016-11-04 18:34

Compilation looks good, but check() reports 9 errors. With check() disabled (commented), no problems are displayed and package() finishes without issue.

Build & Check log:

lantw44 commented on 2016-11-04 12:38

It should be fixed in 0.11.0-3 now. I pulled two patches from upstream git repo to fix it.

lantw44 commented on 2016-11-03 17:31

It seems it is caused by the update to guile 2.0.13. guile 2.0.12 doesn't have this problem. I am still finding ways to fix it. Thanks for your reporting.

rafaelff commented on 2016-11-01 15:36

I'm unable to build this package. Full build log can be seen here: . What could be wrong?

wilfred commented on 2016-09-04 03:14

Note that you will need to create a guixbuild group and some users before you can install any packages.

From the official docs:

$ sudo groupadd --system guixbuild
$ sudo for i in `seq -w 1 10`;
useradd -g guixbuild -G guixbuild \
-d /var/empty -s `which nologin` \
-c "Guix build user $i" --system \

Next, ensure the daemon is running ($ sudo systemctl start guix-daemon) and you can use guix.

mhw commented on 2016-08-13 07:32

The test failure reported by fusion809 will happen whenever the absolute file name of the build directory $(abs_top_builddir) is too long, and is ultimately due to the fact that shebangs (the first line with #!) of executable scripts in Linux (the kernel) are limited to 127 characters. Some of the tests involve building packages inside the build directory, with the store inside the build directory instead of in /gnu/store (so the tests can be done without root access), so you end up with shebangs like:


In fusion809's case, this becomes something like:


The example above is 126 characters which just barely fits, but for packages with longer names, or if there is an argument after the script name on the shebang line, the length limitation will be exceeded.

If you cannot arrange to do the builds in a directory with a shorter absolute file name, then you won't be able to run tests. I'm sorry about that, but until Linux (the kernel) increases this length limit, I don't see another solution.

fusion809 commented on 2016-08-12 20:11

For me the new revision is giving the check() failure:

CXXLD guix-register
Compiling Scheme modules...
LOAD (guix config)
;;; note: source file ./guix/config.scm
;;; newer than compiled /home/fusion809/.cache/pacaur/guix/src/guix-0.11.0/guix/config.go
GUILEC guix/config.go
GEN etc/guix-daemon.service
GEN etc/guix-daemon.conf
make[2]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
make[1]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
==> Starting check()...
unshare: unshare failed: Invalid argument
make check-recursive
make[1]: Entering directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
Making check in po/guix
make[2]: Entering directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0/po/guix'
make[2]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0/po/guix'
Making check in po/packages
make[2]: Entering directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0/po/packages'
make[2]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0/po/packages'
make[2]: Entering directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
Compiling Scheme modules...
make check-TESTS check-local
make[3]: Entering directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
make[4]: Entering directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
Testsuite summary for GNU Guix 0.11.0
# TOTAL: 0
# PASS: 0
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
make[4]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'

Cannot run tests because file name limits would be exceeded.
Look for 'length' in the 'config.log' file for details.

make[3]: *** [Makefile:4816: check-local] Error 1
make[3]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
make[2]: *** [Makefile:4441: check-am] Error 2
make[2]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
make[1]: *** [Makefile:3978: check-recursive] Error 1
make[1]: Leaving directory '/home/fusion809/.cache/pacaur/guix/src/guix-0.11.0'
make: *** [Makefile:4443: check] Error 2
==> ERROR: A failure occurred in check().
:: failed to build guix package(s)

lantw44 commented on 2016-08-10 18:38

Thanks for noticing the problem of stripping. I uploaded a new version of PKGBUILD and I think it should resolve the issue.

mhw commented on 2016-08-09 23:47

As a lead developer of GNU Guix, I wanted to follow up on balduin's comment. It's important for the bootstrap binaries installed in gnu/packages/bootstrap/* to be copied precisely, without modification. These bootstrap binaries are the foundation upon which everything else in Guix is built, and thus they affect the hashes of every derivation.

I've learned that by default, 'makepkg' automatically strips all executables, including these bootstrap binaries. As a result, users of this AUR package generate different derivations than all other Guix users,
and thus they cannot make use of our binary substitutes, nor can they compare their build outputs with build outputs from other users to gain confidence that results are genuine and uncorrupted.

balduin has verified that adding "options=(!strip)" to this PKGBUILD fixes the problem. I would be grateful if you could make this change ASAP. Feel free to stop by #guix if you have questions about this. Thanks!

balduin commented on 2016-08-09 20:53

The package works fine so far. The only problem is that you have to build each and every package from source, because the bash binary of the guix-0.11.0.tar.gz get's modified by makepkg. The negative effect is none of substitutes (pre-build packages) from can be used since all produce a different output.

The solution is to add to the PKGBUILD file:

for example:


after adding the options line none of the binaries in guix-0.11.0.tar.gz will be modified and using substitutes from works.

lantw44 commented on 2016-07-15 13:10

You have to obtain the required public key before you can verify the signature. You can find the required command at the beginning of PKGBUILD file.

mcmuntjac commented on 2016-07-15 05:42

after download:
Validating source files with sha1sums...
guix-0.10.0.tar.gz ... Passed
guix-0.10.0.tar.gz.sig ... Passed
==> Verifying source file signatures with gpg...
guix-0.10.0.tar.gz ... FAILED (unknown public key...
==> ERROR: One or more PGP signatures could not be verified!
==> ERROR: Makepkg was unable to build guix.

e: thanks, I used gpg --keyserver hkp:// --recv-keys [PUBLIC KEY] and was able to finish building

lantw44 commented on 2016-01-31 18:18

I cannot reproduce the test failure. It is possible that it is just a temporary failure because some tests depend on remote servers. If it still fails, you can use the output in tests/build-utils.log to debug and report the issue.

divansantana commented on 2016-01-29 12:05


PASS: tests/base64.scm
PASS: tests/base32.scm
PASS: tests/hash.scm
PASS: tests/cpio.scm
PASS: tests/pk-crypto.scm
PASS: tests/sets.scm
PASS: tests/pki.scm
PASS: tests/substitute.scm
PASS: tests/ui.scm
PASS: tests/records.scm
PASS: tests/utils.scm
FAIL: tests/build-utils.scm

Gonzih commented on 2015-10-19 08:03

And today this test passed :/

lantw44 commented on 2015-10-16 19:10

Does your system run out of memory? Is there any network problem found in the log file? It is also possible that this is a problem of a remote server because this test needs Internet access.

Gonzih commented on 2015-10-16 09:13

with 0.8.3 i have 1 failing test:

FAIL: tests/

Any tips on how can I look closer in to that?

techno-geek commented on 2015-05-14 15:22

0.8.2 is out

lantw44 commented on 2015-03-10 08:14

An install file is added now. It is copied and modified from grep.install.

holos commented on 2015-03-09 22:22

This ought to include an install file for the info manual.

lantw44 commented on 2015-02-18 18:58

I added the gpg command to PKGBUILD as a comment.

archthail commented on 2015-02-13 16:54

I have no problem doing it, thanks for pointing me in right direction.

However, if the step is indentical for every user it makes sense for it to be included.

lantw44 commented on 2015-02-13 16:41

Do we really need to add the gpg command to PKGBUILD? I think it should be done by users ...

muchweb commented on 2015-02-13 16:13

==> ERROR: One or more PGP signatures could not be verified!
==> ERROR: Makepkg was unable to build guix.

Following needs adding to PKGBUILD:

gpg --recv-keys 090B11993D9AEBB5

lantw44 commented on 2015-02-13 15:55

Please import the needed key when you see the error.

archthail commented on 2015-02-13 03:07

==> ERROR: One or more PGP signatures could not be verified!

systemovich commented on 2013-08-28 05:40

I get the following error when trying to install a package:

$ guix package -i xf86-video-ati
guix package: error: failed to connect to '/var/nix/daemon-socket/socket': No such file or directory

tantalum commented on 2013-06-28 19:47

i just saw we now have guile 2.0.9 in extra. the package guile2 doesn't exist anymore.

tantalum commented on 2013-06-28 18:17

there is no guile2 package the best we have is guile-git and guile-devel afaik

lantw44 commented on 2013-05-13 16:20

3 tests of guix-0.2 cannot not pass because of some strange problems.

configure: WARNING: unrecognized options: --enable-fast-install
./configure: ./config.status: /var/tmp/yaourt-tmp-lantw44/aur-guix/src/guix-0.2/test-tmp/store/bipvm5958i36: bad interpreter: No such file or directory
chmod: cannot access '': No such file or directory
phase `configure' failed after 9 seconds