Giter Club home page Giter Club logo

strigi's Introduction

==Strigi On Windows==


Microsoft Visual compiling instructions
=======================================

I have managed to get Strigi to compile with Microsoft Visual (6 and 8/.NET). So far I have only ported the CLucene indexer since my interest in Strigi is as an indexing application.

Steps to get it to work:

1. I had to get all the dependencies from the http://gnuwin32.sourceforge.net/packages.html website.
I found putting all the libraries into 1 folder resembling linux structure was the easiest:

package
    \bin
        bzip2.dll, magic1.dll, zlib1.dll, etc
    \include
        bzlib.h, iconv.h, magic.h, zconf.h, zlib.h, etc
    \lib
        bzip2.lib, iconv.lib, etc

Basically you just need to download each package that cmake requests. If there is enough interest, i may make my dependencies directory available somewhere so that you can get started quicker.

You'll also need to download CLucene from http://clucene.sourceforge.net. You can either:

* build CLucene - you should build with Unicode, multithreaded and use the same type of runtime libraries as strigi
OR
* modify the build once cmake is finished and add the clucene CLMonolithic.cpp to luceneindexer (or whatever binary you end up making). This can be easier since it's a bit quicker and easier to match the library's runtime libraries, etc.

2. Get CMake running. Select the strigi folder to configure, and where to build the binaries. Then hit configure, it will ask what you want to build for, i used Visual Studio 6, but I suppose other compilers might work too.
3. Almost immediately it will complain about missing dependencies. Don't worry, this is because you haven't specified the dependencies folder. Under STRIGI_EXTRA_(INC|LIB)_DIRECTORY set the appropriate paths - also add the src directory of the clucene package to the includes directory (seperate by colon ;).
4. Turn off ENABLE_DBUS in the Cmake config, i haven't tried getting it to work yet (though you might be able to). 
5. Set the EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH, this will make things easier since everything won't be spread out.
6. Hit Ok and you should have all your libraries built.

I haven't got all the packages running yet, but there are a few that you should compile straight away. Start with streams and streamindexer, these are the core of strigi.

Now the actual indexer... luceneindexer. Hopefully its just a matter of compiling it, otherwise let me know :)

The next aim is to get the daemon and the inotify equivalent stuff working


Mingw compiling instructions
============================

1. Install all the dependencies from the http://gnuwin32.sourceforge.net/packages.html 
   website into a common directory, which will be used in step 5. 
2. download and install recent cmake version from http://www.cmake.org 
3. download CLucene from http://clucene.sourceforge.net and build it. See the msvc section for the 
   available options 
4. create build dir for example <your buildroot>\strigi-mingw-build
5. enter the build dir and run 
    cmake -G "MinGW Makefiles" <strigi-source-root> -DCMAKE_INCLUDE_PATH=<gnuwin32-installation-root>\include -DCMAKE_LIBRARY_PATH=<gnuwin32-installation-root>\lib 
6. run 
     mingw32-make install 
   to compile and install strigi into <ProgramFiles>/strigi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.