Re: [gdm-list] at-spi-registryd not starting automatically in gdm [was multiple at-spi...]



Hello Brian,


What is puzzling me however, is that in Ubuntu 7.04, at-spi-registryd is also located in /usr/lib/at-spi/. And there, registryd starts. Ubuntu 7.04 uses gdm 2.18.1.

In my tests of yesterday, the variable command had the value /usr/local/libexec/at-spi-registryd. Could this be related to the fact that I did a configure without --prefix? Not that the wrong value of LIBEXECDIR can be caused by me not doing ./configure as I should!?


I will add links to these emails in the bug report in Ubuntu. Maybe somebody more knowledgeable than me can do the fix. Otherwise, I will try my best; probably in two weeks.


Francesco.

PS: I did an error in my previous email: g_spawn_async() is in gdmcommon.c and not in gdmlogin.c

Francesco:

Great, I'm glad we finally tracked down the problem.

To fix this problem properly, we should probably add a new configure option.
Note it already supports configuration like this.  For example with logdir:

---

AC_ARG_WITH(log-dir,    [  --with-log-dir=<file>     log dir])

if ! test -z "$with_log_dir"; then
   GDM_LOG_DIR=$with_log_dir
else
   GDM_LOG_DIR=/var/log/gdm
fi
AC_SUBST(logdir, $GDM_LOG_DIR)

---

We probably should add a --with-atspi-dir which defaults to libexecdir.
The code would look very similar to the above except you'ld use
atspi-dir instead of log-dir, etc and set a variable called GDM_ATSPI_DIR.

One minor difference, you need to use this code (already in configure.ac)
to get the right libexecdir value:

if test ${libexecdir} = "\${exec_prefix}/libexec"; then
   ssh_libexec="$real_gdm_prefix/libexec"
else
   ssh_libexec="${libexecdir}"
fi

So, you could add your test after we set ssh_libexec in the script
and set it to ssh_libexec if with-atspi-dir is not passed in.

Then you would need to modify the code so it gets the value from
GDM_LOG_DIR rather than just using LIBEXECDIR.  Note in daemon/Makefile.am
that we set -DLOGDIR, so you'ld need to set a similar -D argument for
this to set ATSPIDIR, and then reference ATSPIDIR in the c-file.

Then you should be able to configure this.

Can you try this?

Brian

I may have approached the problem.

In gdmlogin.c in the function pre-atspi_launch:

ORIGINAL:

The line
command = g_strdup (LIBEXECDIR "/at-spi-registryd");
gives:
/usr/local/libexec/at-spi-registryd

Moreover, the error argument of g_spawn_async() returned:
Failed to execute child process "/usr/local/libexec/at-spi-registryd" (No such file or directory)




MODIFICATION:


So I commented out the line
command = g_strdup (LIBEXECDIR "/at-spi-registryd");
and modified the declaration of command to:
char *command = "/usr/lib/at-spi/at-spi-registryd";
(This is the location of at-spi-registryd on my Ubuntu installation.)

Now I get the XEVIE error (see my previous email) in the terminal where I launch ./gdmlogin, but at-spi-registryd gets started.




LIBEXECDIR

I have no clue at the moment, where LIBEXECDIR resides and how to correct the problem.


Cheers

Francesco
_______________________________________________
gdm-list mailing list
gdm-list gnome org
http://mail.gnome.org/mailman/listinfo/gdm-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]