2001-08-15 Kjartan Maraas <kmaraas@gnome.org> * no/*: Added beginnings of a Norwegian translation. * sgmldocs.make: Forgot to add this. Kinda important. svn path=/trunk/; revision=12070
974 lines
32 KiB
Plaintext
974 lines
32 KiB
Plaintext
<!--
|
||
<!DOCTYPE appendix PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.1//EN">
|
||
-->
|
||
<appendix id="evolution-faq">
|
||
<title>Frequently Asked Questions About Ximian Evolution</title>
|
||
<para>
|
||
Here are some frequently asked questions about the
|
||
<application>Evolution</application> groupware suite from
|
||
Ximian. If you have a question that's not listed, you can
|
||
contact us at evolve@ximian.com.
|
||
</para>
|
||
|
||
<sect1 id="faq-features">
|
||
<title>Features</title>
|
||
|
||
<qandaset>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
How can I use Evolution with Microsoft Exchange or Lotus Notes?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
If your server uses standard open protocols like IMAP,
|
||
LDAP, POP, and SMTP, you can use Evolution with it. You
|
||
can share addresses with vCards and calendar items with
|
||
iCal appointments.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Can I use Evolution with KDE?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Evolution will work fine in KDE. You will need to
|
||
install all of the GNOME libraries that it depends on.
|
||
Also, certain configuration options, such as default
|
||
fonts and the message editor keybinding behavior, must be
|
||
changed using the GNOME Control Center application (this
|
||
will also run from within KDE).
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
How can I remove or rename a folder?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Right-click on the folder and select the
|
||
<guimenuitem>Delete</guimenuitem> or
|
||
<guimenuitem>Rename</guimenuitem> items.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Why doesn't drag and drop between folders seem to work?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
The implementation isn't finished, although it's nearly done.
|
||
</para>
|
||
|
||
<para>
|
||
In the meantime, right-click on the folders or messages
|
||
you want to move, and select the
|
||
<guimenuitem>Move</guimenuitem> or
|
||
<guimenuitem>Copy</guimenuitem> options.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Can I read mail from a mailbox file created by some other
|
||
application (e.g. Mutt) without importing mail from it?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
No, but it's a planned feature.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Can Evolution sync with my Palm OS (tm) device?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Yes. However, it is not yet stable enough for general
|
||
release and we do not yet ship Evolution with Palm
|
||
synchronization enabled default. Until we do, you will
|
||
need to compile this in yourself. Check the
|
||
<filename>README</filename> file for additional
|
||
information on the requirements. Full compatibility and
|
||
synchronization for calendar and addressbook applications
|
||
on Palm devices will be implemented and shipped soon.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
What is the difference between a virtual folder (vfolder)
|
||
and a regular folder?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
A virtual folder is like a saved search: it is a view of
|
||
your mail. Regular folders actually contain the mail
|
||
messages. You can have one message be in multiple virtual
|
||
folders, but only in one regular folder. See the section
|
||
in the Evolution manual about virtual folders for more
|
||
information.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Can Evolution spell-check messages while I compose them?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Yes. The Evolution composer is able to highlight
|
||
mis-spelled word on the fly as you type them, and also
|
||
give you suggestions for possible corrections. In order
|
||
for this to work you need the
|
||
<filename>gnome-spell</filename> component, which is not
|
||
shipped with Ximian GNOME yet.
|
||
</para>
|
||
|
||
<para>
|
||
If you are brave enough, you can check out module
|
||
<filename>gnome-spell</filename> from the GNOME CVS and
|
||
compile it yourself. Check out its README file for a list
|
||
of <filename>gnome-spell</filename>'s requirements for
|
||
compilation.
|
||
</para>
|
||
|
||
<para>
|
||
Note that you don't need to recompile Evolution after
|
||
installing <filename>gnome-spell</filename>; it will be
|
||
picked up automatically.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Why can't I see the images that are contained in some HTML
|
||
mail messages.
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Evolution currently doesn't support this, but it's a
|
||
planned feature. It will be an option: many people like
|
||
to turn off the images because they use up bandwidth and can
|
||
be used to spy on your email reading habits.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Can I change the font that Evolution uses to compose and
|
||
display mail messages?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
You have to change the GtkHTML settings for that: in the
|
||
GNOME Control Center, go to the "HTML Viewer"
|
||
configuration page, which is under the "Document Handlers"
|
||
category.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
How do I import my Outlook <filename>.pst</filename> files into Evolution?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
You cannot import these files directly into Evolution
|
||
because the <filename>.pst</filename> format is a
|
||
proprietary format. However, Mozilla Mail on Windows can
|
||
convert them into the <type>mbox</type> format, which can
|
||
then be imported by Evolution.
|
||
</para>
|
||
|
||
<para>
|
||
To start importing your Outlook mail to Evolution, run
|
||
Mozilla Mail on Windows and select the
|
||
<menuchoice><guimenu>File</guimenu><guimenuitem>Import...</guimenuitem></menuchoice>
|
||
to begin. Then select that you wish to import Mail from
|
||
Outlook. Once Mozilla has imported all your mail, reboot
|
||
your computer into Linux.
|
||
</para>
|
||
|
||
<para>
|
||
Mount your Windows partition in Linux and run Evolution to
|
||
begin importing your mail. Select
|
||
<menuchoice><guimenu>File</guimenu><guimenuitem>Import
|
||
File...</guimenuitem></menuchoice> to start importing. Set
|
||
the file type to MBox (mbox) and click on
|
||
<guibutton>Browse</guibutton> to select the mail you want
|
||
to import.
|
||
</para>
|
||
|
||
<para>
|
||
If you are the only user on Windows, the mail files will
|
||
be stored in <filename>/mnt/c/windows/Application
|
||
Data/Mozilla/Profiles/default/XXXX/Mail/imported.mail/</filename>
|
||
where <filename>/mnt/c/</filename> is your windows
|
||
partition mount point and XXXX is some collection of
|
||
numbers and digits ending in <filename>.slt</filename>.
|
||
</para>
|
||
|
||
<para>
|
||
If there is more than one user, the file will be in
|
||
<filename>/mnt/c/windows/Profiles/USERNAME/XXXX/Mail/imported.mail/</filename>
|
||
where USERNAME is your Windows username.
|
||
</para>
|
||
|
||
<para>
|
||
For each mail folder in Outlook, Mozilla will convert the
|
||
folder into one mbox file. To import all your mail, import
|
||
all the files without a <filename>.msf</filename>
|
||
extension.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
If Mozilla can import <filename>.pst</filename> files, why can't Evolution?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Mozilla on Windows accesses the <filename>.pst</filename>
|
||
files through the <filename>MAPI.DLL</filename>, which is
|
||
only available on Windows. <filename>MAPI.DLL</filename>
|
||
is the only way to access <filename>.pst</filename> files
|
||
and Evolution cannot use this DLL in Linux.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Will there be an Evolution server? How about a text-based or web-based front end?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Of course, we can't comment on unannounced future product
|
||
plans, but Evolution's architecture would permit the
|
||
existence of that kind of software. If there is enough
|
||
demand for such software we will consider moving in that
|
||
direction.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Will Evolution make a good mocha?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Only espresso is planned, but you can easily plug in a chocolate component.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
</qandaset>
|
||
</sect1>
|
||
|
||
|
||
<!-- Section: Getting and compiling -->
|
||
|
||
<sect1 id="faq-get-and-compile">
|
||
<title>
|
||
Getting and Compiling Evolution
|
||
</title>
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Where can I get the latest Evolution release?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
There are two ways to install the latest Evolution
|
||
release:
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
If you have Ximian GNOME installed, you can start
|
||
Red Carpet, Ximian's software updating system, and
|
||
subscribe to the Evolution channel. This will let
|
||
you install a binary for the latest release, and
|
||
will also warn you when a new version has been made
|
||
available.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
If you want to compile from source, you can
|
||
download the latest official Evolution tarball
|
||
from:
|
||
</para>
|
||
|
||
<para>
|
||
<ulink url="ftp://ftp.gnome.org/pub/GNOME/unstable/sources/evolution">
|
||
ftp://ftp.gnome.org/pub/GNOME/unstable/sources/evolution</ulink>
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Are binary snapshots available?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Yes, if you have Ximian GNOME installed. Just run Red
|
||
Carpet and subscribe to the Evolution Snapshot channel.
|
||
</para>
|
||
|
||
<para>
|
||
You can check the status of snapshots at
|
||
<ulink url="http://primates.ximian.com/~snapshot">http://primates.ximian.com/~snapshot</ulink>.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Why isn't a new snapshot available today?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Sometimes the build might fail because of problems with
|
||
the source on CVS. In this case, just wait for next day's
|
||
snapshot.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
How do I get Evolution from CVS?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
If you already have
|
||
<ulink url="http://cvs.gnome.org">GNOME CVS</ulink> access,
|
||
simply check out the following modules: evolution,
|
||
gtkhtml, gal.
|
||
</para>
|
||
<para>
|
||
If you don't have a CVS account, you can use anoncvs
|
||
instead. Bear in mind that anoncvs is only synchronized once
|
||
a day, and code received from anoncvs may not be latest
|
||
version available.
|
||
</para>
|
||
|
||
<para>
|
||
Before using the anoncvs server, you have to log into it.
|
||
This only needs to be done once. Use this command:
|
||
</para>
|
||
|
||
<programlisting>
|
||
cvs -z3 -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome login
|
||
</programlisting>
|
||
|
||
<para>
|
||
Then you can retrieve the modules needed to compile Evolution
|
||
using the following command:
|
||
</para>
|
||
|
||
<programlisting>
|
||
cvs -z3 -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome co evolution gtkhtml gal
|
||
</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
How should I compile Evolution avoiding conflicts with my
|
||
existing GNOME installation?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
The best way is to install Evolution into a separate prefix.
|
||
In order to specify a non-default installation prefix, you
|
||
can pass the <parameter>--prefix</parameter> option to
|
||
<filename>configure</filename> or
|
||
<filename>autogen.sh</filename>. For example:
|
||
</para>
|
||
|
||
<programlisting>
|
||
cd /cvs/evolution
|
||
./autogen.sh --prefix=/opt/gnome
|
||
</programlisting>
|
||
|
||
<para>
|
||
If you install Evolution and the Evolution libraries in a
|
||
non-standard prefix, make sure you set the appropriate
|
||
environment variables in the startup script for Evolution:
|
||
</para>
|
||
|
||
<programlisting>
|
||
export PATH=/opt/gnome:$PATH
|
||
export GNOME_PATH=/opt/gnome:/usr
|
||
</programlisting>
|
||
|
||
<para>
|
||
You may also need to add <filename>$prefix/lib</filename>
|
||
(e.g. <filename>/opt/gnome/lib</filename>) to your
|
||
<filename>/etc/ld.so.conf</filename>. Of course, this will
|
||
not work for systems which do not use ld.so.conf, such as
|
||
HP-UX.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
I get the error message: <computeroutput>make: *** No rule
|
||
to make target
|
||
`all-no-@BUILD_INCLUDED_LIBINTL@'</computeroutput>
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
You probably have <filename>gettext</filename> 0.10.36 or
|
||
later installed. Try downgrading to 0.10.35;
|
||
unfortunately, 0.10.36 introduced some incompatibilities
|
||
with the current <filename>xml-i18n-tools</filename>.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</sect1>
|
||
|
||
<sect1 id="faq-trouble">
|
||
<title>Troubleshooting</title>
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
I get <computeroutput>Cannot initialize the Evolution
|
||
shell</computeroutput>.
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
There are a number of things that can cause this error.
|
||
Check that:
|
||
</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
<filename>oafd</filename> is listed in your <envar>PATH</envar>
|
||
environment variable.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
<filename>GNOME_Evolution_Shell.oaf</filename> and
|
||
the other <20><><EFBFBD><EFBFBD><EFBFBD>
|
||
<filename>GNOME_Evolution_*.oaf</filename> files are
|
||
readable and installed in
|
||
<filename>$prefix/share/oaf</filename>, where
|
||
<filename>$prefix</filename> is one of the prefixes
|
||
listed in <envar>GNOME_PATH</envar> or
|
||
<envar>OAF_INFO_PATH</envar>.<2E> (These variables are
|
||
supposed to contain $PATH-like colon-separated lists of
|
||
paths.<2E> If the installation prefix for Evolution is
|
||
different from that). Run `oaf-slay' once before running
|
||
`evolution' again if you change $GNOME_PATH or
|
||
$OAF_INFO_PATH.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
<filename>evolution</filename>,
|
||
<filename>evolution-mail</filename> and the other
|
||
<filename>evolution-*</filename> executables are in your
|
||
$PATH.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
I get <computeroutput>Cannot open composer window</computeroutput>.
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
This actually means that Evolution cannot activate the HTML
|
||
editor component from GtkHTML. The comments in the previous
|
||
answer still apply; also make sure that
|
||
<command>gnome-gtkhtml-editor</command> is in your
|
||
<envar>PATH</envar>.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
The address suggestion list steals focus from the "To:"
|
||
entry box when I'm typing. How can I make it keep focus?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
This is a bug in GTK version 1.2.10. To avoid it, downgrade
|
||
to GTK version 1.2.9, or install the Ximian version of GTK
|
||
1.2.10.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
I updated Evolution and now my addressbook information is gone!
|
||
What should I do?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Evolution uses the <filename>libdb</filename> library to
|
||
handle the addressbook database. Two versions of
|
||
<filename>libdb</filename> can be used with Evolution: version
|
||
1.88 and version 2.
|
||
</para>
|
||
|
||
<para>
|
||
Unfortunately, an Evolution executable that is linked against
|
||
a certain version of <filename>libdb</filename> will only be
|
||
able to read addressbook files written by another Evolution
|
||
executable that is linked with the same version of the
|
||
library. If your addressbook is not readable by Evolution
|
||
anymore, it probably means that you used to have Evolution
|
||
linked with a certain version of <filename>libdb</filename>,
|
||
but now it gets linked to a different version.
|
||
</para>
|
||
|
||
<para>
|
||
Because of the way <filename>libdb</filename> is designed, it
|
||
is not easy for Evolution to automatically do the conversion
|
||
between the two formats. But, if your Evolution used to be
|
||
linked against version 1.85 and now is linked to version 2,
|
||
there is a very simple way to convert the database and recover
|
||
your data.
|
||
</para>
|
||
|
||
<itemizedlist>
|
||
|
||
<listitem>
|
||
<para>
|
||
First of all, check the format of the database using the
|
||
<command>file</command> command:
|
||
</para>
|
||
|
||
<programlisting>
|
||
file ~/evolution/local/Contacts/addressbook.db
|
||
</programlisting>
|
||
|
||
<para>
|
||
You want version 1.85 there. If your version is 2, then
|
||
your current Evolution is probably linked against
|
||
version 1.85 and you cannot convert the database to the
|
||
old format. To do that, follow these instructions:
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Quit Evolution.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Make a copy of the addressbook database for backup
|
||
purposes, then move the original out of the way.
|
||
</para>
|
||
|
||
<programlisting>
|
||
cd ~/evolution/local/Contacts
|
||
cp addressbook.db addressbook.db.backup
|
||
mv addressbook.db addressbook.db.tmp
|
||
</programlisting>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Convert the contacts to the new format using
|
||
<command>db_dump185</command> and
|
||
<command>db_load</command>:
|
||
</para>
|
||
|
||
<programlisting>
|
||
db_dump185 addressbook.db.tmp | db_load ~/evolution/local/Contacts/addressbook.db
|
||
</programlisting>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Restart Evolution.
|
||
</para>
|
||
</listitem>
|
||
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Evolution reported an error when trying to retrieve from my
|
||
local spool in <filename>/var/spool/mail/username</filename>. Why?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Evolution doesn't have an external helper for moving mail,
|
||
so <filename>/var/spool/mail/</filename> must be writable
|
||
by you. Try this:
|
||
</para>
|
||
|
||
<programlisting>
|
||
chmod 1777 /var/spool/mail
|
||
</programlisting>
|
||
|
||
<para>
|
||
We're working on a solution to this problem now.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Evolution crashes reporting that it couldn't allocate N
|
||
billion bytes; how do I fix this?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
This usually happens when a component tries talking a
|
||
certain version of a CORBA interface to another component
|
||
that supports a different version. For example, this can
|
||
happen when you recompile and install a single component
|
||
without recompiling/installing the rest of Evolution.
|
||
</para>
|
||
|
||
<para>
|
||
If you run into this problem, make sure all the components
|
||
are compiled and installed at the same time. This also
|
||
applies to GtkHTML upgrades; after upgrading and
|
||
installing a newer GtkHTML, always re-compile and
|
||
re-install Evolution against it.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
What is <command>killev</command> and why do I need to use it?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
Evolution is actually made up of several components that run
|
||
as separate processes. Evolution's shell is not very good
|
||
at cleaning up stale processes, so it is possible that
|
||
sometimes already-running components cause unexpected and/or
|
||
broken behavior.
|
||
</para>
|
||
|
||
<para>
|
||
It's always a good idea to run <command>killev</command>
|
||
after a crash in Evolution, especially if the Evolution
|
||
shell itself crashed. (If a component crashes instead, you
|
||
should try to exit the shell cleanly first, so you give a
|
||
chance to the other components to clean things up properly.)
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
What is <command>oaf-slay</command> and why do I need to use it?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
<command>oaf-slay</command> is an utility which comes with
|
||
OAF, the Object Activation Framework that is used in the
|
||
GNOME Desktop to activate components. It will kill the
|
||
object activation daemon (<command>oafd</command>) as well
|
||
as all the active components on the system.
|
||
</para>
|
||
|
||
<para>
|
||
Using <command>oaf-slay</command>
|
||
<command>oaf-slay</command> is quite drastic and can cause
|
||
problems with other programs that use oaf, especially with
|
||
<application>Nautilus</application>. To avoid problems, do
|
||
not run <command>oaf-slay</command> while you are in GNOME.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</sect1>
|
||
|
||
<sect1 id="faq-debugging">
|
||
<title>Questions about Bugs and Debugging</title>
|
||
<para>
|
||
Find a bug? Here's how to help us fix it!
|
||
</para>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
Where should I report bugs for Evolution?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
You can use the GNOME Bug Report Tool
|
||
(<command>bug-buddy</command>), or report bugs to the
|
||
Ximian bug reporting system (Bugzilla), located at <ulink
|
||
url="http://bugzilla.ximian.com">http://bugzilla.ximian.com</ulink>.
|
||
</para>
|
||
|
||
<para>
|
||
Please use the query function to check if a bug has been
|
||
submitted already, so that we avoid duplicate reports.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
What is a stack trace (backtrace) and how do I get one?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
A stack trace is a list of the chain of function calls
|
||
that lead to some point in the program. Typically, you
|
||
want to get a stack trace when Evolution crashes or
|
||
hangs and you want to try to figure out where in the
|
||
code that happened and why. For this reason, stack
|
||
traces are extremely useful for the Evolution
|
||
developers, so it's important that you learn how to get
|
||
them, and include them in crash reports. The
|
||
<application>bug-buddy</application> tool can get and
|
||
submit a stack trace for you. If you want to do it by
|
||
yourself, here's how:
|
||
</para>
|
||
<para>
|
||
First of all, in order to get a stack trace, your
|
||
executable (and possibly the libraries) must be compiled
|
||
with debugging symbols. Debugging symbols are created by
|
||
default if you compile from CVS, and are included in the
|
||
snapshot builds. If you decide to compile by yourself
|
||
with some custom CFLAGS value, make sure -g is included
|
||
in them.
|
||
</para>
|
||
<para>
|
||
Finally, you must put the component that crashes through
|
||
<application>gdb</application>, the GNU debugging tool.
|
||
To do so, make sure all the components are dead (exit
|
||
Evolution and run <command>killev</command>), then run the
|
||
following command:
|
||
<programlisting>
|
||
<command>gdb name-of-component</command>
|
||
</programlisting>
|
||
|
||
Where "name-of-component" is the name of the component that
|
||
crashed.
|
||
</para>
|
||
<para>
|
||
Then, at the gdb prompt, type r (for "run") and wait a
|
||
few seconds to make sure the component has registered
|
||
with the name service. Then start
|
||
<application>Evolution</application> normally from a
|
||
different terminal.
|
||
</para>
|
||
<para>
|
||
When you have started
|
||
<application>Evolution</application>, reproduce the
|
||
crash, and go back to the terminal where you ran gdb. If
|
||
the component crashed, you should have a prompt there;
|
||
otherwise, just hit Control+C. At the prompt, type
|
||
<command>info threads</command>. This will give you a
|
||
screen that looks like this:
|
||
</para>
|
||
<para>
|
||
<programlisting>
|
||
(gdb) info threads
|
||
8 Thread 6151 (LWP 14908) 0x409778fe in sigsuspend () from /lib/libc.so.6
|
||
7 Thread 5126 (LWP 14907) 0x409778fe in sigsuspend () from /lib/libc.so.6
|
||
6 Thread 4101 (LWP 1007) 0x409778fe in sigsuspend () from /lib/libc.so.6
|
||
5 Thread 3076 (LWP 1006) 0x409778fe in sigsuspend () from /lib/libc.so.6
|
||
4 Thread 2051 (LWP 1005) 0x409778fe in sigsuspend () from /lib/libc.so.6
|
||
3 Thread 1026 (LWP 1004) 0x409778fe in sigsuspend () from /lib/libc.so.6
|
||
2 Thread 2049 (LWP 1003) 0x40a10d90 in poll () from /lib/libc.so.6
|
||
1 Thread 1024 (LWP 995) 0x40a10d90 in poll () from /lib/libc.so.6
|
||
</programlisting>
|
||
|
||
For the most part, only
|
||
<application>evolution-mail</application> will have more
|
||
than one thread.
|
||
</para>
|
||
<para>
|
||
Now, for each of the threads listed, type the following commands:
|
||
<programlisting>
|
||
thread N
|
||
bt
|
||
</programlisting>
|
||
Where 'N' is the number of the thread (in this example, 1
|
||
through 8).
|
||
</para>
|
||
<para>
|
||
Cut and paste all the output gdb gives you into a text
|
||
file. You can quit gdb by typing
|
||
<userinput>quit</userinput>
|
||
</para>
|
||
<para>
|
||
If you prefer, you can start gdb while a process is
|
||
running. You'll want to do this right after a crash dialog
|
||
appears, but before hitting "OK" or "Submit bug report".
|
||
Start <application>gdb</application> as above, but instead
|
||
of using <userinput>r</userinput>, type <userinput>attach
|
||
PID</userinput> where PID is the process ID of the
|
||
component you want to debug.
|
||
</para>
|
||
<para>
|
||
If that sounds too complicated, you can always use
|
||
<command>bug-buddy</command> to get and submit the stack
|
||
trace.
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
<qandaentry>
|
||
<question>
|
||
<para>
|
||
A component of evolution crashed, but since the rest of
|
||
evolution stayed up, I couldn't use bug-buddy to get a
|
||
stack trace. How can I use gdb to get a stack trace of
|
||
the component?
|
||
</para>
|
||
</question>
|
||
<answer>
|
||
<para>
|
||
To trace a failing component (in this example, evolution-mail):
|
||
<orderedlist numeration="arabic">
|
||
<listitem>
|
||
<para>
|
||
Open two terminals.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
In one, type <command>gdb evolution-mail</command>
|
||
. Replace "evolution-mail" with the name of the
|
||
component that is crashing: evolution-addressbook,
|
||
evolution-calendar, etc.)
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Once gdb starts, type <userinput>r</userinput> and
|
||
hit enter. Give it a few seconds, to make sure it
|
||
starts up completely.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
In the second terminal, type
|
||
<command>evolution</command>. Do whatever you did
|
||
to cause the crash in the component you used in
|
||
step two.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
When the crash occurs, type 'bt' in the first
|
||
terminal.
|
||
</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>
|
||
Cut and paste the output into your bug report.
|
||
</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</sect1>
|
||
</appendix>
|
||
|
||
<!-- Local Variables: --> <!-- indent-tabs-mode:nil --> <!-- End: -->
|
||
|
||
|
||
|
||
|