Re: Test fail
2018-03-28 15:51 GMT+02:00 Gábor Boskovits : > 2018-03-28 8:36 GMT+02:00 Maria Sidorova : > >> >> >> On 28.03.2018 09:33, Gábor Boskovits wrote: >> >>> 2018-03-27 23:34 GMT+02:00 Maria Sidorova >> hydroma...@gmail.com>>: >>> >>> >>> Hello, >>> >>> Running the test suite (`make check`) gives me one of the tests >>> failed. >>> >>> This is from test-suite.log >>> >>> test-name: pivot-root >>> location: /home/masha/src/guix/tests/syscalls.scm:156 >>> source: >>> + (test-equal >>> + "pivot-root" >>> + #t >>> + (match (pipe) >>> + ((in . out) >>> + (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD)) >>> + (0 >>> + (dynamic-wind >>> + (const #t) >>> + (lambda () >>> + (close in) >>> + (call-with-temporary-directory >>> + (lambda (root) >>> + (let ((put-old (string-append root >>> "/real-root"))) >>> + (mount "none" root "tmpfs") >>> + (mkdir put-old) >>> + (call-with-output-file >>> + (string-append root "/test") >>> + (lambda (port) (display "testing\n" >>> port))) >>> + (pivot-root root put-old) >>> + (write (file-exists? "/test") out) >>> + (close out) >>> + (lambda () (primitive-exit 0 >>> + (pid (close out) >>> + (let ((result (read in))) >>> + (close in) >>> + (and (zero? (match (waitpid pid) >>> +((_ . status) >>> + (status:exit-val >>> status >>> + (eq? #t result >>> expected-value: #t >>> actual-value: #f >>> result: FAIL >>> >>> >>> The summary is: >>> # TOTAL: 777 >>> # PASS: 772 >>> # SKIP: 4 >>> # XFAIL: 0 >>> # FAIL: 1 >>> # XPASS: 0 >>> # ERROR: 0 >>> >>> I'm novice in Guix, can anyone give me a clue? >>> >>> > Actually there are two possibilities. I'm trying to narrow this down now. > There is a bug: https://bugzilla.kernel.org/show_bug.cgi?id=183461 > in our bug tracker that might be affecting you, or the shared mounts > I noticed much later. I'm going to investigate this and report back. > I've created a vm image with a current Ubuntu 16.04 yesterday, installed the guix binary tarball, and did a make check in a guix environment guix. This error was not shown in my case. My uname -r is: 4.10.0-28-generic This test should be skipped, if kernel version > 4.7.5. Can you please send the output of uname -r ? > >> >>> Can you please write the type of system you are building guix on? >>> We recently discovered that on systemd based systems pivot-root >>> might fail because of shared mountpoints. >>> >> >> Ubuntu 16.04 (64) >> > >
Re: Installation: Load non-free wifi firmware (iwlwifi)
Marius Bakke writes: > Chris Marusich writes: > >> Hi Pierre, >> >> Pierre Neidhardt writes: >> >>> linux-libre turns off the ability to load non-free firmware. Why is >>> it so? >> >> I did a little bit of searching on the Internet, and it seems to me like >> the reason why Linux-libre turns off the ability to load non-free >> firmware is because the project does not want to induce you to use >> non-free software. > > This is not true. After all, you may wish to load a firmware that you > have developed yourself, but that is not possible either. The problem > is a limitation of the kernel interface and/or the deblobbing script: > > From an interview with Alexandre Oliva[0]: > > "Indeed, I became aware that some users have got the idea that blocking > the loading of blobs is a feature. It's not; it's just a bug that's > quite difficult to fix. The decision on whether or not to use a piece of > software, be it Free or not, should belong to the users, and it's not > our intent to make that difficult." > > [0] > https://www.fsfla.org/ikiwiki/blogs/lxo/2013-11-08-linux-libre-interview-by-bruce-byfield.en.html Thank you for correcting my understanding! I read the interview you linked, as well as the original email thread referenced by the LWN article [1]. My understanding is now that Linux-libre wants both (1) to avoid inducing users to install non-free firmware (e.g. even logging the non-free firmware name is something they would consider to be "inducing" the user to install the non-free firmware), and (2) to allow users to install whatever firmware they want, regardless of whether it is free or non-free firmware. However, due to the way the kernel Linux loads firmware combined with the way that Linux-libre mangles the non-free firmware identifiers to accomplish (1), users of Linux-libre currently need to go through the extra effort of modifying the Linux-libre source code (which they are free to do) if they want to load non-free firmware (or firmware they have built themselves but have chosen not to share). It is good to know that the Linux-libre project intends to allow users to do whatever they want with the kernel. I appreciate you taking the time to clarify this for me! Footnotes: [1] https://lists.nongnu.org/archive/html/gnu-linux-libre/2010-12/msg00022.html -- Chris signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
Marius Bakke writes: > Pierre Neidhardt writes: > >>> guix package -I local >> glibc-utf8-locales 2.26.105-g0890d5379cout >> /gnu/store/3k6hl20c3b7big8ngrsl6mj9k8xav99d-glibc-utf8-locales-2.26.105-g0890d5379c >> >>> guix package -I emacs >> emacs25.3out >> /gnu/store/y335nx4r08m6kg0yrna7spfwr4s05n36-emacs-25.3 >> >> How do I check which glibc Emacs is using? >> I can think of `ldd emacs` but... Where is ldd? :p > > "ldd" is in "glibc" :-) > > You can also use `guix gc -R /gnu/store/...-emacs-25.3 | grep glibc`. Here: > guix gc -R ${guix build emacs} | grep glibc /gnu/store/4sqaib7c2dfjv62ivrg9b8wa7bh226la-glibc-2.26.105-g0890d5379c >> A more general question: How do I find to which non-installed package a >> filename belongs? > > Guix does not currently know anything about the files inside each > package, I typically do a web search... This is too bad, I believe it's an important feature for any package manager. As far as I can tell, `portage` and `pacman` can both do it. Any plan regarding guix? >> If Emacs happens to be using glibc 2.25, how could such a sitution occur >> in the first place? Why is glibc 2.25 needed at all? > > This situation can occur when you've installed emacs built against glibc > 2.25 (which was the glibc in Guix until ~February), and then later > updated "glibc-utf8-locales" to 2.26 which has incompatible locale data. > > Updating emacs would fix it in that case, since it would be built > against the new glibc. Running `guix package -u emacs` does nothing special, possibly because it's already up to date. Can I force a rebuild? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Locale error: Falling back to C locale
Pierre Neidhardt writes: >> guix package -I local > glibc-utf8-locales2.26.105-g0890d5379cout > /gnu/store/3k6hl20c3b7big8ngrsl6mj9k8xav99d-glibc-utf8-locales-2.26.105-g0890d5379c > >> guix package -I emacs > emacs 25.3out /gnu/store/y335nx4r08m6kg0yrna7spfwr4s05n36-emacs-25.3 > > How do I check which glibc Emacs is using? > I can think of `ldd emacs` but... Where is ldd? :p "ldd" is in "glibc" :-) You can also use `guix gc -R /gnu/store/...-emacs-25.3 | grep glibc`. > A more general question: How do I find to which non-installed package a > filename belongs? Guix does not currently know anything about the files inside each package, I typically do a web search... > If Emacs happens to be using glibc 2.25, how could such a sitution occur > in the first place? Why is glibc 2.25 needed at all? This situation can occur when you've installed emacs built against glibc 2.25 (which was the glibc in Guix until ~February), and then later updated "glibc-utf8-locales" to 2.26 which has incompatible locale data. Updating emacs would fix it in that case, since it would be built against the new glibc. On GuixSD, you can use the 'locale-libc' operating-system parameter to install locale data for multiple glibc versions to ease transition between glibc updates. signature.asc Description: PGP signature
Re: Trouble with adding a package
Hi Nadya, > I'm so sorry. I did probably the dumbest mistake. > I have package named "tcalc" and i was using "tcal" instead. Of course it > was unknown package. I’m glad you figured it out. This happened to me more often than I’d like to admit. Often this message is just a symptom of a different error, but sometimes it really does mean that you’ve mistyped the name of a package. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net
Re: Fail to configure home-directory
Ludovic Courtès writes: > Oops, that’s a bug that should be fixed now: > > > https://git.savannah.gnu.org/cgit/guix.git/commit/?id=82b71ac366ef154400653d264b46b7aa3520f393 It works, thanks! >> Furthermore, I cannot mount a filesystem as /home: >> >> ``` >> (file-system >> (device "home") >> (title 'label) >> (mount-point "/home") >> (type "ext4")) >> ``` >> >> Running `guix system reconfigure' hangs after the `usermod...' changes. >> Not sure about how to print more debug details. > > Does /var/log/messages or /var/log/shepherd.log have more info? /var/log/shepherd.log does not log anything from the `guix system reconfigure...`. Reconfiguring with --verbosity=10 fails with the following: | lock released on `/gnu/store/qz82gly176p51n82j60rx9aadqxyrm0k-grub.cfg.lock' | building of `/gnu/store/xhg2rknd3yvhhb5vsalwwz14kf6184v1-grub.cfg.drv': goal destroyed guix system: error: build failed: | | | bind mounting `/dev/full' to `/gnu/store/xhg2rknd3yvhhb5vsalwwz14kf6184v1-grub.cfg.drv.chroot/dev/full' I've managed to work around the issue: - Moving the mount point of "LABEL=home" from /mnt to /foo did not work. - After a failure, all subsequent `guix system reconfigure` fail, even the original, working configuration. - After a fresh system boot, commenting out the filesystem configuration of LABEL=home works. I rebooted after that. From then, I re-added the entry for LABEL=home with the new mount point /home. It worked after a reboot. Something is fishiy... -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Package request inxi
Oleg Pykhalov writes: > You could take a package recipe [1]. I don't think it's ready to push > to Guix package collection, because it requires more ‘(substitute* …)’. > > [1] > https://notabug.org/wigust/guix-wigust/src/master/wigust/packages/inxi.scm Nice, thanks! -- Pierre Neidhardt signature.asc Description: PGP signature
Package request inxi
Hello Pierre, Pierre Neidhardt writes: > inxi: script to get system information > Upstream URL: https://github.com/smxi/inxi You could take a package recipe [1]. I don't think it's ready to push to Guix package collection, because it requires more ‘(substitute* …)’. [1] https://notabug.org/wigust/guix-wigust/src/master/wigust/packages/inxi.scm Oleg. signature.asc Description: PGP signature
Package requests: fortune, gifsicle, inxi, uncrustify, unrar, vsftp, xss-lock
I'm missing the following packages in Guix. If no one has planned to package them yet, I'll give it a go. fortune:The Fortune Cookie Program from BSD games Upstream URL: http://www.shlomifish.org/open-source/projects/fortune-mod/ gifsicle: A powerful command-line program for creating, editing, manipulating and getting information about GIF images and animations Upstream URL: http://www.lcdf.org/gifsicle/ inxi: script to get system information Upstream URL: https://github.com/smxi/inxi uncrustify: A source code beautifier Upstream URL: http://uncrustify.sourceforge.net/ Description:The RAR uncompression program Upstream URL: http://www.rarlab.com/rar_add.htm (Not sure about the licensing of this one: does not look free. Is there any free way to extract RAR?) vsftp: Very Secure FTP daemon Upstream URL: https://security.appspot.com/vsftpd.html (It seems that there is not a single FTP server on Guix. Strange... Can anyone recommend anything better than vsftp for file sharing? Not necessarily FTP.) xss-lock: Use external locker as X screen saver Upstream URL: https://bitbucket.org/raymonad/xss-lock -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Test fail
2018-03-28 8:36 GMT+02:00 Maria Sidorova : > > > On 28.03.2018 09:33, Gábor Boskovits wrote: > >> 2018-03-27 23:34 GMT+02:00 Maria Sidorova > hydroma...@gmail.com>>: >> >> >> Hello, >> >> Running the test suite (`make check`) gives me one of the tests >> failed. >> >> This is from test-suite.log >> >> test-name: pivot-root >> location: /home/masha/src/guix/tests/syscalls.scm:156 >> source: >> + (test-equal >> + "pivot-root" >> + #t >> + (match (pipe) >> + ((in . out) >> + (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD)) >> + (0 >> + (dynamic-wind >> + (const #t) >> + (lambda () >> + (close in) >> + (call-with-temporary-directory >> + (lambda (root) >> + (let ((put-old (string-append root >> "/real-root"))) >> + (mount "none" root "tmpfs") >> + (mkdir put-old) >> + (call-with-output-file >> + (string-append root "/test") >> + (lambda (port) (display "testing\n" >> port))) >> + (pivot-root root put-old) >> + (write (file-exists? "/test") out) >> + (close out) >> + (lambda () (primitive-exit 0 >> + (pid (close out) >> + (let ((result (read in))) >> + (close in) >> + (and (zero? (match (waitpid pid) >> +((_ . status) >> + (status:exit-val >> status >> + (eq? #t result >> expected-value: #t >> actual-value: #f >> result: FAIL >> >> >> The summary is: >> # TOTAL: 777 >> # PASS: 772 >> # SKIP: 4 >> # XFAIL: 0 >> # FAIL: 1 >> # XPASS: 0 >> # ERROR: 0 >> >> I'm novice in Guix, can anyone give me a clue? >> >> Actually there are two possibilities. I'm trying to narrow this down now. There is a bug: https://bugzilla.kernel.org/show_bug.cgi?id=183461 in our bug tracker that might be affecting you, or the shared mounts I noticed much later. I'm going to investigate this and report back. > >> Can you please write the type of system you are building guix on? >> We recently discovered that on systemd based systems pivot-root >> might fail because of shared mountpoints. >> > > Ubuntu 16.04 (64) >
Re: Missing pinentry-emacs for gpg-agent?
Thinking more about it, wouldn't it make more sense to use several outputs instead of several packages? Is it possible to specify additional inputs for specific outputs? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: Missing pinentry-emacs for gpg-agent?
Oleg Pykhalov writes: > Then could you add a flag Vladimir talked about and send a patch? ;-) What about a separate package? E.g. (define-public pinentry-emacs (package (inherit pinentry-tty) (name "pinentry-emacs") (inputs `(("emacs" ,emacs) ,@(package-inputs pinentry-tty))) (arguments `(#:configure-flags '("--enable-pinentry-emacs"))) (description "Pinentry provides a console and an Emacs interface that allows users to enter a passphrase when required by @code{gpg} or other software."))) I haven't delved into packaging so far. I have read the manual but I'm unsure about the best practice for local hacking. I have set GUIX_PACKAGE_PATH=~/.guix-packages, then > cp ~/.config/guix/latest/gnu/packages/gnupg.scm ~/.guix-packages/ > chmod +w ~/.guix-packages/ Then add the above the the file, plus a #:use-module (gnu packages emacs) at the beginning. Now if I do > guix package -s pinentry-emacs guix package: warning: failed to load '(gnupg)': no code for module (gnupg) name: pinentry-emacs version: 1.1.0 outputs: out systems: x86_64-linux i686-linux armhf-linux aarch64-linux mips64el-linux dependencies: emacs-25.3 libassuan-2.5.1 libsecret-0.18.5 ncurses-6.0-20170930 + pkg-config-0.29.2 location: /home/ambrevar/.guix-packages/gnupg.scm:991:2 homepage: https://gnupg.org/aegypten2/ license: GPL 2+ synopsis: GnuPG's interface to passphrase input description: Pinentry provides a console and an Emacs interface that allows users to enter a + passphrase when required by `gpg' or other software. relevance: 4 Notive the error at th beginning: guix package: warning: failed to load '(gnupg)': no code for module (gnupg) I don't understand this. That said, is this the commended way to proceed? Or should I work from a local checkout of guix? What about the value of GUIX_PACKAGE_PATH then? -- Pierre Neidhardt signature.asc Description: PGP signature
Re: How to install prerelease package versions (particularly Emacs)
l...@gnu.org (Ludovic Courtès) writes: > Oleg Pykhalov skribis: […] >> In case of ‘emacs’ package recipe, ‘--with-source’ doesn't work for a >> snapshot of the ‘master’ branch. > > Why? Because you’d need to run ‘autoreconf’ and the like? To run everything in ‘(arguments …)’ except ‘#:parallel-build? #t’. From http://lists.gnu.org/archive/html/help-guix/2017-09/msg00074.html --8<---cut here---start->8--- (arguments (substitute-keyword-arguments `(#:parallel-build? #t #:tests? #f ,@(package-arguments emacs)) ((#:phases phases) `(modify-phases ,phases (add-after 'unpack 'autogen (lambda _ (zero? (system* "sh" "autogen.sh" (delete 'reset-gzip-timestamps) --8<---cut here---end--->8--- Oleg. signature.asc Description: PGP signature
Re: Missing pinentry-emacs for gpg-agent?
Pierre Neidhardt writes: > Well, at least Arch Linux, Gentoo and Void Linux ship it! > Not tht uncommon! Then could you add a flag Vladimir talked about and send a patch? ;-) See https://www.gnu.org/software/guix/manual/html_node/Contributing.html Thanks, Oleg. signature.asc Description: PGP signature