IRC channel logs

2013-12-08.log

back to list of logs

<jmd>Zlib is almost impossible to cross compile because they refuse to use autoconf. Instead they have "rolled their own".
<jmd>I wonder if it is worth making a patch which adds a suitable configure.ac ?
<jmd>I have the situation where makeinfo crashes during guix build ... -K
<jmd>however, if I run make from the resulting /tmp/nix-build-... directory (with the generated environment) it works fine.
<jmd>Ideas?
<civodul>Hello Guix!
<jmd>Hi Ludo.
<civodul>jmd: can you post the build log?
<jmd>It's not very interesting.
*civodul has never seen makeinfo crash
<civodul>well, just to understand the context etc.
<jmd>../../run-octave -f -q -H ./mk_doc_cache.m doc-cache ../../scripts/DOCSTRINGS ../../src/DOCSTRINGS || { rm -f doc-cache; exit 1; }
<jmd>warning: no graphical display found
<jmd>Formatted text is
<jmd>error: makeinfo failed with exit status 127!
<jmd>error: called from:
<jmd>error: /tmp/nix-build-octave-3.6.4.drv-0/octave-3.6.4/doc/interpreter/mk_doc_cache.m at line 70, column 3
<jmd>Makefile:2832: recipe for target 'doc-cache' failed
<jmd>
<civodul>ok, so it's not a "crash" in the sense of segfault or anything
<civodul>how is makeinfo invoked exactly?
<jmd>Well I think it is.
<jmd> error: makeinfo failed with exit status 127!
<jmd>This implies a crash.
<civodul>and?
<civodul>no
<jmd>Well anyway it fails.
<civodul>can you point me to mk_doc_cache.m?
<jmd>I can show you the relevant line.
<jmd>cmd = [makeinfo_program() " --verbose --no-headers --no-warn --force --no-validate --fill-column=1024 " name];
<jmd>
<jmd>[status, formatted_text] = system (cmd);
<jmd>
<jmd>printf ("Formatted text is %s\\n", formatted_text);
<jmd>
<jmd>## Did we get the help text?
<jmd>if (status != 0)
<jmd> error ("makeinfo failed with exit status %d!", status);
<jmd>
<civodul>what does makeinfo_program() return?
<jmd>(That printf line I put there for debug)
<civodul>i bet it's /usr/bin/makeinfo or some such
<jmd>Oh. You could be right.
<jmd>But then why does it work when I run it manually?
<civodul>jmd: because you're outside a chroot, and there is /usr/bin/makeinfo
<jmd>No. I was inside.
<civodul>if that was after a build failure, you were outside of the chroot
<jmd>I did cd /tmp/nix-buildXXXX ; source environment-variables
<civodul>(inside the build tree, but outside the chroot)
<civodul>IOW, /usr/bin was accessible to you, whereas it's not in the chroot
<jmd>Oh wait. You are right.
<jmd>(of course)
<jmd>Although looking at the source, it seems to be defined as just "makeinfo" .
<jmd>I'll add a few more diagnostics.
<civodul>check whether $texinfo/bin is in the $PATH in 'environment-variables'
<jmd>makeinfo_program returns simply "makeinfo"
<civodul>ok
<civodul>can you check whether $texinfo/bin is in the $PATH in 'environment-variables'?
<jmd>/tmp/nix-build-octave-3.6.4.drv-0/octave-3.6.4$ /usr/bin/which makeinfo
<jmd>/nix/store/p168gj2y13b0c02wrxi22di8vz5zxjzw-texinfo-4.13a/bin/makeinfo
<jmd>
<civodul>ok, and then does it use execlp(3)? something else?
<civodul>perhaps you can try to "strace -f" the thing, and look what gets run
<civodul>that's how i usually debug this kind of problem :-)
<jmd>It seems to be using execve
<civodul>well, that's what strace shows
<civodul>what file name does it get?
<jmd>execve("/nix/store/p168gj2y13b0c02wrxi22di8vz5zxjzw-texinfo-4.13a/bin/makeinfo", ["makeinfo", "--verbose", "--no-headers", "--no-warn",
<jmd>"--force", "--no-validate", "--fill-column=1024", "octave_doc_D20Nsd"], [/* 42 vars */]) = 0
<jmd>brk(0) = 0x832d000
<jmd>
<civodul>ok
<civodul>and how does it terminate?
<civodul>(look for 'exit_group')
<jmd>exit_group(0)
<civodul>hmm
<civodul>could you post the complete output of "strace -f"?
<jmd>From the successful run?
<jmd>pastebin.ca seems to be broken.
<civodul>yes, from the successful run
<civodul>with 'environment-variables' sourced
<civodul>you can use paste.lisp.org
<jmd>Ugg. There's no option to upload. I have to paste.
<jmd>paste.lisp.org is also broken!
<jmd>Or doesn't like big pastes...
<jmd>civodul: If you want to send me your public ssh key, I can give you a login on the machine where it is.
<civodul>jmd: can you send the log at https://80.67.176.83:58957/hylwpc/upload ?
<civodul>(thanks to filegive)
<jmd>I sent it.
<jmd>No idea where it goes.
<civodul>jmd: to my machine
<civodul>it's strace, not strace -f
<civodul>and there's interleaved input
<civodul>could you try "strace -f -o log the command"?
<jmd>That was strace -f
<civodul>hmm, why is there no pid in the first column?
<jmd>Should there be?
<civodul>with -f, yes
<civodul>at least with -f -o
<civodul>anyway, here 'makeinfo' just seems to exit successfully
<civodul>could it be that it's some other process that fails?
<jmd>Yes. This is the successfull run.
<civodul>right, ok
<civodul>what did you run exactly?
<jmd>Oh yes. -o prints the pid before each line.
<civodul>i was thinking of "strace -f -o log make thing-that-fails"
<jmd>Well thats the annoying thing. It works when I run it manually. Only guix build fails
<jmd>So far as I can see, the -o version is no more enlightening. Do you want it?
*jmd Starts on his second drink for the evening, and is therefore absolved from all responsibility of his actions, henceforth.
<a_e>mark_weaver: Hi Mark, did you try to compile qt-4.8.5 on mips? It fails for me.
<mark_weaver>yes, I've never successfully built qt on mips.
<a_e>Okay. Then I should maybe send a bug report.
<a_e>You mean, you also tried it outside of guix?
<mark_weaver>I haven't tried outside of guix
<mark_weaver>the qt-5.1.1 build failed because the assembler didn't like the syntax of an asm instruction it was given.
<mark_weaver>I haven't yet looked into it any further.
<a_e>The 4.8.5 one looks less dramatic, it fails with
<a_e>error: invalid conversion from 'const void*' to 'void*
<a_e>Which does not look specific to mips, strangely.
<a_e>civodul: I suppose updating bison and binutils should be done in core-updates?
<Steap>What's the difference between #:import and #:imported-modules ?
<a_e>Is there a command that shows which packages depend, directly or indirectly, on a given package?
***schjetne_ is now known as schjetne
<civodul>hey!
<civodul>a_e: so, binutils in core-updates, and bison in master
<a_e>Okay!
<civodul>Steap: #:modules says which modules should be visible, and #:imported-modules says which ones should be imported in the build env
<civodul>for instance, (ice-9 ftw) is part of Guile itself
<civodul>so if you want to use it, you add it to #:modules
<civodul>but you don't need to add it to #:imported-modules, because it's already in the chroot env.
<civodul>jmd: it's OK to get the "strace -f -o log" output for the succeeding command, because it allows us to check if it uses commands from /usr, for instance
<jmd>I have grepped for it. So far as I can see, it does not.
<jmd>The only reference to / I see is: 6980 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
<jmd>
<jmd>Could there be a /etc/ld.so.preload in the chroot ?
<Steap>civodul: I see
<jxself>libvpx 1.3.0 is out. Woot.
<civodul>jmd: no
<civodul>jxself: what is it?
<jxself>The software to encode WebM video.
<jxself> http://git.chromium.org/gitweb/?p=webm/libvpx.git;a=tag;h=e152a91efc003bc33949fe4f222a656b9393514d
<civodul>ooh
<jxself>Indeed - VP9 is awesome. Google talked about it during Google I/O if you haven't seen it - https://www.youtube.com/watch?v=K6JshvblIcM&html5=1
<civodul>oh, and *this* video is HTML5
<civodul>good
<jxself>Yep, Flash really isn't needed for YouTube anymore. I once read somewhere that Google has said that 80% of the stuff was available as WebM.
<jmd>But you still need flash to view it.
<jmd>and javascript.
<jxself>Not really. I can see that video just fine without Flash. The whole point is that browsers like GNU IceCat have built-in support for the <audio> and <video> tags.
<jxself> https://en.wikipedia.org/wiki/HTML_5_video#Browser_support
<a_e>It works on the icecat in guix!
<jxself>Practically everyone supports WebM out of the box, except for Internet Explorer & Safari (not surprisingly) but even those can do it with a plugin.
<jmd>Maybe it has changed recently. I remember reading somewhere on fsf.org that nothing on youtube could be viewed with free software.
<jxself> https://www.fsf.org/blogs/community/how-to-upload-a-video-to-youtube-and-ensure-it-is-viewable-in-webm
<jxself>Is that what you're thinking of?
<jxself>It's instructions.
<jxself> https://www.fsf.org/blogs/community/google-free-on2-vp8-for-youtube
<jxself>And they also had their open letter to Google.
<Steap>There are lots of youtube videos that still require Flash
<jmd>But you still need non-free javascript ?
<jxself>steap: Not in my experience, unless you're talking of the rentals? Those may because of DRM?
<jxself>jmd: It does seem so. It's good to have things like VLC & Totem where you can paste the URL into the Open dialog box.
<Steap>jxself: I'm talking about normal youtube videos
<Steap>I run Firefox 24
<jxself>That's sad. Offhand I can't recall any video that wasn't available as WebM.
<jxself>If you could point to one?
<Steap>Well, after randomly clicking a few times: https://www.youtube.com/watch?v=Km9-DiFaxpU
<jxself>WebM - http://dpaste.com/1497402/
<jxself>Not in HD though, but still there.
<jxself>#43
<jxself>I've yet to find one that isn't. :)
<Steap>oh yeah, I can youtube-dl it
<Steap>but it won't read inside my browser
<jxself>And it's in a free format too - called Webm :)
<jxself>Take a look at that output showing available formats :)
<Steap>Instead of automatically switching to WebM, youtube just asks me to install Flash Player
<Steap>which is quite stupid
<jxself>Not sure about that - I think there's a browser add-on available that lets you select other formats to play.
<Steap>jxself: it does not solve the problem for real end users
<Steap>It's still easier for them to just install Flash
<jxself>steap: I'm watching that video though right now, without Flash, and in my browser. Trisquel can automatically play them.
<jxself>Reason # 724 to use free software ;)
<jxself> http://jxself.org/screenshot.png
<Steap>jxself: that's fun, I wonder why Firefox does not do that
<a_e>Steap: Try icecat from guix!
<Steap>a_e: isn't ti just Firefox rebranded and without JS ? :p
<a_e>And several add-ons; actually I disabled the check for non-free javascript, as it was too restrictive.
<a_e>But I like RequestPolicy a lot. It prevents downloads from third party sites unless explicitly told so.
<Steap>oh ok, so it's one of the addons that does that
<Steap>a_e: does it include a well-configured adblock too ?
<jxself>steap: I don't know but I have yet to find one I cannot play. ;)
<jxself>Move to freedom!
<a_e>No, but you can add it. And RequestPolicy already blocks a lot (google analytics and so on).
<Steap>jxself: you do realize I use a free browser, right ? :p
<Steap>a_e: I'm willing to block all the "share" buttons
<Steap>Adblock seemed quite complex to properly configure :/
<a_e>It works quite well out of the box for me.
<Steap>mkay
<Steap>Do you know Colusion ?
<a_e>No.
<a_e>What does it do?
<Steap>It's a Firefox extension that shows what websites you visit when visiting a given website
<Steap>so for instance, let's say you go to foobar.com
<a_e>What do you mean? All the websites from which you download something?
<Steap>if it has "share" buttons, the extension will show you that reaching foobar.com forced you to reach facebook and twitter
<Steap>if there are ads, it will show you that google ads knows you went to foobar.com
<Steap>etc.
<Steap>in a pretty graph
<a_e>Okay. RequestPolicy is better: It blocks all these third-party resources.
<Steap>good
<a_e>And for each site, you can configure with a few clicks that you allow some of them.
<Steap>Isn't that an issue sometimes ?
<Steap>oh ok
<a_e>For instance, www.lemonde.fr does not show much.
<a_e>But in the right corner of the icecat window, there is a red flag.
<a_e>When you click on it, it shows that the site wants to download from lemde.fr and viamichelin.com.
<a_e>lemde.fr looks reasonable. So you temporarily enable it for the session.
<a_e>It reloads the page; now you have pictures and pretty css.
<Steap>it's quite nice
<Steap>I'll probably give it a try
<a_e>So next time, you can enable lemde.fr permanently (with an option to go back any time you want).
<a_e>Just try our icecat!
<Steap>But I think for most users, it'd be best to just blacklist ads OR social crap OR ...
<a_e>Blacklisting everything is clearer. How do you decide what to show on lemonde.fr?
<a_e>Let the user decide!
<Steap>a_e: most users won't have such patience :)
<Steap>The thing is, they hate ads
<a_e>It is so easy and convenient that you do not need patience.
<Steap>so, telling them "hey, we can disable ads" is an easy way to give them more freedom
<a_e>And to just get rid of ads, use Adblock plus.
<Steap>a_e: tell that to your mom and dad, see their reaction :)
<Steap>It'sa ctually called the "dad test" or something like that
<a_e>I installed Adblock plus for my family, indeed.
<Steap>oh
<Steap>which is "easier" than RequestPolicy
<Steap>I'll have to try both in a clean profile
<Steap>and see which one is more convenient/efficient
<a_e>Yes, agreed, Adblockplus is easier. But RequestPolicy is also easy and filters out more. And then both can coincide.
<a_e>Ttyl!
<Steap>k
<viric>Steap: what is "a mon viens si viens"?
<viric>or "a mon viens fi viens"
<viric>hm nothing relevant
<Steap>viric: where do you find these ? :p