Subject: bug#31329: closed (Re: bug#31329: (guix self) can silently miscompile modules)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 01 May 2018 14:03:02 +0000

Your bug report

#31329: (guix self) can silently miscompile modules

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31329: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31329
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#31329: (guix self) can silently miscompile modules
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Date: Tue, 01 May 2018 16:02:19 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

[email-masked] (Ludovic Courtès) skribis:

> Compilation should abort on the first exception.

Done in 27e810c3e8707216c8b1b44e3d012cb0547b13d3.

Ludo'.

Subject: (guix self) can silently miscompile modules
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Date: Tue, 01 May 2018 12:09:16 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Sometimes (guix self), used by ‘guix pull’, can silently miscompile
modules as shown in
<https://berlin.guixsd.org/log/g5mp6aqwf8xqx3znwf13zrv3szd8a3b5-guix-packages>:

--8<---------------cut here---------------start------------->8---
compiling...	 37.3% of 407 filesIn thread:
unexpected syntax
In thread:
no code for module (guix licenses)
.compiling...	 37.6% of 407 filesIn thread:
no code for module (guix licenses)
.compiling...	 37.8% of 407 filesIn thread:
no code for module (guix licenses)
.compiling...	 38.1% of 407 filesIn thread:
no code for module (guix licenses)
.compiling...	 38.3% of 407 filesIn thread:
no code for module (guix licenses)
.compiling...	 38.6% of 407 filesIn thread:
no code for module (guix licenses)
.compiling...	 38.8% of 407 filesIn thread:
no code for module (guix build-system haskell)
.compiling...	100.0% of 407 files
@ build-succeeded /gnu/store/m5z6zk6898iiahslp6h5ji2jqgimqd14-guix-packages.drv -
--8<---------------cut here---------------end--------------->8---

The result in this case is a semi-broken set of .go files, which can
additionally be distributed as substitutes by berlin.

For instance, I get this:

--8<---------------cut here---------------start------------->8---
$ guix build gimp -n
Backtrace:
          17 (apply-smob/1 #<catch-closure 1a63c60>)
In ice-9/boot-9.scm:
    705:2 16 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8 15 (_ #(#(#<directory (guile-user) 1b11140>)))
In guix/ui.scm:
  1502:12 14 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    829:9 13 (catch _ _ #<procedure 7f7488abe430 at guix/ui.scm:553…> …)
    829:9 12 (catch _ _ #<procedure 7f7488abe448 at guix/ui.scm:661…> …)
In guix/scripts/build.scm:
   736:24 11 (_)
    665:4 10 (options->derivations _ _)
In srfi/srfi-1.scm:
   679:15  9 (append-map _ _ . _)
   592:17  8 (map1 (#<package [email-masked] gnu/packages/gimp.scm:117…>))
In guix/scripts/build.scm:
   670:30  7 (_ _)
In guix/packages.scm:
   839:14  6 (cache! #<weak-table 0/113> #<package [email-masked] gnu/…> …)
In unknown file:
           5 (_ #<procedure thunk ()> #<procedure list _> #<undefined>)
In guix/packages.scm:
  1158:22  4 (thunk)
   839:14  3 (cache! #<weak-table 0/223> #<package [email-masked] gnu/…> …)
In unknown file:
           2 (_ #<procedure thunk ()> #<procedure list _> #<undefined>)
In guix/packages.scm:
   942:46  1 (thunk)
In gnu/packages/gimp.scm:
    152:5  0 (inputs)

gnu/packages/gimp.scm:152:5: In procedure inputs:
poppler-data: unbound variable
--8<---------------cut here---------------end--------------->8---

… and this is only because pdf.go is missing from ~/.config/guix/latest
and it ends up picking up an old and unrelated pdf.go.

Compilation should abort on the first exception.

Ludo’.