IRC channel logs

2014-11-29.log

back to list of logs

<jmd>ok. So at this stage I'm open to suggestions. How does one cross build guix?
<tadni`>davexunit: Wb.
<tadni`>davexunit: I'm assuming said hobby project you mentioned earlier, was Sly?
<davexunit>tadni`: yes indeed
<sneek>davexunit, you have 1 message.
<sneek>davexunit, rekado says: thanks for mentioning SRFI-64; will take a look.
<davexunit>ugh, tried to package pidgin, ran into issues.
<davexunit>libpurple is bundled with pidgin, and I'd rather it be separate.
<davexunit>person on #pidgin tells me to build everything, and then make subpackages that pick out the right files for each
<davexunit>what an ugly hack.
<davexunit>why bundle everything together if your damn configure script can't be told which parts to build?
<tadni`>davexunit: In any case, as long as it builds up the general software stack of Guile, it's a great asset. :^)
<Sleep_Walker>I'm afraid that this is common
<tadni`>Too, Sly is a VERY cool project. Probably my favorite Guile project, not tied directly to GNU Distro.
<davexunit>tadni`: thanks. I'm just struggling a lot with rendering logic at the moment. been stuck in this rut for months. I need to come up with *something* that works well enough to release.
<davexunit>further elaboration is a topic for #sly
<davexunit>;)
<tadni`>davexunit: Fair enough. :^)
<tadni`>In any case, I'm excited for the eventual 1.0 release.
<davexunit>0.1 first. :D
<davexunit>some day...
<tadni`>davexunit: First stablish/solidish release, in whatever case.
<tadni`>Hopefully in a year or-so, I might be in a state where I'm able to start helping a bit.
<jxself>Marking something as 1.0 makes it stable and solid?
<tadni`>Say thing, with Guix, to a more substantial degree.
<tadni`>jxself: Not always, but there typically is some convention in-place there.
<davexunit>it has a connotation that it is feature complete to some degree.
<jxself>Quick someone - Push a new tag into the git repo for 1.0 so Guix can automatically become stable and solid. :)
<tadni`>davexunit: Connotation, is the word I was looking for.
*davexunit goes afk for a bit
<tadni`>davexunit: Peace.
<davexunit>selld
<davexunit>sells*
<davexunit>\\m/
<jxself>selld is part of systemd? :)
<tadni`>Not sure what sells means...
<davexunit>'peace sells' by megadeth
<tadni`>davexunit: Ah, okay their music man.
<tadni`>there
<tadni`>I hate English.
<tadni`>jxself: guixd? geeked?
<jxself>guixd
<jxself>gnud
<jxself>etc.
<tadni`>Too bad Linux wasn't named Freax or whatever it was going to be. We could had "freax and guixs".
<tadni`>If the Hurd ever gets rewritten in any major way, it should be named "Nurd". :^)
<jxself>nhurd but the h would be silent?
<tadni`>jxself: Oh, that's pretty good actually.
<tadni`>Doesn't read as nicely has nurd, but would the recursive acronym work still?
<jxself>That's why I thought keeping the h would be good.
<tadni`>jxself: Yeah, I figured that was your reasoning -- but does it actually.
<tadni`>I don't think so?
<tadni`>Because it's recursive on the H, which would have to be the first letter?
<nkar>after running 'guix init' and rebooting, I'm getting "waiting for partition 'foo' to appear". any idea why guix fails to recognize the name of the partition?
<toxemicsquire4>Hello?
<jxself>Opposite of hello. :)
<toxemicsquire4>Oh Hey.
<toxemicsquire4> Does anyone know how the HURD port is going
***jxself_ is now known as jxself
<Sleep_Walker>hello again
<Sleep_Walker># guix system init /guix/etc/config.scm /guix/
<Sleep_Walker>guix system: error: failed to load operating system file '/guix/etc/config.scm': (keyword-argument-error #<procedure lsh-service (#:key lsh host-key interfaces port-number allow-empty-passwords? root-login? syslog-output? x11-forwarding? tcp/ip-forwarding? password-authentication? public-key-authentication? initialize?)> "Unrecognized keyword" () #f)
<Sleep_Walker>it seems that this page need the example updated
<Sleep_Walker> http://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#Using-the-Configuration-System
<Sleep_Walker>s/allow-root-login?/root-login?/;s/port/port-number/
<civodul>Hello Guix!
<Sleep_Walker>hi
<civodul>so how's this attempt to use LVM & co.?
<davexunit>hey civodul
<nkar>civodul: I encrypted /home instead of / and tried to boot, but guix fails to find the root partition. In parted, I assigned the "rootfs" name to the mentioned partition and added the 'label line to the guix config. what's wrong? that happens after I 'set root = (hd0,gpt3)' in grub. otherwise, grub complains that it cannot find the store and refuses to boot entirely.
<Sleep_Walker>civodul: I prepared initrd with lvm2 and attempted to prepare it from scheme script, but didn't success
<Sleep_Walker>so I shrinked LVM2 partition and prepared separate one for now
<Sleep_Walker>and I'm about to try first boot again :)
<civodul>yay :-)
*civodul tries to reproduce the encrypted root bug in a VM
<Sleep_Walker>default kernel, separate boot (still I had to copy manually), it seems to work :)
<Sleep_Walker>ok, no, I have some kernel panic
<civodul>bah
<civodul>root file system not found, i presume?
<Sleep_Walker>I'll try to have a look on backtrace, but I need to adjust my qemu
<Sleep_Walker>it looks like it happened during syscall
<civodul>normally, if the initrd script goes wrong, you get a Guile debugger prompt
*jmd goes slowly insane.
<civodul>we need to stop that!
<civodul>jmd: trying to use the bootstrap Guile on ARM to build Guix?
<civodul>that's too tricky
<civodul>you did half of the job
<jmd>That was one thing I tried.
<civodul>for the second half, you need a working ARM machine with Guile + Guix installed
<civodul>a "real" dynamically-linked Guile, not the bootstrap one
<jmd>I was hoping I could use Guix to achieve that.
<civodul>yeah, but there's a chicken-and-egg problem
<civodul>it's better to to "apt-get install guile" on that machine, or whatever
<civodul>and then, build Guix with that
<nkar>civodul: what do you mean by that exactly?
<jmd>My "whatever" was "guix package -i guile"
<nkar>I used ext3 everywhere.
<civodul>by what?
<civodul>jmd: yes but Guix is not yet available on ARM, which is precisely what you're trying to address :-)
<civodul>you could in theory cross-compile a dynamic-linked Guile, and then transfer its closure to the ARM machine
<jmd>I also tried that.
<civodul>but i'd personally rather build it natively on the ARM machine
<civodul>it's simpler
<jmd>... that too ...
<civodul>so what was the problem?
<jmd>There were several. I think the first was that it was missing a threading library.
<jmd>I solved that one somehow.
<jmd>Then guild simply crashed when passed -L .
<jmd>The real issue is that Guile has so many dependencies and so many build time options.
<jmd>I'm still rather puzzled why, to use the bootstrap compiler, I have to put a symlink from /gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-cross-armel-linux-gnueabihf-2.20 to the compiler prefix. Is this intentional?
<civodul>again, the bootstrap compiler is not meant to be used this way
<civodul>it only makes sense as part of the Guix bootstrap process
<civodul>you need to use the distro's compiler
<jmd>The distro doesn't have one.
<jmd>Most ARM deployments don't have native compilers. Everything is cross compiled.
<civodul>then honestly, i think you'll have to install a distro with a compiler or something
<civodul>"most"? i'm not sure
<civodul>machines like the RPi or the GuruPlug have no problem building things natively
<civodul>well, granted, not LibreOffice ;-)
<jmd>I have no idea where I would get a native compiler.
<jmd>... and glib
<jmd>s/glib/glibc/
<civodul>Raspbian/Debian, for instance, have all that
<jmd>But for the record, the bootstrap compiler seemed to work without problem. Guile is the major stumbling block.
<civodul>ah, ok
<civodul>then perhaps you could try to use the bootstrap compiler to build Guile natively?
<civodul>that means: libgc, libunistring, and Guile
<jmd>I did that too.
<civodul>there's no guarantee that the compiler will manage, but...
<civodul>and so?
<jmd>The compiler seemed to manage.
<jmd>The resulting guile runs ok for simple stuff, but again guild -L . guix/pki.scm segfaults.
<civodul>guile -c '(dynamic-link "libgcrypt")' segfaults i suppose?
<jmd>I didn't try that.
<jmd>Yes. It does.
<civodul>could you compare "ldd /.../libgcrypt.so | grep libc" and "ldd $(which guile) | grep libc"?
<civodul>they must use the same libc
<jmd>I don't have ldd
<jmd>I have readelf
<civodul>well, ok, try with readelf or something
<civodul>needless to say, that's more tricky :-)
<civodul>did you build libgcrypt by yourself?
<jmd>Yes.
<nkar>civodul: i was referring to <civodul> root file system not found, i presume?
<jmd>nitrogen6x:~/guile-2.0.11.94-d1447$ readelf -a /usr/local/lib/libgcrypt.so.20 | grep RUNPATH
<jmd> 0x0000001d (RUNPATH) Library runpath: [/usr/local/lib]
<jmd>nitrogen6x:~/guile-2.0.11.94-d1447$ readelf -a libguile/.libs/guile | grep RUNPATH
<jmd> 0x0000001d (RUNPATH) Library runpath: [/usr/local/lib]
<jmd>
<jmd>They seem to be the same.
<civodul>nkar: i mean that early kernel panic is likely because the root file system was not found
<civodul>jmd: make sure to run "make install" in Guile, and to use the installed Guile
<civodul>then there may also be /etc/ld.so.conf, etc.
<civodul>you could try running "ldconfig"
<jmd>Yeah tried that.
<civodul>and there's no gdb either?
<jmd>Actually there is.
<civodul>oh, so can you get a backtrace when it segfaults?
<jmd>tricky..
<civodul>gdb --args guile -c ...
<jmd>I will try building Guile again.
<jmd>Ah yes. I get checking whether libunistring was built with iconv support... no
<jmd>configure: error: No iconv support. Please recompile libunistring with iconv enabled.
<jmd>Even though, I most certainly DID build libunistring with iconv enabled.
<jmd>I can't remember how I solved this yesterday.
<civodul>ok
<civodul>i'm going out for a while
<jmd>Have fun.
<civodul>keep me updated
<civodul>ttyl
<Sleep_Walker>I collected log from serial console but there is nothing interesting, just that init ended
<Sleep_Walker>can I tell the guile init script that it should redirect output to /dev/kmsg?
<Sleep_Walker>OK, it seems that init can't be found
<Sleep_Walker>shouldn't initrd/init contain some exec to dmd?
<Sleep_Walker>1] guix root filesystem lacks /sbin/init, which is default value for init= kernel parameter
<Sleep_Walker>2] I can't see how initrd guile script execs dmd
<iyzsong>Sleep_Walker: I suppose you are looking for /run/booted-system/boot
<alezost>Sleep_Walker: a kernel should be run like this: linux /gnu/store/…-system/kernel/bzImage --root=<device> --system=/gnu/store/…-system --load=/gnu/store/…-system/boot
<Sleep_Walker>alezost: it indeed is, plus my console redirection
<Sleep_Walker>iyzsong: it seems that my /run directory is empty
<Sleep_Walker>that may be the problem
<Sleep_Walker>aha, boot-system may be the function which will take care of rest
<Sleep_Walker>yup, loading *-system/boot seems to exec to dmd :)
<nkar>do I need to re-initialize if I want to change /etc/config.scm on a standalone system?
<nkar>or is there a better way?
<DusXMT>nkar: # guix system recofigure /path/to/config.scm
<nkar>DusXMT: and then just reboot, right?
<DusXMT>Yup
<nkar>okay, gonna try that
<nkar>DusXMT: I got "/boot/grub is not readable by GRUB on boot. Installation is impossible." what can I do about it?
<nkar>then, "failed to install GRUB on device '/dev/sda'"
<DusXMT>nkar: Are you running that from the GNU system (the one you're trying to reconfigure), or from a different one?
<nkar>I'm using a usb image. the system was init'd, so I just mounted all the partitions again to /mnt/something and ran the command as you suggested
<nkar>I have a separate partition for /boot maybe that's the issue...
<nkar>one for /home, rootfs, and a grub partition (2mb).
<nkar>I also switched from labels (didn't work) to /dev/partition
<nkar>in the config
<DusXMT>nkar: The command I suggested was to be ran from the running system, not the USB image
<nkar>ah
<nkar>so, re-init'ing is the only choice, right?
<nkar>I wonder why 'labels fail to work...
<DusXMT>nkar: Is the system not bootable?
<DusXMT>Oh, sorry, I read what you said earlier now
<DusXMT>Yes, I think it is, unless you can chroot into the system somehow (you'll need to create the links in /run manually)
<nkar>ugh
<nkar>okay, I'll just re-init, I guess
<nkar>also, I'm always getting this error after 'init': in procedure system=async-mark: thread has already existed (with substitutes)
<nkar>DusXMT: so, after switching from labels to devices and reinit'ing, I was able to boot. though, I needed to add set root=(hd0,gpt3) in the grub config (the 'e' key) and boot with 'f10'. is it expected?
<DusXMT>nkar: sorry, you'll have to ask someone else, I haven't actually touched a running guix system in a while... but I don't think it is, it should look for a key file and determine which partition to boot from automatically...
<DusXMT>s/guix/gnu/
<nkar>okay, thanks for your help!
<civodul>jmd: so, how goes? :-)
<nkar>civodul: sent you a pm
<civodul>nkar: since you tried with a separate /boot, would be nice to email bug-guix for that
<nkar>which issue should I report? the 'label one?
<civodul>i suspect GRUB assumes that the root is where grub.cfg is, but that doesn't hold when /boot is separate from /
<civodul>the "set root" thing in GRUB
<nkar>okay, I'll open a ticket
<civodul>"separate /boot" in general
<civodul>yeah
<civodul>as for the label, i don't know
<civodul>are you using ext[234]?
<nkar>ext3 everywhere, which gets mounted using ext4
<civodul>okay
<civodul>you should try the (gnu build file-systems) code in the booted system
<civodul>specifically, find-partition-by-label
<civodul>just do: sudo ./pre-inst-env guile -c '(use-modules (gnu build file-systems)) (pk (find-partition-by-label "rootfs"))'
<nkar>./pre-inst-env? so, do I need to clone guix for that?
<civodul>no, but make sure its modules are in the search path
<civodul>"guile -L /run/current-system/profile/share/guile/site/2.0 -C -L /run/current-system/profile/share/guile/site/2.0" should work as well
<nkar>ticket opened
<civodul>thanks
*civodul goes off
<civodul>ttyl!
<nkar>sneek: later tell civodul you mean "guile -L /run/current-system/profile/share/guile/site/2.0 -C /run/current-system/profile/share/guile/site/2.0/gnu/build/file-systems.scm"? (pk (find-partition-by-label "rootfs")) returns #f.
<sneek>Will do.
<nkar>sneek: botsnack
<sneek>:)
<nkar>where's the shutdown command?
<DusXMT>nkar: there's halt
<DusXMT>I think shutdown is sysvinit specific
<nkar>oh, thanks
<DusXMT>(also, there's reboot)
<ijp>☑ solve halting problem
<nkar>haha