[MacPorts] #17950: dbus patched with launchd support and version dump
MacPorts
noreply at macports.org
Mon Jan 12 11:54:19 PST 2009
#17950: dbus patched with launchd support and version dump
---------------------------------+------------------------------------------
Reporter: jonas.baehr@… | Owner: macports-tickets@…
Type: enhancement | Status: reopened
Priority: Normal | Milestone: Port Enhancements
Component: ports | Version: 1.7.0
Resolution: | Keywords: launchd kde4 x11
Port: dbus |
---------------------------------+------------------------------------------
Comment(by jonas.baehr@…):
Replying to [comment:20 mta@…]:
> That error is composed of three parts. The first part ("Could not
connect to session bus") comes from get_on_d_bus in the file gconfd.c.
This is in the gconf code that the process spawned by dbus uses to contact
the dbus that spawned it. It just calls "dbus_bus_get (DBUS_BUS_SESSION,
&bus_error)", nothing special. This message is logged if that call fails,
i.e., if dbus_error_is_set (&bus_error) is true.
>
> The second part ("Could not parse server address") comes from
_dbus_set_bad_address in dbus-address.c. This has been called from
_dbus_transport_open in dbus-transport.c which has been called indirectly
from dbus_bus_get. This function produces the third part ("Unknown
address type (examples of valid types are \"tcp\" and on UNIX \"unix\")")
if the loop over open_funcs that I mentioned above fails. The address
it's trying to parse is the "launchd:..." address quoted in the log
snippet above.
>
> GConf isn't doing anything non-standard, I really think this is a dbus
bug, or perhaps a configuration problem, although it doesn't feel like
that. It looks like there's at least one more place that needs to learn
about launchd addresses.
Hmm... dbus-monitor also does simply call dbus_but_get(DBUS_BUS_SESSION,
&error) and it works... Only difference: It checks the connection, not the
error, see tools/dbus-monitor.c:
{{{
dbus_error_init (&error);
connection = dbus_bus_get (type, &error);
if (connection == NULL)
{
fprintf (stderr, "Failed to open connection to %s message bus:
%s\n",
(type == DBUS_BUS_SYSTEM) ? "system" : "session",
error.message);
dbus_error_free (&error);
exit (1);
}
}}}
I'll investigate that. I have to install gconf first though and currently
gtk2 makes some trouble (i686-apple-darwin9-gcc-4.0.1:
/usr/X11/lib/libXdamage.1.1.0.dylib: No such file or directory). Anyway,
I'll keep you informed about the progress.
If dbus_bus_get returns a connection ''and'' an error, it's a problem with
the launchd patch for sure!
--
Ticket URL: <http://trac.macports.org/ticket/17950#comment:24>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list