doc
This commit is contained in:
parent
e749e72628
commit
8fa6085968
4 changed files with 103 additions and 99 deletions
|
@ -1,72 +0,0 @@
|
|||
= Building Recoll on Windows
|
||||
|
||||
The port of Recoll to Windows was begun using Microsoft VS 2015, and
|
||||
there are functional project files for recollindex and recollq in this
|
||||
directory.
|
||||
|
||||
However, no version of Qt supporting VS 2015 was available when needed
|
||||
(10-2015), so that the port was completed using the MinGW version of Qt.
|
||||
|
||||
At this point it is easiest to use MinGW for everything.
|
||||
|
||||
Both the GUI and the non-GUI parts (library, recollindex, recollq) are
|
||||
built using Qt qmake/qcreator projects:
|
||||
|
||||
windows/qmkrecoll/librecoll.pro
|
||||
windows/qmkrecoll/recollq.pro
|
||||
windows/qmkrecoll/recollindex.pro
|
||||
qtgui/recoll.pro
|
||||
|
||||
Only the names of the intermediary files (xapian and recoll libs) should
|
||||
need adjustment in the project files. Just open librecoll.pro in qtcreator,
|
||||
build it, see where it puts the lib, and adjust the other files.
|
||||
|
||||
== Walkthrough
|
||||
|
||||
Here follows a tentative recipee for building recoll on windows 7. This was
|
||||
reconstructed after actually doing it, and not tried again on a pristine
|
||||
system, so there may be things missing
|
||||
|
||||
- Install Qt 5.x, use the MinGW binary version
|
||||
|
||||
- Install the current version of MinGW, possibly check compatibility with
|
||||
the one which comes with Qt (versions not too far away). The reason for
|
||||
doing this is that the Qt copy does not come with msys, which is
|
||||
convenient for working with non-qmake projects (zlib and Xapian).
|
||||
|
||||
- Start a command window with the appropriate MinGW/Msys environment (use
|
||||
MinGW/msys/x.x/msys.bat). All the following is done from the msys window
|
||||
(so that commands like tar etc. are available). Except for the
|
||||
qt-creator parts of course.
|
||||
|
||||
- Extract zlib (use a tar distrib and msys tar).
|
||||
- From the top of the extracted zlib tree, as from instructions inside
|
||||
Makefile.gcc:
|
||||
make -fwin32/Makefile.gcc
|
||||
make test testdll -fwin32/Makefile.gcc
|
||||
|
||||
- Extract xapian
|
||||
- Configure with:
|
||||
LDFLAGS=-Lc:/recolldeps/zlib-1.2.8 \
|
||||
CPPFLAGS=-Ic:/recolldeps/zlib-1.2.8 \
|
||||
./configure
|
||||
(Change according to where you built zlib, of course).
|
||||
- make
|
||||
- This will produce .libs/libxapian-22.dll which I just used in the recoll
|
||||
.pro files and also copied into the install bin directory.
|
||||
|
||||
- Then update the .pro files with the Xapian location (includes and lib)
|
||||
- Build librecoll.pro
|
||||
- Update the other project files with the librecoll location
|
||||
- Build them
|
||||
- Update the windows/mkinstdir.sh with the actual locations of the libs etc.
|
||||
|
||||
Curiously, there does not seem to be a need to copy zlib1.dll to the
|
||||
install dir ???
|
||||
|
||||
Then build unrtf and antiword (or get them from somewhere...). Update, then
|
||||
finally run mkinstdir.sh
|
||||
|
||||
You should have a working recoll installation.
|
||||
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
.txt.html:
|
||||
asciidoc $<
|
||||
|
||||
all: recoll-mingw.html
|
||||
all: recoll-mingw.html recoll-windows.html
|
||||
|
||||
clean:
|
||||
rm -f *.html
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
= Building Recoll on Microsoft Windows MinGW
|
||||
= Building Recoll on Microsoft Windows with MinGW
|
||||
|
||||
This document describes building a Recoll distribution, starting from a
|
||||
pristine Windows machine, using the http://www.mingw.org/[MinGW] port of gcc
|
||||
|
@ -15,11 +15,11 @@ 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
|
||||
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
|
||||
export PATH=/c/qt/tools/mingw492_32/bin:$PATH
|
||||
|
||||
== Tortoise HG
|
||||
|
||||
|
@ -49,10 +49,14 @@ 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
|
||||
export PATH=c:/qt/tools/mingw492_32/bin:$PATH
|
||||
tar xzf path-to-tar-file
|
||||
cd zlib-1.2.8
|
||||
make -f win32/Makefile.gcc
|
||||
|
@ -62,6 +66,12 @@ Then, from an MSYS command window (see above):
|
|||
Download from:
|
||||
http://oligarchy.co.uk/xapian/1.2.21/xapian-core-1.2.21.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.2.21
|
||||
|
@ -73,8 +83,7 @@ http://oligarchy.co.uk/xapian/1.2.21/xapian-core-1.2.21.tar.xz
|
|||
|
||||
Then:
|
||||
|
||||
export PATH=c:/qt/tools/mingw492_32/bin:$PATH
|
||||
CPPFLAGS=-IC:/temp/zlib-1.2.8 LDFLAGS=-Lc:/temp/zlib-1.2.8 ./configure
|
||||
CPPFLAGS=-I/c/temp/zlib-1.2.8 LDFLAGS=-L/c/temp/zlib-1.2.8 ./configure
|
||||
make
|
||||
|
||||
== Recoll
|
||||
|
@ -85,13 +94,14 @@ 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.
|
||||
- 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
|
||||
|
@ -114,7 +124,7 @@ 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 install and download Python 2.7
|
||||
yet compatible with Python3. You need to download and install Python 2.7
|
||||
from https://www.python.org/downloads/release/python-2710/
|
||||
|
||||
== Python modules
|
||||
|
@ -138,43 +148,48 @@ 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.31):
|
||||
Then in the mutagen directory (e.g. C:/temp/mutagen-1.31 where it is
|
||||
expected by `mkinstdir.sh`):
|
||||
|
||||
python setup.py build
|
||||
|
||||
=== 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 recoll-windows-deps
|
||||
directory and copied into the filters directory by the mkinstdir.sh script
|
||||
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):
|
||||
`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
|
||||
|
||||
I initially built unrtf with VS 2015, and I was too lazy to do it again
|
||||
with mingw. The project files are in the Windows directory in the official
|
||||
repository:
|
||||
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/unrtf)
|
||||
Use the source from recoll-windows-deps (C:/recolldeps/antiword)
|
||||
|
||||
make -f Makefile.mingw.
|
||||
|
||||
|
@ -188,7 +203,5 @@ the mkinstdir.sh 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
|
||||
|
||||
|
|
63
website/pages/recoll-windows.txt
Normal file
63
website/pages/recoll-windows.txt
Normal file
|
@ -0,0 +1,63 @@
|
|||
= Trying out Recoll on Windows
|
||||
|
||||
The Windows port of Recoll has reached a point where it can be tested. At
|
||||
least, it will not break your system, and it does not crash too often.
|
||||
|
||||
It was only built and tried on Windows 7.
|
||||
|
||||
We would be very eager to get some feedback from some actual Windows user
|
||||
(I am only a visitor to Windows...). Is this useful at all ? What would
|
||||
make more useful ?
|
||||
|
||||
There is no installer for the moment, the program and its auxiliary files
|
||||
are stored in a Zip file. This is quite big, because it contains a good
|
||||
part of the Qt 5.5.0 dlls (I can't produce a static build because of WebKit).
|
||||
|
||||
The Zip creates a `recoll` directory. As far as I know, there is no
|
||||
assumption where it should reside, I use `c:/recoll`, but anywhere
|
||||
else should be ok.
|
||||
|
||||
http://www.lesbonscomptes.com/recoll/windows/[Download directory]
|
||||
|
||||
Besides extracting the Zip, you need to:
|
||||
|
||||
- Download and install Python 2.7 from
|
||||
https://www.python.org/downloads/release/python-2710/. Most Recoll data
|
||||
extraction filters have at least a Python part, so you will not be able
|
||||
to do much without this.
|
||||
- Download and install the 7-zip program from http://www.7-zip.org/. This
|
||||
is only useful if you need to index compressed files.
|
||||
|
||||
- Update your PATH variable with the locations of the `python` and `7z`
|
||||
executables.
|
||||
|
||||
* From Windows Explorer, click `Computer` in the left pane, then
|
||||
`System Properties` from the top, then `Avanced System Settings` from
|
||||
the left pane, then `Environment Variables` at the bottom of the
|
||||
popup.
|
||||
* Check that the locations for `python` (`C:\Python27`), and `7z`
|
||||
(`C:\Program Files\7-Zip`) are either in the User or System PATH
|
||||
variable. If they are not in there already , update or create the user
|
||||
PATH and add them as: `C:\Python27;C:\Program Files\7-Zip` (use a
|
||||
semi-colon as separator).
|
||||
|
||||
|
||||
Know problems:
|
||||
|
||||
- The default result list font is particularly ugly. Change it from
|
||||
`Preferences->GUI Configuration->Result List->Result List Font`
|
||||
|
||||
- The GUI sometimes crashes when you click `Preview` or `Open`. This does
|
||||
not occur often, and usually for one of the first tries after starting
|
||||
the program. Don't despair.
|
||||
|
||||
- There is no real-time or scheduled indexing as on Linux. For now, you
|
||||
create and update the index by using the `File` menu (or executing
|
||||
`recollindex.exe` from a command window).
|
||||
|
||||
- I'm quite convinced that there are still problems with file path case
|
||||
insensitivity. The best approach when setting up the config is
|
||||
to use the exact case for now.
|
||||
|
||||
- I'll add the others here as they are found ...
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue