bug#44530: [1.2.0] linux-libre-5.9.3 deblob fails on aarch64

2020-11-09 Thread Efraim Flashner
On Mon, Nov 09, 2020 at 02:54:32PM +0200, Efraim Flashner wrote:
> I was trying to build my pine64 config on the 1.2.0 branch and the
> deblob check failed against 5.9.3. Log attached.

I ended up with the same issue with 5.4.74.


-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


bug#44530: [1.2.0] linux-libre-5.9.3 deblob fails on aarch64

2020-11-09 Thread Leo Famulari
On Mon, Nov 09, 2020 at 02:54:32PM +0200, Efraim Flashner wrote:
> I was trying to build my pine64 config on the 1.2.0 branch and the
> deblob check failed against 5.9.3. Log attached.

I don't see anything relevant in the log. I wonder, could it have run
out of memory?





bug#43893: [PATCH v3] maint: update-guix-package: Prevent accidentally breaking guix pull.

2020-11-09 Thread Maxim Cournoyer
Hello Ludovic!

Ludovic Courtès  writes:

> Hi Maxim,
>
> Maxim Cournoyer  skribis:
>
>>> +(define (assert-clean-checkout repository)
>>> +  "Error out if the working directory at REPOSITORY contains local
>>> +modifications."
>>> +  (define description
>>> +(let ((format-options (make-describe-format-options
>>> +   #:dirty-suffix "-dirty")))
>>> +  (describe-format (describe-workdir repository) format-options)))
>>> +
>>> +  (when (string-suffix? "-dirty" description)
>>> +(leave (G_ "attempt to update 'guix' package from a dirty tree (~a)~%")
>>> +   description))
>>> +
>>> +  (info (G_ "updating 'guix' package to '~a'~%") description))
>>
>> Unfortunately this doesn't catch the case where git has explicitly been
>> told to '--skip-worktree' on a path or file (the original cause of this
>> bug report).  See
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=43893#11.
>
> Any such issue is caught when one eventually runs ‘guix build guix’
> (wrong commit ID, wrong hash, etc.).
>
> But you’re right that the above test isn’t fool-proof: it’s just a way
> to catch this common mistake early and report it nicely.

Right.  I still don't like that it wouldn't work from a checkout where
someone would have modified, e.g., the .dir-locals file locally and
marked it with 'git --skip-worktree'.  Having to revert this kind of
'developer setup' is painful.  The current approach makes it unnecessary
(only committed changes are taken into account, not just git tracked
files).

>>>  (define (main . args)
>>>(match args
>>>  ((commit version)
>>> @@ -113,32 +153,20 @@ COMMIT."
>>>(hash (query-path-hash store source))
>>>(location (package-definition-location))
>>>(old-hash (content-hash-value
>>> -  (origin-hash (package-source guix)
>>> + (origin-hash (package-source guix)
>>> +
>>> + (unless (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
>>> +   (let ((repository (repository-open ".")))
>>> + (assert-clean-checkout repository)
>>> + (repository-close! repository)))
>>> +
>>>   (edit-expression location
>>>(update-definition commit hash
>>>   #:old-hash old-hash
>>>   #:version version))
>>
>>> - ;; Re-add SOURCE to the store, but this time under the real name 
>>> used
>>> - ;; in the 'origin'.  This allows us to build the package without
>>> - ;; having to make a real checkout; thus, it also works when 
>>> working
>>> - ;; on a private branch.
>>> - (reload-module
>>> -  (resolve-module '(gnu packages package-management)))
>>> -
>>> - (let* ((source (add-to-store store
>>> -  (origin-file-name (package-source 
>>> guix))
>>> -  #t "sha256" source))
>>> -(root   (store-path-package-name source)))
>>> -
>>> -   ;; Add an indirect GC root for SOURCE in the current directory.
>>> -   (false-if-exception (delete-file root))
>>> -   (symlink source root)
>>> -   (add-indirect-root store
>>> -  (string-append (getcwd) "/" root))
>>> -
>>> -   (format #t "source code for commit ~a: ~a (GC root: ~a)~%"
>>> -   commit source root)
>>> + (when (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
>>> +   (keep-source-in-store store source)
>>
>> That environment variable would now do more than it advertises.  I'd
>> prefer to keep the behavior consistent in both modes, unless there's a
>> very good reason not too?
>
> Adding the source to the store, under the right name, with a GC root, is
> a prerequisite for use cases like ‘make release’: there you not only
> want to update the package definition to refer to your private commit
> and corresponding hash, you also want to be able to build it.  If the
> source isn’t already in the store, ‘guix build guix’ tries to look it up
> on Savannah, which fails.

Thanks for providing a rational for it.  I'll git-send a new patch which
adds the source to the store using the procedure you shared above, but
otherwise keeps the existing mechanism intact.

Thank you for you patience!

Maxim





bug#43893: [PATCH] maint: update-guix-package: Optionally add sources to store.

2020-11-09 Thread Maxim Cournoyer
Following discussions in , keeping a copy
of the updated package source is desirable when generating a release.

* build-aux/update-guix-package.scm (version-controlled?): Remove variable.
(call-with-temporary-git-worktree): Renamed from
'with-temporary-git-worktree'.  Update doc.  Do not change directory
implicitly.
(keep-source-in-store): New procedure.
(main): Adjust to use with call-with-temporary-git-worktree.  Add the sources
to the store when GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set.
* .dir-locals.el (scheme-mode): Update.
* doc/contributing.texi (Updating the Guix Package): Update doc.

Co-authored-by: Ludovic Courtès 
---
 .dir-locals.el|  2 +-
 build-aux/update-guix-package.scm | 66 ++-
 doc/contributing.texi | 11 ++
 3 files changed, 51 insertions(+), 28 deletions(-)

diff --git a/.dir-locals.el b/.dir-locals.el
index 8e5d3902e3..38bb3af344 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -123,7 +123,7 @@
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
(eval . (put 'with-repository 'scheme-indent-function 2))
(eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
-   (eval . (put 'with-temporary-git-worktree 'scheme-indent-function 2))
+   (eval . (put 'call-with-temporary-git-worktree 'scheme-indent-function 2))
(eval . (put 'with-environment-variables 'scheme-indent-function 1))
(eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))
 
diff --git a/build-aux/update-guix-package.scm 
b/build-aux/update-guix-package.scm
index ff6b105468..f197bc7e2a 100644
--- a/build-aux/update-guix-package.scm
+++ b/build-aux/update-guix-package.scm
@@ -44,9 +44,6 @@
 (define %top-srcdir
   (string-append (current-source-directory) "/.."))
 
-(define version-controlled?
-  (git-predicate %top-srcdir))
-
 (define (package-definition-location)
   "Return the source properties of the definition of the 'guix' package."
   (call-with-input-file (location-file (package-location guix))
@@ -114,8 +111,9 @@ COMMIT."
   "Create a new git worktree at DIRECTORY, detached on commit COMMIT."
   (invoke "git" "worktree" "add" "--detach" directory commit))
 
-(define-syntax-rule (with-temporary-git-worktree commit body ...)
-  "Execute BODY in the context of a temporary git worktree created from 
COMMIT."
+(define-syntax-rule (call-with-temporary-git-worktree commit proc)
+  "Execute PROC in the context of a temporary git worktree created from
+COMMIT.  PROC receives the temporary directory file name as an argument."
   (call-with-temporary-directory
(lambda (tmp-directory)
  (dynamic-wind
@@ -123,7 +121,7 @@ COMMIT."
  #t)
(lambda ()
  (git-add-worktree tmp-directory commit)
- (with-directory-excursion tmp-directory body ...))
+ (proc tmp-directory))
(lambda ()
  (invoke "git" "worktree" "remove" "--force" tmp-directory))
 
@@ -156,6 +154,30 @@ COMMIT."
   "git" "branch" "-r" "--contains" commit
   (string-append remote "/master")
 
+(define (keep-source-in-store store source)
+  "Add SOURCE to the store under the name that the 'guix' package expects."
+
+  ;; Add SOURCE to the store, but this time under the real name used in the
+  ;; 'origin'.  This allows us to build the package without having to make a
+  ;; real checkout; thus, it also works when working on a private branch.
+  (reload-module
+   (resolve-module '(gnu packages package-management)))
+
+  (let* ((source (add-to-store store
+   (origin-file-name (package-source guix))
+   #t "sha256" source
+   #:select? (git-predicate source)))
+ (root   (store-path-package-name source)))
+
+;; Add an indirect GC root for SOURCE in the current directory.
+(false-if-exception (delete-file root))
+(symlink source root)
+(add-indirect-root store
+   (string-append (getcwd) "/" root))
+
+(info (G_ "source code kept in ~a (GC root: ~a)~%")
+  source root)))
+
 
 (define (main . args)
   (match args
@@ -164,19 +186,25 @@ COMMIT."
(or (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
(commit-already-pushed? (find-origin-remote) commit)
(leave (G_ "Commit ~a is not pushed upstream.  Aborting.~%") 
commit))
-   (let* ((hash (with-temporary-git-worktree commit
-(nix-base32-string->bytevector
- (string-trim-both
-  (with-output-to-string
-   (lambda ()
- (guix-hash "-rx" ".")))
-  (location (package-definition-location))
-  (old-hash (content-hash-value
- (origin-hash (package-source guix)
- (edit-expression location
-  (updat

bug#44530: [1.2.0] linux-libre-5.9.3 deblob fails on aarch64

2020-11-09 Thread Efraim Flashner
On Mon, Nov 09, 2020 at 01:38:35PM -0500, Leo Famulari wrote:
> On Mon, Nov 09, 2020 at 02:54:32PM +0200, Efraim Flashner wrote:
> > I was trying to build my pine64 config on the 1.2.0 branch and the
> > deblob check failed against 5.9.3. Log attached.
> 
> I don't see anything relevant in the log. I wonder, could it have run
> out of memory?

That was what confused me too. I'll add 2G of swap to the 2G of RAM and
try again.

-- 
Efraim Flashner  אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted


signature.asc
Description: PGP signature


bug#43893: [PATCH v3] maint: update-guix-package: Prevent accidentally breaking guix pull.

2020-11-09 Thread Ludovic Courtès
Hi!

Maxim Cournoyer  skribis:

>> Maxim Cournoyer  skribis:
>>
 +(define (assert-clean-checkout repository)
 +  "Error out if the working directory at REPOSITORY contains local
 +modifications."
 +  (define description
 +(let ((format-options (make-describe-format-options
 +   #:dirty-suffix "-dirty")))
 +  (describe-format (describe-workdir repository) format-options)))
 +
 +  (when (string-suffix? "-dirty" description)
 +(leave (G_ "attempt to update 'guix' package from a dirty tree 
 (~a)~%")
 +   description))
 +
 +  (info (G_ "updating 'guix' package to '~a'~%") description))
>>>
>>> Unfortunately this doesn't catch the case where git has explicitly been
>>> told to '--skip-worktree' on a path or file (the original cause of this
>>> bug report).  See
>>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=43893#11.
>>
>> Any such issue is caught when one eventually runs ‘guix build guix’
>> (wrong commit ID, wrong hash, etc.).
>>
>> But you’re right that the above test isn’t fool-proof: it’s just a way
>> to catch this common mistake early and report it nicely.
>
> Right.  I still don't like that it wouldn't work from a checkout where
> someone would have modified, e.g., the .dir-locals file locally and
> marked it with 'git --skip-worktree'.  Having to revert this kind of
> 'developer setup' is painful.  The current approach makes it unnecessary
> (only committed changes are taken into account, not just git tracked
> files).

“Wouldn’t work” is a strong statement: like I wrote, mistakes would
always be caught when you try to build ‘guix’, as with any other package
(we don’t have special support for other packages, why would this one
have to be different?).

Thanks,
Ludo’.





bug#43893: [PATCH] maint: update-guix-package: Optionally add sources to store.

2020-11-09 Thread Ludovic Courtès
Maxim Cournoyer  skribis:

> Following discussions in , keeping a copy
> of the updated package source is desirable when generating a release.

Not just when generating a release: anytime you want to refer to a
private commit, which could be for mere testing.

> * build-aux/update-guix-package.scm (version-controlled?): Remove variable.
> (call-with-temporary-git-worktree): Renamed from
> 'with-temporary-git-worktree'.  Update doc.  Do not change directory
> implicitly.
> (keep-source-in-store): New procedure.
> (main): Adjust to use with call-with-temporary-git-worktree.  Add the sources
> to the store when GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set.
> * .dir-locals.el (scheme-mode): Update.
> * doc/contributing.texi (Updating the Guix Package): Update doc.
>
> Co-authored-by: Ludovic Courtès 

[...]

> -(define-syntax-rule (with-temporary-git-worktree commit body ...)
> -  "Execute BODY in the context of a temporary git worktree created from 
> COMMIT."
> +(define-syntax-rule (call-with-temporary-git-worktree commit proc)
> +  "Execute PROC in the context of a temporary git worktree created from
> +COMMIT.  PROC receives the temporary directory file name as an argument."

This could be a procedure rather a macro now.

[...]

> +   (call-with-temporary-git-worktree commit
> +   (lambda (tmp-directory)
> + (let* ((hash (nix-base32-string->bytevector
> +   (string-trim-both
> +(with-output-to-string
> +   (lambda ()
> + (guix-hash "-rx" tmp-directory))
> +(location (package-definition-location))
> +(old-hash (content-hash-value
> +   (origin-hash (package-source guix)
> +   (edit-expression location
> +(update-definition commit hash
> +   #:old-hash old-hash
> +   #:version version))
> +   ;; When GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set, the 
> sources are
> +   ;; added to the store.  This is used as part of 'make 
> release'.
> +   (when (getenv "GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT")
> + (with-store store
> +   (keep-source-in-store store tmp-directory

OK, that should do the job.

Thanks for the patch, that should break the deadlock and allow us to
proceed with the release!

Next we need to update the ‘release’ target so
GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set.

I like that the initial issue is fixed, but I still don’t buy the extra
dependency on Git, the extra copies of the whole tree, the extra code,
and the shell pipelines, something avoided in the rest of Guix.  Perhaps
that suggests there are unwritten coding guidelines we should eventually
discuss and write.  We’ll see!

Thanks,
Ludo’.





bug#44541: Blender addon can't find Python libraries

2020-11-09 Thread raingloom
I've been meaning to report this for a while, but forgot. Can't test it
right now, but I'm pretty sure it's still relevant. (that reminds me, i
should finish updating the Blender package too)

Reproduce by installing an addon like AnimationNodes. Or just open the
scripting REPL and enter 'import numpy'.

I've tried fixing it before, but didn't get far. Will probably try
again *eventually*, but I have a bunch of other - more pressing -
projects right now.

In the long run, it would also be cool if we could provision Blender
configs with Guix, but that's another discussion that probably needs
some upstream involvement. But it would be cool if Guix could be used by
more artists.





bug#43893: [PATCH v5] maint: update-guix-package: Optionally add sources to store.

2020-11-09 Thread Maxim Cournoyer
Following discussions in , keeping a copy
of the updated package source is desirable when generating a release.

* build-aux/update-guix-package.scm (version-controlled?): Remove variable.
(call-with-temporary-git-worktree): Renamed from
'with-temporary-git-worktree'.  Update doc.  Do not change directory
implicitly.
(keep-source-in-store): New procedure.
(main): Adjust to use with call-with-temporary-git-worktree.  Add the sources
to the store when GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT is set.  Exit gracefully
when FIND-ORIGIN-REMOTE returns #f.
(%savannah-guix-git-repo-push-url-regexp): Adjust match for a potential colon
separator.
* Makefile.am (GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT): Adjust.
* .dir-locals.el (scheme-mode): Update.
* doc/contributing.texi (Updating the Guix Package): Update doc.

Co-authored-by: Ludovic Courtès 
---
 .dir-locals.el|  2 +-
 Makefile.am   | 14 +++---
 build-aux/update-guix-package.scm | 73 ++-
 doc/contributing.texi | 11 ++---
 4 files changed, 64 insertions(+), 36 deletions(-)

diff --git a/.dir-locals.el b/.dir-locals.el
index 8e5d3902e3..38bb3af344 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -123,7 +123,7 @@
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
(eval . (put 'with-repository 'scheme-indent-function 2))
(eval . (put 'with-temporary-git-repository 'scheme-indent-function 2))
-   (eval . (put 'with-temporary-git-worktree 'scheme-indent-function 2))
+   (eval . (put 'call-with-temporary-git-worktree 'scheme-indent-function 2))
(eval . (put 'with-environment-variables 'scheme-indent-function 1))
(eval . (put 'with-fresh-gnupg-setup 'scheme-indent-function 1))
 
diff --git a/Makefile.am b/Makefile.am
index e7053ee4f4..6faf8c9349 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -826,9 +826,10 @@ release: dist-with-updated-version
$(MKDIR_P) "$(releasedir)"
rm -f "$(releasedir)"/*
mv $(SOURCE_TARBALLS) "$(releasedir)"
-   $(top_builddir)/pre-inst-env "$(GUILE)" \
-  $(top_srcdir)/build-aux/update-guix-package.scm  \
-  "`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
+   GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=yes \
+   $(top_builddir)/pre-inst-env "$(GUILE)" \
+   $(top_srcdir)/build-aux/update-guix-package.scm \
+   "`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
git add $(top_srcdir)/gnu/packages/package-management.scm
git commit -m "gnu: guix: Update to $(PACKAGE_VERSION)."
$(top_builddir)/pre-inst-env guix build $(GUIX_FOR_BINARY_TARBALL)  
\
@@ -840,9 +841,10 @@ release: dist-with-updated-version
  mv "guix-binary.$$system.tar.xz"  
\
  "$(releasedir)/guix-binary-$(PACKAGE_VERSION).$$system.tar.xz" ;  
\
done
-   $(top_builddir)/pre-inst-env "$(GUILE)" \
-  $(top_srcdir)/build-aux/update-guix-package.scm  \
-  "`git rev-parse HEAD`"
+   GUIX_ALLOW_ME_TO_USE_PRIVATE_COMMIT=yes \
+   $(top_builddir)/pre-inst-env "$(GUILE)" \
+   $(top_srcdir)/build-aux/update-guix-package.scm \
+   "`git rev-parse HEAD`"
git add $(top_srcdir)/gnu/packages/package-management.scm
git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
$(top_builddir)/pre-inst-env guix build guix\
diff --git a/build-aux/update-guix-package.scm 
b/build-aux/update-guix-package.scm
index ff6b105468..b79e96eb96 100644
--- a/build-aux/update-guix-package.scm
+++ b/build-aux/update-guix-package.scm
@@ -44,9 +44,6 @@
 (define %top-srcdir
   (string-append (current-source-directory) "/.."))
 
-(define version-controlled?
-  (git-predicate %top-srcdir))
-
 (define (package-definition-location)
   "Return the source properties of the definition of the 'guix' package."
   (call-with-input-file (location-file (package-location guix))
@@ -114,8 +111,9 @@ COMMIT."
   "Create a new git worktree at DIRECTORY, detached on commit COMMIT."
   (invoke "git" "worktree" "add" "--detach" directory commit))
 
-(define-syntax-rule (with-temporary-git-worktree commit body ...)
-  "Execute BODY in the context of a temporary git worktree created from 
COMMIT."
+(define-syntax-rule (call-with-temporary-git-worktree commit proc)
+  "Execute PROC in the context of a temporary git worktree created from
+COMMIT.  PROC receives the temporary directory file name as an argument."
   (call-with-temporary-directory
(lambda (tmp-directory)
  (dynamic-wind
@@ -123,12 +121,12 @@ COMMIT."
  #t)
(lambda ()
  (git-add-worktree tmp-directory commit)
- (with-directory-excursion tmp-directory body ...))
+ (proc tmp-directory))
(lambda ()
  (invoke "git" "worktree" "remove" "--force" tmp-directory))
 
 (define %savannah-gui

bug#44450: Issues installing Avogadro

2020-11-09 Thread zimoun
Dear,

Thank you for the report.

On Wed, 04 Nov 2020 at 19:17, Godefroy Vannoye  
wrote:

> First let me apologize if I have missed something, I'm a new user of
> guix and know only the basics about compilation processes.

Welcome! :-)


> I am using guix on the Arch distribution, and installed it using the
> shell installer script. My first tests seem to indicate that guix is
> installed properly.

The Guix Data Service indicates that the package avogrado is broken.

https://data.guix.gnu.org/repository/1/branch/master/package/avogadro/output-history



> I then tried to install Avogadro, but met the following error when
> building it:
>
> make[1]: Leaving directory '/tmp/guix-build-avogadro-1.2.0.drv-0/build'
> make: *** [Makefile:155: all] Error 2
> command "make" "-j" "4" failed with status 2
> note: keeping build directory `/tmp/guix-build-avogadro-1.2.0.drv-0'
> builder for
> `/gnu/store/pc3pdcpm0mwbfvymwizfs14mdfb6qa5x-avogadro-1.2.0.drv' failed
> with exit code 1
> build of /gnu/store/pc3pdcpm0mwbfvymwizfs14mdfb6qa5x-avogadro-1.2.0.drv
> failed

Before that, I get:

--8<---cut here---start->8---
[..]
-- Setting new boost python libraries
CMake Error: failed to create symbolic link 
'/tmp/guix-build-avogadro-1.2.0.drv-0/build/libavogadro/include/avogadro//tmp/guix-build-avogadro-1.2.0.drv-0/build/libavogadro/src/config.h':
 no such file or directory
-- Enabled python terminal
CMake Warning at libavogadro/src/extensions/symmetry/libmsym/CMakeLists.txt:44 
(export):
  Cannot create package registry file:

/homeless-shelter/.cmake/packages/libmsym/0734694d5c49e2816b4ae48943d7700a

  No such file or directory
[..]
--8<---cut here---end--->8---

then:

--8<---cut here---start->8---
[..]
/tmp/guix-build-avogadro-1.2.0.drv-0/avogadro-1.2.0-checkout/libavogadro/src/extensions/symmetry/libmsym/src/orbital.c:
 In function ‘orbitalFromQuantumNumbers’:
/tmp/guix-build-avogadro-1.2.0.drv-0/avogadro-1.2.0-checkout/libavogadro/src/extensions/symmetry/libmsym/src/orbital.c:70:24:
 error: non-floating-point argument in call to function ‘__builtin_signbit’
 char *d = (signbit(m) == 1 ? "-" : "+");
^~~
/tmp/guix-build-avogadro-1.2.0.drv-0/avogadro-1.2.0-checkout/libavogadro/src/extensions/symmetry/libmsym/src/orbital.c:76:24:
 error: non-floating-point argument in call to function ‘__builtin_signbit’
 char *d = (signbit(m) == 1 ? "-" : "+");
^~~
make[2]: *** 
[libavogadro/src/extensions/symmetry/libmsym/CMakeFiles/msym.dir/build.make:170:
 
libavogadro/src/extensions/symmetry/libmsym/CMakeFiles/msym.dir/src/orbital.c.o]
 Error 1
make[2]: Leaving directory '/tmp/guix-build-avogadro-1.2.0.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:2069: 
libavogadro/src/extensions/symmetry/libmsym/CMakeFiles/msym.dir/all] Error 2
make[2]: Leaving directory '/tmp/guix-build-avogadro-1.2.0.drv-0/build'
make[1]: *** [CMakeFiles/Makefile2:2069: 
libavogadro/src/extensions/symmetry/libmsym/CMakeFiles/msym.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs
[  1%] Building CXX object 
libavogadro/src/tools/CMakeFiles/navigatetool.dir/eyecandy.cpp.o
[..]
--8<---cut here---end--->8---



> I retried to build it by running guix build avogadro -K to look at the
> makefile and found at line 155

I get the same thing.  But I think the error comes from an early step.


Well, then I am running:

  cd /tmp/guix-build-avogadro-1.2.0.drv-0
  mkdir mine && cd mine
  guix environmment avogadro
  cmake ../avogadro-1.2.0-checkout/

--8<---cut here---start->8---
[..]
CMake Error: failed to create symbolic link 
'/tmp/guix-build-avogadro-1.2.0.drv-0/my/libavogadro/include/avogadro//tmp/guix-build-avogadro-1.2.0.drv-0/my/libavogadro/src/config.h':
 no such file or directory
[..]
--8<---cut here---end--->8---

So I would try to address this first error by examining the folder 
avogadro-1.2.0-checkout/.


All the best,
simon