I think I know why d-bus is failing to start. The error when it tries to is as follows:

"Failed to start message bus: Error in file /etc/dbus-1/system-local.conf, line 1, column 0: no element found"

The first possibility came up when I searched /gnu/store for system-local.conf. There is only one instance of such a file, and it is empty. According to https://dbus.freedesktop.org/doc/dbus-daemon.1.html, the (xml) file *must* contain the following line at a minimum:

<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
    "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">

The error message makes a lot of sense with this in mind. Since I can't just edit the file to add the line, can you recommend a way to fix this?

On Wed, Jan 16, 2019 at 7:43 AM Bryan Ferris <saffsnail@gmail.com> wrote:
Hey Danny,

Sorry for the delay in response. I saw no behavior change until I added the (mount? #f) line. This fixed a number of services, but d-bus fails to start. I encounter further issues including X Server failing to start and the inability to log in (when I type in a valid username it immediately fails 3 times and prints the standard message... I don't have password hashes in my config, but IIRC last time I installed guix I was able to log in without setting a password either imperatively or declaratively). Due to the latter issue I was unable to test the program you posted, but it sounds like Ludovic was able to describe what would happen if I had been able to? I assume the non-d-bus errors are related to the lack of d-bus.

I uploaded a new video of my startup at https://drive.google.com/file/d/1bVdiCM1BKAmY-1y1XydI4ol7BCCkQ2Xk/view?usp=drivesdk It's ~50s long, but seconds 20-45 are the system retrying d-bus a number of times.

On Thu, Jan 10, 2019 at 10:21 AM Danny Milosavljevic <dannym@scratchpost.org> wrote:
Also, if you want, please try the following program on the booted guix system:

#include <stdio.h>
#include <locale.h>
#include <iconv.h>
#include <langinfo.h>

static iconv_t iconv_init_codepage(int codepage)
{
    iconv_t result;
    char codepage_name[16];
    snprintf(codepage_name, sizeof(codepage_name), "CP%d", codepage);
    result = iconv_open(nl_langinfo(CODESET), codepage_name);
    if (result == (iconv_t) - 1) {
        printf("FOO\n");
        perror(codepage_name);
        printf("BAR\n");
    }
    return result;
}

int main() {
        setlocale(LC_ALL, "");
        iconv_init_codepage(437);
        return 0;
}

You'd have to put the above text into a file called "a.c", then invoke

guix package -i gcc-toolchain

Then invoke

gcc -o a a.c

Then invoke

./a

I suspect it will also fail with the same error message.

After that, please invoke

iconv -l |grep -i cp437

It will probably either return nothing or even fail with an error message.

On Thu, Jan 10, 2019 at 10:21 AM Danny Milosavljevic <dannym@scratchpost.org> wrote:
Also, if you want, please try the following program on the booted guix system:

#include <stdio.h>
#include <locale.h>
#include <iconv.h>
#include <langinfo.h>

static iconv_t iconv_init_codepage(int codepage)
{
    iconv_t result;
    char codepage_name[16];
    snprintf(codepage_name, sizeof(codepage_name), "CP%d", codepage);
    result = iconv_open(nl_langinfo(CODESET), codepage_name);
    if (result == (iconv_t) - 1) {
        printf("FOO\n");
        perror(codepage_name);
        printf("BAR\n");
    }
    return result;
}

int main() {
        setlocale(LC_ALL, "");
        iconv_init_codepage(437);
        return 0;
}

You'd have to put the above text into a file called "a.c", then invoke

guix package -i gcc-toolchain

Then invoke

gcc -o a a.c

Then invoke

./a

I suspect it will also fail with the same error message.

After that, please invoke

iconv -l |grep -i cp437

It will probably either return nothing or even fail with an error message.