Alex Kost <[email protected]> writes: > myglc2 (2016-07-06 05:55 +0300) wrote: > > [...] >> Why do some vm-image VM packages display "OUTPUTS: (Package is obsolete)"? > > Sorry, I have zero knowledge about VM things and I don't understand what > you describe, but I have an idea... > > ... Emacs interface uses the term "obsolete" *wrongfully* (I have known > about it since the very beginning :-)). It displays an installed > package as obsolete in one case – when there is no such package (with > the same name and the same version) in the Guix code base it uses. This > leads to a problem you probably have: when an installed package is "from > the future", it is displayed as obsolete.
Maybe you could say "mismatch" instead? > For example, the current Guix code provides a definition for a package > "foo-0.2". So if you have "foo-0.3" installed, it will be displayed by > the Emacs UI as obsolete! Since Emacs can't get any info for the > unknown package (Guix has "foo-0.2" package but not "foo-0.3"), it just > displays "Package is obsolete". > > As you can see, "obsolete" is not a suitable term here, it would be > better to display "Package not found" or something like this. > > Returning to you problem (which I don't understand at all), I guess it > is similar to this: your "~/.config/guix/latest" is a symlink to the > recent Guix code base (either your git checkout or a store directory > made by "guix pull"). And your user/system profiles probably contain > modern packages that came from this recent Guix. > > Now, if you remove (or rename) "~/.config/guix/latest" temporarily and > try to use emacs interface, it will use package definitions from the > older Guix (from the store). And it will display some new packages as > obsolete, but they are not obsolete, they are actually too new, and the > old Guix doesn't have package definitions for them. > > > Sorry for verbosity, you can switch to *Guix REPL* buffer and enter > ‘%load-path’ there. I think the value of this variable will not contain > "/home/<user>/.config/guix/latest" when you have "obsolete" packages, > and will contain it when everything is OK. Not verbose. Rather this was very helpful ;-) I removed "/home/<user>/.config/guix/latest" and saw what you describe. And I thought I understood. Then I tried ... g1@g1 ~/src/guix$ sudo make -j5 install ... thinking this would fix the VM image. but still when I make a new vm-image I see ... > In the running "guest" VM, 'M-x guix-installed-system-packages' > displayed 'git', 'git-manpages', 'guix', 'iw', 'magit', 'pciutils', > 'screen' and 'wget' in red in the "*Guix Package List:..." buffer. ... so I am still confused ;=(. So I wonder... Which guix version is used to build the vm-image? Which guix version is in the vm-image Why are these different? BTW, I switched back to running GuixSD since the previous email. Results are unchanged. TIA - George
