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.