|
a/src/INSTALL |
|
b/src/INSTALL |
|
... |
|
... |
183 |
|
183 |
|
184 |
5.3. Building from source
|
184 |
5.3. Building from source
|
185 |
|
185 |
|
186 |
5.3.1. Prerequisites
|
186 |
5.3.1. Prerequisites
|
187 |
|
187 |
|
|
|
188 |
If you can install any or all of the following through the package manager
|
|
|
189 |
for your system, all the better. Especially Qt is a very big piece of
|
|
|
190 |
software, but you will most probably be able to find a binary package.
|
|
|
191 |
|
|
|
192 |
You may have to compile Xapian but this is easy.
|
|
|
193 |
|
|
|
194 |
The shopping list:
|
|
|
195 |
|
188 |
C++ compiler. Up to Recoll version 1.13.04, its absence can manifest
|
196 |
o C++ compiler. Up to Recoll version 1.13.04, its absence can manifest
|
189 |
itself by strange messages about a missing iconv_open.
|
197 |
itself by strange messages about a missing iconv_open.
|
190 |
|
198 |
|
191 |
Development files for Xapian core.
|
199 |
o Development files for Xapian core.
|
192 |
|
200 |
|
193 |
Important
|
201 |
Important
|
194 |
|
202 |
|
195 |
If you are building Xapian for an older CPU (before Pentium 4 or Athlon
|
203 |
If you are building Xapian for an older CPU (before Pentium 4 or
|
196 |
64), you need to add the --disable-sse flag to the configure command. Else
|
204 |
Athlon 64), you need to add the --disable-sse flag to the configure
|
197 |
all Xapian application will crash with an illegal instruction error.
|
205 |
command. Else all Xapian application will crash with an illegal
|
|
|
206 |
instruction error.
|
198 |
|
207 |
|
199 |
Development files for Qt .
|
208 |
o Development files for Qt 4 . Recoll has not been tested with Qt 5 yet.
|
|
|
209 |
Recoll 1.15.9 was the last version to support Qt 3. If you do not want
|
|
|
210 |
to install or build the Qt Webkit module, Recoll has a configuration
|
|
|
211 |
option to disable its use (see further).
|
200 |
|
212 |
|
201 |
Development files for X11 and zlib.
|
213 |
o Development files for X11 and zlib.
|
|
|
214 |
|
|
|
215 |
o You may also need libiconv. On Linux systems, the iconv interface is
|
|
|
216 |
part of libc and you should not need to do anything special.
|
202 |
|
217 |
|
203 |
Check the Recoll download page for up to date version information.
|
218 |
Check the Recoll download page for up to date version information.
|
204 |
|
|
|
205 |
You will most probably be able to find a binary package for Qt for your
|
|
|
206 |
system. You may have to compile Xapian but this is not difficult (if you
|
|
|
207 |
are using FreeBSD, there is a port).
|
|
|
208 |
|
|
|
209 |
You may also need libiconv. Recoll currently uses version 1.9 (this should
|
|
|
210 |
not be critical). On Linux systems, the iconv interface is part of libc
|
|
|
211 |
and you should not need to do anything special.
|
|
|
212 |
|
219 |
|
213 |
5.3.2. Building
|
220 |
5.3.2. Building
|
214 |
|
221 |
|
215 |
Recoll has been built on Linux, FreeBSD, Mac OS X, and Solaris, most
|
222 |
Recoll has been built on Linux, FreeBSD, Mac OS X, and Solaris, most
|
216 |
versions after 2005 should be ok, maybe some older ones too (Solaris 8 is
|
223 |
versions after 2005 should be ok, maybe some older ones too (Solaris 8 is
|
217 |
ok). If you build on another system, and need to modify things, I would
|
224 |
ok). If you build on another system, and need to modify things, I would
|
218 |
very much welcome patches.
|
225 |
very much welcome patches.
|
219 |
|
226 |
|
220 |
Depending on the Qt 3 configuration on your system, you may have to set
|
|
|
221 |
the QTDIR and QMAKESPECS variables in your environment:
|
|
|
222 |
|
|
|
223 |
o QTDIR should point to the directory above the one that holds the qt
|
|
|
224 |
include files (ie: if qt.h is /usr/local/qt/include/qt.h, QTDIR should
|
|
|
225 |
be /usr/local/qt).
|
|
|
226 |
|
|
|
227 |
o QMAKESPECS should be set to the name of one of the Qt mkspecs
|
|
|
228 |
sub-directories (ie: linux-g++).
|
|
|
229 |
|
|
|
230 |
On many Linux systems, QTDIR is set by the login scripts, and QMAKESPECS
|
|
|
231 |
is not needed because there is a default link in mkspecs/.
|
|
|
232 |
|
|
|
233 |
Neither QTDIR nor QMAKESPECS should be needed with Qt 4, configuration
|
|
|
234 |
details are entirely determined by qmake (which is quite often installed
|
|
|
235 |
as qmake-qt4).
|
|
|
236 |
|
|
|
237 |
Configure options:
|
227 |
Configure options:
|
238 |
|
228 |
|
239 |
o --without-aspell will disable the code for phonetic matching of search
|
229 |
o --without-aspell will disable the code for phonetic matching of search
|
240 |
terms.
|
230 |
terms.
|
241 |
|
231 |
|
242 |
o --with-fam or --with-inotify will enable the code for real time
|
232 |
o --with-fam or --with-inotify will enable the code for real time
|
243 |
indexing. Inotify support is enabled by default on recent Linux
|
233 |
indexing. Inotify support is enabled by default on recent Linux
|
244 |
systems.
|
234 |
systems.
|
245 |
|
235 |
|
|
|
236 |
o --with-qtzeitgeist will enable sending Zeitgeist events about the
|
|
|
237 |
visited search results, and needs the Qt Zeitgeist module.
|
|
|
238 |
|
246 |
o --disable-webkit is available from version 1.17 to implement the
|
239 |
o --disable-webkit is available from version 1.17 to implement the
|
247 |
result list with a Qt QTextBrowser instead of a WebKit widget if you
|
240 |
result list with a Qt QTextBrowser instead of a WebKit widget if you
|
248 |
do not or can't depend on the latter.
|
241 |
do not or can't depend on the latter.
|
249 |
|
242 |
|
|
|
243 |
o --disable-idxthreads is available from version 1.19 to suppress
|
|
|
244 |
multithreading inside the indexing process. You can also use the
|
|
|
245 |
run-time configuration to restrict recollindex to using a single
|
|
|
246 |
thread, but the compile-time option may disable a few more unused
|
|
|
247 |
locks. This only applies to the use of multithreading for the core
|
|
|
248 |
index processing (data input). The Recoll monitor mode always uses at
|
|
|
249 |
least two threads of execution.
|
|
|
250 |
|
|
|
251 |
o --disable-python-module will avoid building the Python module.
|
|
|
252 |
|
250 |
o --enable-xattr will enable code to fetch data from file extended
|
253 |
o --disable-xattr will prevent fetching data from file extended
|
|
|
254 |
attributes. Beyond a few standard attributes, fetching extended
|
251 |
attributes. This is only useful is some application stores data in
|
255 |
attributes data can only be useful is some application stores data in
|
252 |
there, and also needs some simple configuration (see comments in the
|
256 |
there, and also needs some simple configuration (see comments in the
|
253 |
fields configuration file).
|
257 |
fields configuration file).
|
254 |
|
258 |
|
255 |
o --enable-camelcase will enable splitting camelCase words. This is not
|
259 |
o --enable-camelcase will enable splitting camelCase words. This is not
|
256 |
enabled by default as it has the unfortunate side-effect of making
|
260 |
enabled by default as it has the unfortunate side-effect of making
|
|
... |
|
... |
267 |
environment.
|
271 |
environment.
|
268 |
|
272 |
|
269 |
o --disable-x11mon Disable X11 connection monitoring inside recollindex.
|
273 |
o --disable-x11mon Disable X11 connection monitoring inside recollindex.
|
270 |
Together with --disable-qtgui, this allows building recoll without Qt
|
274 |
Together with --disable-qtgui, this allows building recoll without Qt
|
271 |
and X11.
|
275 |
and X11.
|
|
|
276 |
|
|
|
277 |
o --disable-pic will compile Recoll with position-dependant code. This
|
|
|
278 |
is incompatible with building the KIO or the Python or PHP extensions,
|
|
|
279 |
but might yield very marginally faster code.
|
272 |
|
280 |
|
273 |
o Of course the usual autoconf configure options, like --prefix apply.
|
281 |
o Of course the usual autoconf configure options, like --prefix apply.
|
274 |
|
282 |
|
275 |
Normal procedure:
|
283 |
Normal procedure:
|
276 |
|
284 |
|