|
a/website/devel.html |
|
b/website/devel.html |
|
... |
|
... |
32 |
<p>If you wish to become involved in the development of <span
|
32 |
<p>If you wish to become involved in the development of <span
|
33 |
class="application">Recoll</span>, you are very much welcome,
|
33 |
class="application">Recoll</span>, you are very much welcome,
|
34 |
please send me an <a
|
34 |
please send me an <a
|
35 |
href="mailto:jean-francois.dockes@wanadoo.fr">email</a>.</p>
|
35 |
href="mailto:jean-francois.dockes@wanadoo.fr">email</a>.</p>
|
36 |
|
36 |
|
37 |
<h1>Translation</h1>
|
37 |
<h1><a name="translation">Translation</a></h1>
|
38 |
|
38 |
|
39 |
<p>More translations is good ! If you are a non-english speaker
|
39 |
<p>More translations is good ! If you are a non-english speaker
|
40 |
(and understand english, which can probably be assumed, you
|
40 |
(and understand english, which can probably be assumed, you
|
41 |
being reading this), you can take a little time to translate
|
41 |
being reading this), you can take a little time to translate
|
42 |
the GUI messages file.</p>
|
42 |
the GUI messages file.</p>
|
|
... |
|
... |
53 |
<li>Russian: <a href="translations/recoll_ru.ts">recoll_ru.ts</a></li>
|
53 |
<li>Russian: <a href="translations/recoll_ru.ts">recoll_ru.ts</a></li>
|
54 |
<li>Turkish: <a href="translations/recoll_tr.ts">recoll_tr.ts</a></li>
|
54 |
<li>Turkish: <a href="translations/recoll_tr.ts">recoll_tr.ts</a></li>
|
55 |
<li>Ukrainian: <a href="translations/recoll_uk.ts">recoll_uk.ts</a></li>
|
55 |
<li>Ukrainian: <a href="translations/recoll_uk.ts">recoll_uk.ts</a></li>
|
56 |
</ul>
|
56 |
</ul>
|
57 |
|
57 |
|
58 |
<h1>Development</h1>
|
58 |
<h1><a name="development">Development</a></h1>
|
59 |
|
59 |
|
60 |
<p>Apart from general development for additional functionality
|
60 |
<p>Apart from general development for additional functionality
|
61 |
or bug fixes, the following tasks are waiting for you:</p>
|
61 |
or bug fixes, the following tasks are waiting for you:</p>
|
62 |
<ul>
|
62 |
<ul>
|
63 |
<li>A better GUI design (both the ergonomy and the appearance).</li>
|
63 |
<li>A better GUI design (both the ergonomy and the appearance).</li>
|
|
... |
|
... |
77 |
inside the MUA.</li>
|
77 |
inside the MUA.</li>
|
78 |
|
78 |
|
79 |
<li>Etc. :)</li>
|
79 |
<li>Etc. :)</li>
|
80 |
</ul>
|
80 |
</ul>
|
81 |
|
81 |
|
|
|
82 |
<h1><a name="problemreport">Problem reporting</a></h1>
|
|
|
83 |
|
|
|
84 |
<p>Once in a while it will happen that a Recoll program will
|
|
|
85 |
crash (either the "recoll" graphical interface or the
|
|
|
86 |
"recollindex" command line indexing command).</p>
|
|
|
87 |
|
|
|
88 |
<p>Reporting crashes is very useful. It can help others, and it
|
|
|
89 |
can get your own problem to be solved.</p>
|
|
|
90 |
|
|
|
91 |
<p>All reports are useful. But, in order to maximize usefulness,
|
|
|
92 |
a crash report should include a so-called stack trace, something
|
|
|
93 |
that indicates what the program was doing when it
|
|
|
94 |
crashed. Getting a useful stack trace is not very difficult,
|
|
|
95 |
but it may need a little work on your part (which
|
|
|
96 |
will then enable me do my part of the work).</p>
|
|
|
97 |
|
|
|
98 |
<p>If your distribution includes a separate package for Recoll
|
|
|
99 |
debugging symbols, it probably also has a page on its web site
|
|
|
100 |
explaining how to use them to get a stack trace. You should
|
|
|
101 |
follow these instructions. If there is no debugging package,
|
|
|
102 |
you should follow the instructions below. A little
|
|
|
103 |
familiarity with the command line will be necessary.</p>
|
|
|
104 |
|
|
|
105 |
<dl><dt>Compiling and installing a debugging version</dt>
|
|
|
106 |
<dd>
|
|
|
107 |
<ul>
|
|
|
108 |
<li>Obtain the recoll source for the version you are using
|
|
|
109 |
(<a
|
|
|
110 |
href="http://www.recoll.org/download.html">www.recoll.org</a>),
|
|
|
111 |
and extract the source tree.</li>
|
|
|
112 |
|
|
|
113 |
<li>Follow the instructions for
|
|
|
114 |
<a
|
|
|
115 |
href="http://www.lesbonscomptes.com/recoll/usermanual/index.html#RCL.INSTALL.BUILDING">
|
|
|
116 |
building Recoll from source</a> with the following
|
|
|
117 |
modifications:
|
|
|
118 |
<ul>
|
|
|
119 |
<li>Before running <tt>configure</tt>, edit
|
|
|
120 |
the <tt>mk/localdefs.in</tt> file and remove the <tt>-O2</tt>
|
|
|
121 |
option(s). </li>
|
|
|
122 |
<li>When running <tt>configure</tt>, specify the
|
|
|
123 |
standard installation location for your system as a prefix
|
|
|
124 |
(to avoid ending up with two installed versions, which
|
|
|
125 |
would almost certainly end in confusion). On Linux this
|
|
|
126 |
would typically be:
|
|
|
127 |
<br><tt>configure --prefix=/usr</tt>.
|
|
|
128 |
</li> <li>When installing, arrange for the installed
|
|
|
129 |
executables not to be stripped of debugging symbols by
|
|
|
130 |
specifying a value for the STRIP environment variable
|
|
|
131 |
(ie: <tt>echo</tt> or <tt>ls</tt>): <br><tt>sudo make
|
|
|
132 |
install STRIP=ls</tt>
|
|
|
133 |
</li>
|
|
|
134 |
</ul>
|
|
|
135 |
</ul></dd>
|
|
|
136 |
|
|
|
137 |
<dt>Getting a core dump</dt>
|
|
|
138 |
<dd>You will need to run the operation that caused the crash
|
|
|
139 |
inside a writable directory, and tell the system that you
|
|
|
140 |
accept core dumps. The commands need to be run in a shell
|
|
|
141 |
inside a terminal window. Ie:
|
|
|
142 |
<pre><tt>
|
|
|
143 |
cd
|
|
|
144 |
ulimit -c unlimited
|
|
|
145 |
recoll #(or recollindex or whatever you want to run).
|
|
|
146 |
</tt></pre>
|
|
|
147 |
|
|
|
148 |
Hopefully, you will succeed in getting the command to crash,
|
|
|
149 |
and you will get a core file.
|
|
|
150 |
</dd>
|
|
|
151 |
|
|
|
152 |
<dt>Using gdb to get a stack trace</dt>
|
|
|
153 |
<dd>
|
|
|
154 |
<ul>
|
|
|
155 |
<li>Install <tt>gdb</tt> if it is not already on the system.</li>
|
|
|
156 |
|
|
|
157 |
<li>Run <tt>gdb</tt> on the command that crashed and the
|
|
|
158 |
core file (depending on the system, the core file may be
|
|
|
159 |
named "core" or something else, like recollindex.core, or
|
|
|
160 |
core.pid), ie:
|
|
|
161 |
|
|
|
162 |
<br><tt>gdb /usr/bin/recollindex core</tt>
|
|
|
163 |
</li>
|
|
|
164 |
<li>Inside <tt>gdb</tt>, you need to use different
|
|
|
165 |
commands to get a stack trace for <tt>recoll</tt>
|
|
|
166 |
and <tt>recollindex</tt>. For <tt>recollindex</tt> you
|
|
|
167 |
can use the <tt>bt</tt> command. For <tt>recoll</tt>
|
|
|
168 |
use: <br><tt>thread apply all bt full</tt>
|
|
|
169 |
</li>
|
|
|
170 |
<li>Copy/paste the output to your report email :), and
|
|
|
171 |
quit <tt>gdb</tt> ("q").</li>
|
|
|
172 |
</ul>
|
|
|
173 |
</dd>
|
|
|
174 |
</dl>
|
|
|
175 |
|
82 |
</div>
|
176 |
</div>
|
83 |
</body>
|
177 |
</body>
|
84 |
</html>
|
178 |
</html>
|
85 |
|
179 |
|