[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: getting started with guix import nix

From: Ludovic Courtès
Subject: Re: getting started with guix import nix
Date: Mon, 19 Dec 2016 21:56:55 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Paul Garlick <address@hidden> skribis:

>> > I have noticed that the non-termination problem is not confined to
>> > the
>> > opencascage_oce package. If I try 
>> > 
>> > $ nix-instantiate --strict --eval --xml -A guile
>> > /home/paul/.nix-defexpr/channels/nixpkgs
>> > 
>> > that does not terminate either.
>> Does it just take long, or does it simply not terminate?
> After a few (approximately five) minutes the process is still producing
> xml.  Looking at the output, after killing the process, there is a
> large amount of blank space plus the occasional line of xml, such as:
> <function column="15" line="47"
> path="/nix/store/k3jqgxqfwg6q9bgkys63c25lbjprl3gq-nixpkgs-
> 17.03pre96825.497e6d2/nixpkgs/lib/types.nix">


> $ ./pre-inst-env guix import nix /data/paul/sourceCode/nixpkgs
> opencascade_oce
> ;;; SSAX warning: Skipping PI: xml
> trace: is deprecated, use lib.zipAttrsWith instead
> trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
> trace: `types.list' is deprecated; use `types.listOf' instead
> ;; converted from
> /data/paul/sourceCode/nixpkgs/pkgs/development/libraries/opencascade/oc
> e.nix:5
> (package
>   (name "opencascade-oce")


> This is almost usable, except the version of the file oce.nix has
> changed since the dde259d commit.  Also, it may be nix-instantiate does
> not terminate for many other packages in recent versions of nixpkgs.

Indeed, with Nixpkgs 16.09-beta-6955-g0c7afce, ‘guix import nix’ crashes
with a stack overflow in the XML parser after a few seconds.  Likewise:

--8<---------------cut here---------------start------------->8---
$ time NIX_REMOTE=daemon nix-instantiate -A guile /data/src/nixpkgs --strict 
--eval --xml | wc -c
trace: is deprecated, use lib.zipAttrsWith instead
trace: `mkStrict' is obsolete; use `mkOverride 0' instead.
error: stack overflow (possible infinite recursion)

real    0m5.959s
user    0m5.660s
sys     0m0.700s
--8<---------------cut here---------------end--------------->8---

IOW, it crashes after having spit 1 GB of XML.  Woow.  :-)
Could you report it to the Nix folks?

Now, I don’t think ‘guix import nix’ is that important to be honest.  I
think its value decreases as the number of packages in Guix increases.
Also, all it gives is a rough template and not the harder details; so
you may find that packaging OpenCascade won’t take much longer without
‘guix import nix’.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]