Service files in lib/datadir

John (J5) Palmieri johnp at
Fri Dec 17 09:52:41 PST 2004

On Fri, 2004-12-17 at 12:07 -0500, Havoc Pennington wrote:
> On Fri, 2004-12-17 at 12:20 +0100, Richard Hult wrote:
> > Hi,
> > 
> > A while ago, the default conf for the session bus was changed to look up 
> > service files in datadir rather than libdir. The reason was to fix 64/32 
> > bit parallel installations, but I don't think this is the correct fix 
> > since it breaks the semantics of datadir (services are not shareable 
> > across different archs for example). It also breaks existing installed 
> > services since the service files have to be moved, which is bad even 
> > though dbus isn't supposed to be stable yet.
> > 
> > Is there some other way to fix the 64/32 bit problem?
> > 
> I'm not sure. So on Linux there are several 32/64 configurations as I
> understand it:
>  /lib is 32-bit and /lib64 is 64-bit
>     - within this configuration, either 32 or 64 can be the default;
>       e.g. on ppc64 we would expect GNOME to run in 32, and on
>       x86_64 GNOME would run in 64
>  /lib is 64-bit and 32-bit is in the /emul-ia32 hack directory
>     - this is Itanium; apps normally run in 64-bit and 32-bit binaries
>       get routed to the 32-bit libs "transparently" (it doesn't really 
>       work well)
> bindir is always shared, and we've ended up with binaries ending in -64
> and other ad hoc hacks.
> What we want to happen is:
>     - for a desktop session always use the services from the 
>       default mode; e.g. on ppc64 we want the 32-bit services
>       and on x86_64/Itanium we want the 64-bit services. The 
>       bus itself will also be in this mode.
>       Here we could say "the bus uses the libdir it was built with
>       to find services" and I think it would work...
> With libdir, to make this happen we need to use /lib on ppc64 and
> Itanium and /lib64 on x86_64 for the service files.
> I guess I don't really see how the previous usage of libdir was breaking
> things...

The configuration files in /etc can't have the same name and have
different content.  That was the real problem.  BTW we checked a 32bit
HAL using a 64bit dbus bus.  It seemed to work.  

John (J5) Palmieri
Associate Software Engineer
Desktop Group
Red Hat, Inc.

More information about the dbus mailing list