[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#34971] [PATCH] gnu: Add mako.
From: |
Meiyo Peng |
Subject: |
[bug#34971] [PATCH] gnu: Add mako. |
Date: |
Wed, 10 Apr 2019 16:44:21 +0800 |
Hi Ludovic,
Ludovic Courtès writes:
> Meiyo Peng <address@hidden> skribis:
>
>> Ludovic Courtès writes:
>>
>>> Meiyo Peng <address@hidden> skribis:
>>>
>>>> If you have trouble running mako and mako gives you an error message
>>>> like:
>>>>
>>>> #+begin_example
>>>> Failed to connect to user bus: No such file or directory
>>>> #+end_example
>>>
>>> I would expect Mako to automatically spawn the D-Bus user bus if it’s
>>> not already needed, no? We don’t need to do anything special with other
>>> D-Bus applications AFAIK.
>>
>> Yeah. I expect that too. I am not sure why mako is so special. mako
>> uses the sd-bus library of systemd/elogind instead of libdbus. Do you
>> think that could be the cause?
>
> Could you check with ‘strace’ whether it tries to connect to
> /run/dbus/system_bus_socket instead of /var/run/dbus/system_bus_socket?
I get this output from `strace mako`:
#+begin_example
...
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
getsockopt(3, SOL_SOCKET, SO_RCVBUF, [212992], [4]) = 0
setsockopt(3, SOL_SOCKET, SO_RCVBUF, [8388608], 4) = 0
getsockopt(3, SOL_SOCKET, SO_SNDBUF, [212992], [4]) = 0
setsockopt(3, SOL_SOCKET, SO_SNDBUF, [8388608], 4) = 0
connect(3, {sa_family=AF_UNIX, sun_path="/run/user/1000/bus"}, 21) = -1
ENOENT (No such file or directory)
close(3) = 0
write(2, "Failed to connect to user bus: N"..., 57Failed to connect to user
bus: No such file or directory
) = 57
exit_group(1) = ?
+++ exited with 1 +++
#+end_example
It tries to connect to /run/user/1000/bus.
And that error message is from
https://github.com/emersion/mako/blob/master/dbus/dbus.c:
#+begin_src c
ret = sd_bus_open_user(&state->bus);
if (ret < 0) {
fprintf(stderr, "Failed to connect to user bus: %s\n", strerror(-ret));
goto error;
}
#+end_src
--
Meiyo Peng
https://www.pengmeiyu.com/