doc
This commit is contained in:
parent
3a473a1ae3
commit
d0e3c20241
3 changed files with 87 additions and 364 deletions
|
@ -1,274 +0,0 @@
|
|||
= Building Recoll on Microsoft Windows with MinGW
|
||||
Jean-Francois Dockes <jf at dockes.org>
|
||||
|
||||
This document describes building a Recoll distribution, starting from a
|
||||
pristine Windows machine, using the http://www.mingw.org/[MinGW] port of gcc
|
||||
and associated tools.
|
||||
|
||||
The resulting package only needs Python (and optionally 7-zip) to be
|
||||
installed on the target system.
|
||||
|
||||
== Installing MinGW and MSYS
|
||||
|
||||
Download the installer from http://www.mingw.org/, and run it.
|
||||
|
||||
In the following, a number of commands will use a command window with an
|
||||
MinGW environment. This can be easily created by executing
|
||||
C:\MinGW\msys\1.0\msys.bat from File Explorer.
|
||||
|
||||
NOTE: you should take care to use the gcc compiler which comes with Qt for
|
||||
all the following builds. For this, you will want to execute the following
|
||||
command in the command window:
|
||||
|
||||
export PATH=/c/qt/tools/mingw492_32/bin:$PATH
|
||||
|
||||
== Tortoise HG
|
||||
|
||||
This is needed because there is no source package for recoll or its
|
||||
dependancies for now, you are going to clone Bitbucket repositories.
|
||||
|
||||
Get it from http://tortoisehg.bitbucket.org/download/index.html
|
||||
|
||||
Then clone the repositories for
|
||||
https://medoc@bitbucket.org/medoc/recoll[recoll] to C:/recoll and
|
||||
https://medoc@bitbucket.org/medoc/recoll-windows-deps[some of the
|
||||
dependancies] to C:/recolldeps
|
||||
|
||||
You can change the target names, but there will be more script editing
|
||||
later on then (nothing much).
|
||||
|
||||
== Qt
|
||||
|
||||
Download and install Qt 5.5.x (mingw version) from: http://www.qt.io/download/
|
||||
|
||||
Note: it is not possible to build a static webkit, so the installation is
|
||||
necessarily dynamic, which means that the Qt DLLS will need to be copied
|
||||
into the installation directory. This is done by the installation-building
|
||||
script (using `windeployqt`)
|
||||
|
||||
|
||||
== zlib
|
||||
|
||||
Download from http://zlib.net/zlib-1.2.8.tar.gz
|
||||
|
||||
Don't forget the PATH update if not done yet:
|
||||
|
||||
export PATH=/c/qt/tools/mingw492_32/bin:$PATH
|
||||
|
||||
Then, from an MSYS command window (see above):
|
||||
|
||||
cd c:/temp
|
||||
tar xzf path-to-tar-file
|
||||
cd zlib-1.2.8
|
||||
make -f win32/Makefile.gcc
|
||||
|
||||
== Xapian
|
||||
|
||||
Download from:
|
||||
http://oligarchy.co.uk/xapian/1.4.1/xapian-core-1.4.1.tar.xz
|
||||
|
||||
Don't forget the PATH update if not done yet:
|
||||
|
||||
export PATH=/c/qt/tools/mingw492_32/bin:$PATH
|
||||
|
||||
Then:
|
||||
|
||||
cd c:/recolldeps
|
||||
tar xf path-to-tar-file
|
||||
cd xapian-core-1.4.1
|
||||
|
||||
- Edit common/safeunistd.h to neutralize the sleep() function definition as
|
||||
this conflicts with the definition which is part of recent mingw
|
||||
editions. Replace the "#ifdef __WIN32__" with "#if 0". This is
|
||||
already fixed in later Xapian versions
|
||||
|
||||
Then:
|
||||
|
||||
CPPFLAGS=-I/c/temp/zlib-1.2.8 LDFLAGS=-L/c/temp/zlib-1.2.8 ./configure
|
||||
make
|
||||
|
||||
== Recoll
|
||||
|
||||
You need to use the source from the repository, there is no release
|
||||
supporting Windows at the moment.
|
||||
|
||||
- If not already done, clone the recoll repository from:
|
||||
https://medoc@bitbucket.org/medoc/recoll to `C:/recoll`
|
||||
|
||||
- Start `QtCreator` and open
|
||||
`c:/recoll/src/windows/qmkrecoll/librecoll.pro`. At the bottom of the
|
||||
file, you may need to fix the locations for the xapian and zlib dlls.
|
||||
|
||||
- Build librecoll.pro
|
||||
|
||||
- Do the same (adjust locations and build) for:
|
||||
|
||||
c:/recoll/src/windows/qmkrecoll/rclstartw.pro
|
||||
c:/recoll/src/windows/qmkrecoll/recollindex.pro
|
||||
c:/recoll/src/windows/qmkrecoll/recollq.pro
|
||||
c:/recoll/src/qtgui/recoll-win.pro
|
||||
|
||||
|
||||
== Helper applications
|
||||
|
||||
There are a number of useful files stored in a BitBucket repository, you
|
||||
will need to clone it on the windows machine (the final script,
|
||||
mkinstdir.sh, expects C:/recolldeps as a cloned location).
|
||||
|
||||
https://medoc@bitbucket.org/medoc/recoll-windows-deps
|
||||
|
||||
== 7-zip
|
||||
|
||||
7-zip is used for all decompression tasks. Install it from
|
||||
http://www.7-zip.org/
|
||||
|
||||
== Python
|
||||
|
||||
All Recoll helper scripts (data extractors) are written in Python, and not
|
||||
yet compatible with Python3. You need to download and install Python 2.7
|
||||
from https://www.python.org/downloads/release/python-2710/
|
||||
|
||||
== Python modules
|
||||
|
||||
Some data formats need library modules not delivered as part of the base
|
||||
Python installation
|
||||
|
||||
=== libxml2/libxslt
|
||||
|
||||
The precompiled binary is from :
|
||||
http://users.skynet.be/sbi/libxml-python/
|
||||
http://users.skynet.be/sbi/libxml-python/binaries/libxml2-python-2.7.7.win32-py2.7.exe
|
||||
|
||||
The useful parts are stored in recoll-windows-deps repo
|
||||
|
||||
Slightly newer dlls, which should be compatible, here:
|
||||
https://www.zlatkovic.com/libxml.en.html
|
||||
|
||||
This will be copied into the installation by the mkinstdir.sh script.
|
||||
|
||||
=== mutagen
|
||||
|
||||
Download and extract mutagen from https://pypi.python.org/pypi/mutagen
|
||||
Then in the mutagen directory (e.g. C:/temp/mutagen-1.32 where it is
|
||||
expected by `mkinstdir.sh`):
|
||||
|
||||
python setup.py build
|
||||
|
||||
The module will be copied by mkinstdir.sh
|
||||
|
||||
=== epub
|
||||
|
||||
Download from: http://pypi.python.org/pypi/epub/
|
||||
|
||||
Extract, then execute the following in the extracted directory (e.g.:
|
||||
`C:/temp/epub-0.5.2` which is expected by `mkinstdir.sh`):
|
||||
|
||||
python setup.py
|
||||
|
||||
The module will be copied by mkinstdir.sh
|
||||
|
||||
=== pyexiv2
|
||||
|
||||
I did not attempt a build (needs boost-python, scons).
|
||||
Used an installer from http://tilloy.net/dev/pyexiv2/download.html
|
||||
|
||||
The resulting site-packages data is stored in the recolldeps
|
||||
repository and copied into the filters directory by the mkinstdir.sh
|
||||
script.
|
||||
|
||||
|
||||
== Non-Python helpers
|
||||
|
||||
== unrtf
|
||||
|
||||
The current unrtf sources can be built with MinGW.
|
||||
|
||||
hg clone http://hg.savannah.gnu.org/hgweb/unrtf/
|
||||
|
||||
cd c:/unrtf/Windows
|
||||
make -f Makefile.mingw
|
||||
|
||||
== antiword
|
||||
|
||||
Use the source from recoll-windows-deps (C:/recolldeps/antiword)
|
||||
|
||||
make -f Makefile.mingw.
|
||||
|
||||
== Poppler
|
||||
|
||||
Did not try to compile. Used the binaries from
|
||||
http://blog.alivate.com.au/poppler-windows/
|
||||
|
||||
There is a copy in the recoll-windows-deps repository, it will be copied by
|
||||
the mkinstdir.sh script.
|
||||
|
||||
== libwpd
|
||||
|
||||
We use the wpd2html tool from libwpd 0.10.0, unmodified. This depends on
|
||||
librevenge 0.0.1 which has been slightly modified to not depend on boost (a
|
||||
500 MB install if you can believe it). Both files can be found under the
|
||||
libwpd directory of the recoll-windows-deps repository.
|
||||
|
||||
mkdir c:/temp/libwpd
|
||||
cd c:/temp/libwpd
|
||||
|
||||
tar xf librevenge-0.0.1.jfd.tar.gz
|
||||
cd librevenge-0.0.1.jfd
|
||||
CPPFLAGS=-I/c/temp/zlib-1.2.8 LDFLAGS=-L/c/temp/zlib-1.2.8 configure --disable-tests --without-docs
|
||||
make
|
||||
|
||||
cd ..
|
||||
|
||||
tar xf /c/recolldeps/libwpd/libwpd-0.10.0.tar.gz
|
||||
cd libwpd-0.10.0
|
||||
REVENGE_CFLAGS=-Ic:/temp/libwpd/librevenge-0.0.1.jfd/inc \
|
||||
REVENGE_LIBS="-Lc:/temp/libwpd/librevenge-0.0.1.jfd/src/lib/.libs -lrevenge-0.0" \
|
||||
REVENGE_GENERATORS_CFLAGS=-Ic:/temp/libwpd/librevenge-0.0.1.jfd/inc \
|
||||
REVENGE_GENERATORS_LIBS="-Lc:/temp/libwpd/librevenge-0.0.1.jfd/src/lib/.libs -lrevenge-generators-0.0" \
|
||||
REVENGE_STREAM_CFLAGS=-Ic:/temp/libwpd/librevenge-0.0.1.jfd/inc \
|
||||
REVENGE_STREAM_LIBS="-Lc:/temp/libwpd/librevenge-0.0.1.jfd/src/lib/.libs -lrevenge-stream-0.0" \
|
||||
configure --without-docs
|
||||
make
|
||||
|
||||
== chm
|
||||
|
||||
This build uses a slightly modified pychm python modules: for
|
||||
simplification, the relevant C files from chmlib were included in the
|
||||
python module itself (in addition to its own C extension file).
|
||||
|
||||
The source package is inside the recoll-windows-deps repository as
|
||||
pychm-0.8.4.1-git.tar.gz. The build result is also stored, and will be used
|
||||
directly by the install building script, so the following instructions are
|
||||
for reference.
|
||||
|
||||
To build the pychm module:
|
||||
|
||||
cd c:/temp
|
||||
tar xf pychm-0.8.4.1-git.tar.gz
|
||||
cd pychm-0.8.4.1-git
|
||||
python setup.py build
|
||||
|
||||
Will probably complain about a missing vc++ compiler, and indicate where to
|
||||
download VC++ for Python 2.7 (an official Microsoft location). Do it, then
|
||||
repeat the command:
|
||||
|
||||
python setup.py build
|
||||
python setup.py bdist
|
||||
|
||||
This creates a zip file inside the dist subdirectory. The contents of this
|
||||
zip are extracted and the chm/ directory is stored in the
|
||||
recoll-windows-deps repo for convenience (under pychm/chm) and copied to
|
||||
the recoll install dir by the install script.
|
||||
|
||||
== Building the install directory
|
||||
|
||||
Once the builds above are performed, edit the mkinstdir.sh script to adjust
|
||||
the locations, and use it to build the installation directory. The
|
||||
innosetup script expects it to be c:/install/recoll
|
||||
|
||||
== Building the setup executable
|
||||
|
||||
Install Inno Setup and use src/windows/recoll-setup.iss to generate the
|
||||
installation executable.
|
||||
|
||||
|
|
@ -2,51 +2,6 @@
|
|||
Jean-Francois Dockes <jf@dockes.org>
|
||||
:toc:
|
||||
|
||||
== File name character case sensitivity
|
||||
|
||||
Recoll was born on Unix, on which file names are case-sensitive. At the
|
||||
moment this is also the case for path-related queries on Windows, including
|
||||
the drive letters.
|
||||
|
||||
When filtering results on location (e.g. with a 'dir:' clause), you need to
|
||||
enter all path elements as they appear in the URLs in result lists (and use
|
||||
forward slashes).
|
||||
|
||||
It is also advisable to enter configuration filenames with their actual
|
||||
case (e.g. _topdirs_).
|
||||
|
||||
I am looking into fixing this, but this made a bit complicated by non ASCII
|
||||
character sets issues.
|
||||
|
||||
== Using an alternate configuration directory
|
||||
|
||||
This tip is useful if you want to manage several configurations, or if you
|
||||
really have some reason to not let the configuration directory stay in its
|
||||
default location ($HOMEDIR/AppData/Local/Recoll). If you just have a
|
||||
storage issue and do not actually want to manage multiple configuration
|
||||
directories, you can more simply change the index storage location from the
|
||||
GUI 'Index Configuration' panel.
|
||||
|
||||
The easiest approach is to create a shortcut on the desktop and have it
|
||||
start the GUI with a '-c' option. For example, set the shortcut's 'Target'
|
||||
to something like:
|
||||
|
||||
----
|
||||
"C:\Program Files (x86)\Recoll\recoll.exe" -c c:/path/to/my/configdir
|
||||
----
|
||||
|
||||
_Do use forward slashes for the configuration directory path_. This will
|
||||
hopefully be fixed some day.
|
||||
|
||||
You will need to create the configuration directory, Recoll will not do it
|
||||
by itself. You can just leave it empty, Recoll will then propose to start
|
||||
the configuration editor.
|
||||
|
||||
You can find a more complete and general explanation about using shortcuts,
|
||||
for example http://www.rjlsoftware.com/support/faq/sa.cfm?q=6&n=61[on this
|
||||
page].
|
||||
|
||||
|
||||
== Checking that Python is in the PATH
|
||||
|
||||
Recoll input handlers are the programs which extract the documents text
|
||||
|
@ -84,6 +39,50 @@ You can also edit the environment variable directly:
|
|||
- Edit 'Path' inside 'System variables' and add:
|
||||
`C:\Python27\;C:\Python27\Scripts;` to it.
|
||||
|
||||
== Using an alternate configuration directory
|
||||
|
||||
This tip is useful if you want to manage several configurations, or if you
|
||||
really have some reason to not let the configuration directory stay in its
|
||||
default location ($HOMEDIR/AppData/Local/Recoll). If your concerns are only
|
||||
a bout storage space, and do not actually want to manage multiple
|
||||
configuration directories, you can more simply change the index storage
|
||||
location from the GUI 'Index Configuration' panel.
|
||||
|
||||
The easiest approach is to create a shortcut on the desktop and have it
|
||||
start the GUI with a '-c' option. For example, set the shortcut's 'Target'
|
||||
to something like:
|
||||
|
||||
----
|
||||
"C:\Program Files (x86)\Recoll\recoll.exe" -c c:/path/to/my/configdir
|
||||
----
|
||||
|
||||
_Do use forward slashes for the configuration directory path_. This will
|
||||
hopefully be fixed some day.
|
||||
|
||||
You will need to create the configuration directory, Recoll will not do it
|
||||
by itself. You can just leave it empty, Recoll will then propose to start
|
||||
the configuration editor.
|
||||
|
||||
You can find a more complete and general explanation about using shortcuts,
|
||||
for example http://www.rjlsoftware.com/support/faq/sa.cfm?q=6&n=61[on this
|
||||
page].
|
||||
|
||||
|
||||
== File name character case sensitivity
|
||||
|
||||
_This should be fixed as of the the November 2016 version. Please report
|
||||
the problem if you still see case sensitivity issues_
|
||||
|
||||
Recoll was born on Unix, on which file names are case-sensitive. At the
|
||||
moment this is also the case for path-related queries on Windows, including
|
||||
the drive letters.
|
||||
|
||||
When filtering results on location (e.g. with a 'dir:' clause), you need to
|
||||
enter all path elements as they appear in the URLs in result lists (and use
|
||||
forward slashes).
|
||||
|
||||
It is also advisable to enter configuration filenames with their actual
|
||||
case (e.g. _topdirs_).
|
||||
|
||||
I am looking into fixing this, but this made a bit complicated by non ASCII
|
||||
character sets issues.
|
||||
|
|
|
@ -2,55 +2,27 @@
|
|||
Jean-Francois Dockes <jf at dockes.org>
|
||||
:date:
|
||||
|
||||
:recollversion: 1.23.0-2477ad-20161115
|
||||
:recollversion: 1.23.0-2bfd80-20161115
|
||||
|
||||
image:recoll-windows10-thumb.png[link="recoll-windows10.png"]
|
||||
|
||||
Recoll for Windows was built on Windows 7, and tried on Windows 7 and
|
||||
10. It now seems quite stable (15 2016)
|
||||
10. It does not work on Windows XP.
|
||||
|
||||
Recoll is free and licensed under the GPL. You will be asked to accept the
|
||||
license during the installation. For a regular user, and in a nutshell, the
|
||||
license means that you are free to do what you want with the program (use,
|
||||
copy, share, etc.). If you are a developper and intend to modify and
|
||||
distribute the program, you probably know the GPL. Else you should read it.
|
||||
|
||||
If you like Recoll on Windows, please help with maintaining the application:
|
||||
distribute the program, you probably know the GPL, else you should read it.
|
||||
|
||||
If you use Recoll on Windows, please consider contributing to its development:
|
||||
image:/donations/btn_donate_LG.gif[link="/donations/index.html"]
|
||||
|
||||
Also, I would very much like to get some feedback from actual Windows users
|
||||
(I am only a visitor to Windows...). Is this useful at all{nbsp}? What would
|
||||
make it more useful{nbsp}? You can use the Disqus comments section at the bottom
|
||||
of this page, send an email, or use the
|
||||
https://bitbucket.org/medoc/recoll/issues[BitBucket Recoll issues tracker].
|
||||
== Installation
|
||||
|
||||
NOTE: Especially, I would like information about system compatibility. It
|
||||
seems that Recoll does not work on Windows XP, and there is little I can do
|
||||
about it. I know that it runs on Windows 7 32 bits, and Windows 10 64 bits
|
||||
(my two Virtualbox instances). I have a report that the installer sometimes
|
||||
crashes on Windows 7 64 bits (not always, I also have success reports). I
|
||||
would really like more data points. Please send me news of your success or
|
||||
failure.
|
||||
|
||||
NOTE: About the installer: this needs administrator rights, in order to
|
||||
install to `C:\Program Files`. If you want to install on a machine where
|
||||
you have no administrator rights, you can use the
|
||||
http://www.recoll.org/windows/recoll-archive-{recollversion}.7z[installation
|
||||
directory archive] instead and extract it anywhere, this works just the
|
||||
same (you will need the free http://www.7-zip.org/[7z] to extract it). If
|
||||
you are in this case, you can ignore the setup-related steps of the
|
||||
procedure of course.
|
||||
|
||||
|
||||
I have started a small link:recoll-windows-faq.html[Recoll on MS-Windows FAQ].
|
||||
|
||||
Procedure:
|
||||
|
||||
- Download the Recoll setup file from the
|
||||
- Download the
|
||||
http://www.recoll.org/windows/recoll-setup-{recollversion}.exe[Recoll
|
||||
web site], or (probably faster) from
|
||||
https://bitbucket.org/medoc/recoll/downloads/recoll-setup-{recollversion}.exe[BitBucket].
|
||||
setup file].
|
||||
|
||||
- Execute the setup file. This is a vanilla installer generated by Inno
|
||||
Setup, and it will ask the usual questions.
|
||||
|
@ -64,29 +36,49 @@ Procedure:
|
|||
http://www.7-zip.org/. This is only useful if you need to index files
|
||||
compressed with Unix methods (not needed for zip files).
|
||||
|
||||
NOTE: The installer needs administrator rights in order to install to
|
||||
`C:\Program Files`. If you want to install on a machine where you have no
|
||||
administrator rights, you can use the
|
||||
http://www.recoll.org/windows/recoll-archive-{recollversion}.7z[installation
|
||||
directory archive] instead and extract it anywhere, this works just the
|
||||
same (you will need the free http://www.7-zip.org/[7z] to extract it). If
|
||||
you are in this case, you can ignore the setup-related steps of the
|
||||
procedure of course.
|
||||
|
||||
== Configuration
|
||||
|
||||
- Start recoll. It will ask if you want to customize the configuration.
|
||||
The default is to index the content of your user directory. Then start
|
||||
indexing. This can take some time.
|
||||
- The default result list font is particularly ugly. Change it from
|
||||
`Preferences->GUI Configuration->Result List->Result List Font`
|
||||
|
||||
The default result list font is particularly ugly. Change it from
|
||||
`Preferences->GUI Configuration->Result List->Result List Font`
|
||||
|
||||
For those of you who would like to build themselves and possibly work on
|
||||
improving the Windows version, the link:recoll-mingw.html[build instructions].
|
||||
- Have a look at the
|
||||
https://www.lesbonscomptes.com/recoll/usermanual/webhelp/docs/index.html[Recoll
|
||||
manual] !
|
||||
- I have also started a small link:recoll-windows-faq.html[Recoll on
|
||||
MS-Windows FAQ].
|
||||
|
||||
== Support
|
||||
|
||||
Please use the
|
||||
https://bitbucket.org/medoc/recoll/issues[BitBucket Recoll issues tracker]
|
||||
for reporting problems, or contact me by email: jfd at recoll.org.
|
||||
|
||||
|
||||
== Known problems:
|
||||
|
||||
- Indexing is very slow, especially when using external commands (e.g. for
|
||||
PDF files). I don't know if this is a case of my doing something stupid,
|
||||
or if the general architecture is really bad fitted for windows. If
|
||||
or if the general architecture is really bad fitted for Windows. If
|
||||
someone with good Windows programming knowledge reads this, I'd be very
|
||||
interested by a discussion.
|
||||
interested by a discussion. Windows indexing can be ten times slower than
|
||||
the Linux version. The index formats are compatible, so, if you have
|
||||
shared Linux/Windows data, it's best to process it on Linux.
|
||||
|
||||
- Filtering by directory location ('dir:' clauses) is currently
|
||||
case-sensitive, including drive letters. This will hopefully be fixed in
|
||||
a future version.
|
||||
- Filtering by directory location ('dir:' clauses) used to be
|
||||
case-sensitive, including drive letters. This is hopefully fixed by the
|
||||
November 2016 version.
|
||||
|
||||
- Also, when filtering the search with a `dir:` clause, an absolute path
|
||||
should be specified as `/c/mydir` instead of `c:/mydir`
|
||||
|
@ -97,6 +89,12 @@ improving the Windows version, the link:recoll-mingw.html[build instructions].
|
|||
|
||||
== Change Log
|
||||
|
||||
Changes in 20161115
|
||||
|
||||
- File path names case sensitivity and other small path issues should be fixed.
|
||||
- Based on Xapian 1.4. New stemming languages are available (e.g. Arabic).
|
||||
- Fixed date display encoding issues.
|
||||
|
||||
Changes in 20160414
|
||||
|
||||
- The setup script has changed back to needing administrator rights,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue