There is no MSBuild on *nix environments.  There is NAnt on Ubuntu
Linux, but not many projects are using it and it may not be present on
other *niix platforms.  There is also mdtool which is part of
MonoDevelop that could be used for building Lucene.Net on Linux.

One thing is sure: I won't use the above tools because
 1) I'm not sure that they are present on a wide range of platforms
 2) my Makefile already does respects the .csproj file and
 3) building works out of the box by typing "make".

I submit the Makefile to JIRA if none of the lead developers here disagree.

On Tue, Feb 17, 2009 at 9:10 PM, Andy Pook <andy.p...@gmail.com> wrote:
> The problem is that not all the cs files should be included. ie
> DocumentWriter.cs is _not_ included in the VisualStudio project.
> Certainly a PITA for anyone not using VS or SharpDevelop (which
> understands csproj files)
>
> However, csproj files are just xml so a fairly simple XPath on the
> csproj file will render a list of the files that are included. You
> should be able to feed that list as a file into gmcs.
>
> The xpath is "/Project/ItemGroup/Compile/@Include" (you will need to
> be careful with specifying the correct namespace to
> (xmlns="http://schemas.microsoft.com/developer/msbuild/2003";).
>
> I have attached the list as an attachment.
>
> warning: I do not have a linux + mono machine to test this with right
> now so YMMV
>
> Hope this helps you.
>
> Regards,
>  Andy
>
> On Tue, Feb 17, 2009 at 7:09 PM, L�szl� Monda <l...@monda.hu> wrote:
>
>> For those of you who have any doubts about Mono I must say that it
>> works perfectly well.  It's getting more and more popular, it's rock
>> stable and it even outperforms MS .NET in some areas.  There are a
>> number of big and popular projects that are using it right now.  I
>> don't wanna make a debate about it, just want to make things clear.
>>
>> Command line compilation might seem unusual and there are other ways
>> even on Linux, but it always worked well for me.  The current SVN
>> trunk might be 2.3.1 or anything else, but it's clearly broken right
>> now.  It's not that I've included some files that I shouldn't have
>> been, but there are some required files (like DocumentWriter.cs) that
>> are clearly broken.
>>
>> I'd really appreciate if developers could tag the appropriate versions
>> so that one could check out the preferred version and build it without
>> errors.
>>
>> I hope that someone can help me to build Lucene.Net because otherwise
>> I'll have to port my little application to Java to use Java Lucene
>> which I wouldn't prefer since I really love the .NET platform.
>>
>> On Tue, Feb 17, 2009 at 6:41 PM, Laimonas Simutis <lai...@gmail.com>
>> wrote:
>> > On Tue, Feb 17, 2009 at 11:31 AM, Ciaran Roarty <ciaran.roa...@gmail.com>
>> wrote:
>> >> So that could be built on Windows and used with Mono?
>> >
>> > Would not recommend doing that. I have seen it work, but more than
>> > often, at least for my projects, I was getting mysterious crashes that
>> > would go away after recompiling with mono.
>> >
>> > I personally haven't tried compiling lucene.net with mono, and cannot
>> > try it right now, but could give it a shot later on in the evening...
>> >
>> >
>> >
>> >>
>> >> On 17 Feb 2009, at 17:26, Laimonas Simutis <lai...@gmail.com> wrote:
>> >>
>> >>> On Tue, Feb 17, 2009 at 11:02 AM, DIGY <d...@apache.org> wrote:
>> >>>>
>> >>>> Current version of Lucene.Net in svn-trunk (2.3.1) is stable and can
>> be
>> >>>> compiled without any error.
>> >>>> Use project/solution file to compile the project. I personally use
>> Visual
>> >>>> C# 2005 Express Edition.  You will get thousands of warnings about
>> unused
>> >>>> variables or XML documentation but it is OK.
>> >>>
>> >>> Yeah, but it looks like he is using mono c# compiler, which basically
>> >>> tries to build all .cs files in the directory (I think). Maybe there
>> >>> are some left over, undeleted files hanging around in directories that
>> >>> are not part of VS IDE project file.
>> >>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>>>
>> >>>> DIGY
>> >>>>
>> >>>>
>> >>>>
>> >>>> -----Original Message-----
>> >>>> From: L�szl� Monda [mailto:l...@monda.hu]
>> >>>> Sent: Tuesday, February 17, 2009 5:53 PM
>> >>>> To: lucene-net-user@incubator.apache.org
>> >>>> Subject: Building Lucene.Net from SVN
>> >>>>
>> >>>> I've checked out the latest revision lately, then tried to build
>> >>>> Lucene by using the following command:
>> >>>>
>> >>>> $ gmcs -t:library -r:System.Configuration `find Lucene.Net -name
>> >>>> '*.cs' ! -name RemoteSearchable.cs -type f` -out:Lucene.Net.dll
>> >>>>
>> >>>> Here is what I got:
>> >>>>
>> >>>> Lucene.Net/Analysis/Standard/TokenMgrError.cs(49,18): error CS8025:
>> >>>> Parsing error
>> >>>> Lucene.Net/Index/DocumentWriter.cs(126,57): error CS8025: Parsing
>> error
>> >>>> Lucene.Net/Index/SegmentReade-2r.cs(32,22): error CS0101: The
>> >>>> namespace `Lucene.Net.Index' already contains a definition for
>> >>>> `SegmentReader'
>> >>>> Lucene.Net/Index/SegmentReader.cs(34,22): (Location of the symbol
>> >>>> related to previous error)
>> >>>> Compilation failed: 3 error(s), 0 warnings
>> >>>>
>> >>>> I removed SegmentReade-2r.cs, fixed the messed up comments in
>> >>>> TokenMgrError.cs and DocumentWriter.cs and tried again.  Here's the
>> >>>> result:
>> >>>>
>> >>>> Lucene.Net/Document/DateTools.cs(109,41): warning CS1717: Assignment
>> >>>> made to same variable; did you mean to assign something else?
>> >>>> Lucene.Net/Document/DateTools.cs(116,41): warning CS1717: Assignment
>> >>>> made to same variable; did you mean to assign something else?
>> >>>> Lucene.Net/Document/DateTools.cs(123,41): warning CS1717: Assignment
>> >>>> made to same variable; did you mean to assign something else?
>> >>>> Lucene.Net/Document/DateTools.cs(130,41): warning CS1717: Assignment
>> >>>> made to same variable; did you mean to assign something else?
>> >>>> Lucene.Net/Document/DateTools.cs(137,41): warning CS1717: Assignment
>> >>>> made to same variable; did you mean to assign something else?
>> >>>> Lucene.Net/Document/DateTools.cs(83,55): warning CS0219: The variable
>> >>>> `cal' is assigned but its value is never used
>> >>>> Lucene.Net/Document/DateTools.cs(290,55): warning CS0219: The variable
>> >>>> `cal' is assigned but its value is never used
>> >>>> Lucene.Net/Store/LockStressTest.cs(65,49): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Store/LockStressTest.cs(75,67): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Store/LockStressTest.cs(79,60): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Store/LockStressTest.cs(83,49): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Store/LockStressTest.cs(114,66): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Store/FSDirectory.cs(337,91): warning CS0168: The variable
>> >>>> `e' is declared but never used
>> >>>> Lucene.Net/Store/FSDirectory.cs(534,54): warning CS0219: The variable
>> >>>> `generatedAux' is assigned but its value is never used
>> >>>> Lucene.Net/Search/FilterManager.cs(270,92): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Search/FieldCacheImpl.cs(482,87): warning CS0168: The
>> >>>> variable `nfe3' is declared but never used
>> >>>> Lucene.Net/Search/FieldCacheImpl.cs(475,79): warning CS0168: The
>> >>>> variable `nfe1' is declared but never used
>> >>>> Lucene.Net/Search/ParallelMultiSearcher.cs(101,84): warning CS0168:
>> >>>> The variable `ie' is declared but never used
>> >>>> Lucene.Net/Search/ParallelMultiSearcher.cs(153,84): warning CS0168:
>> >>>> The variable `ie' is declared but never used
>> >>>> Lucene.Net/Search/Function/DocValues.cs(143,72): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Index/SegmentInfos.cs(401,54): warning CS0168: The variable
>> >>>> `e' is declared but never used
>> >>>> Lucene.Net/Index/SegmentInfos.cs(660,102): warning CS0168: The
>> >>>> variable `err2' is declared but never used
>> >>>> Lucene.Net/Index/SegmentInfos.cs(673,116): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Index/MultiReader.cs(182,86): warning CS0168: The variable
>> >>>> `ignore' is declared but never used
>> >>>> Lucene.Net/Index/DocumentWriter.cs(393,82): error CS1061: Type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for
>> >>>> `OpenDocument' and no extension method `OpenDocument' of type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing
> a
>> >>>> using directive or an assembly reference?)
>> >>>> Lucene.Net/Index/DocumentWriter.cs(395,74): error CS1061: Type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for
>> >>>> `OpenField' and no extension method `OpenField' of type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing
> a
>> >>>> using directive or an assembly reference?)
>> >>>> Lucene.Net/Index/DocumentWriter.cs(399,74): error CS1061: Type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for
>> >>>> `CloseField' and no extension method `CloseField' of type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing
> a
>> >>>> using directive or an assembly reference?)
>> >>>> Lucene.Net/Index/DocumentWriter.cs(402,90): error CS1061: Type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for
>> >>>> `IsFieldOpen' and no extension method `IsFieldOpen' of type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing
> a
>> >>>> using directive or an assembly reference?)
>> >>>> Lucene.Net/Index/DocumentWriter.cs(404,66): error CS1061: Type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for
>> >>>> `AddTerm' and no extension method `AddTerm' of type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing
> a
>> >>>> using directive or an assembly reference?)
>> >>>> Lucene.Net/Index/DocumentWriter.cs(408,58): error CS1061: Type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' does not contain a definition for
>> >>>> `CloseDocument' and no extension method `CloseDocument' of type
>> >>>> `Lucene.Net.Index.TermVectorsWriter' could be found (are you missing
> a
>> >>>> using directive or an assembly reference?)
>> >>>> Lucene.Net/Index/IndexFileDeleter.cs(177,96): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Index/IndexFileDeleter.cs(221,62): warning CS0168: The
>> >>>> variable `e' is declared but never used
>> >>>> Lucene.Net/Index/MultiSegmentReader.cs(61,78): warning CS0168: The
>> >>>> variable `ignore' is declared but never used
>> >>>> Lucene.Net/Index/MultiSegmentReader.cs(161,94): warning CS0168: The
>> >>>> variable `ignore' is declared but never used
>> >>>> Compilation failed: 6 error(s), 28 warnings
>> >>>>
>> >>>> I don't wanna hack Lucene just to build it and I cannot use the latest
>> >>>> build because it is 14 months old and works horribly slowly.  I'm
>> >>>> extremely disappointed about the current state of Lucene.Net.
>> >>>>
>> >>>> Anybody has any suggestion how to build Lucene.Net from the SVN?
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> On Mon, Feb 16, 2009 at 11:04 PM, Ron Grabowski <
>> rongrabow...@yahoo.com>
>> >>>> wrote:
>> >>>>>
>> >>>>> What version of Lucene.net are you using? I found that when I built
>> the
>> >>>>> latest version from source the index building was blazingly fast
>> compared to
>> >>>>> the latest binaries on the website.
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> ----- Original Message ----
>> >>>>> From: L�szl� Monda <l...@monda.hu>
>> >>>>> To: lucene-net-user@incubator.apache.org
>> >>>>> Sent: Monday, February 16, 2009 4:18:35 PM
>> >>>>> Subject: IndexWriter.AddDocument is slow
>> >>>>>
>> >>>>> Hi List,
>> >>>>>
>> >>>>> It takes pretty long time to index documents using Lucene.Net.
> It
>> >>>>> takes about 3 seconds to add thounsand documents to the index.
> I've
>> >>>>> used Java Lucene in the past and according to my memories indexing
>> >>>>> should be about 20 times faster.
>> >>>>>
>> >>>>> Here's the relevant code:
>> >>>>>
>> >>>>>          IndexWriter index_writer = new IndexWriter("index", new
>> >>>>> StandardAnalyzer(), true);
>> >>>>> //            index_writer.SetMergeFactor(10000);
>> >>>>> //            index_writer.SetMaxMergeDocs(10000);
>> >>>>> //            index_writer.SetMaxBufferedDocs(10000);
>> >>>>>          ExecuteSqlQuery("SELECT artist, title FROM songname");
>> >>>>>          int count = 0;
>> >>>>>          while (reader.Read()) {
>> >>>>>              if (count > 0 && count%1000 == 0) {
>> >>>>>                  Console.WriteLine(count);
>> >>>>>              }
>> >>>>>              Document document = new Document();
>> >>>>>              document.Add(new Field("artist",
>> >>>>> reader.GetString("artist"), Field.Store.YES, Field.Index.TOKENIZED));
>> >>>>>              document.Add(new Field("title",
>> >>>>> reader.GetString("title"), Field.Store.YES, Field.Index.TOKENIZED));
>> >>>>>              index_writer.AddDocument(document);
>> >>>>>              count++;
>> >>>>>          }
>> >>>>>
>> >>>>> When decommenting the commented lines indexing gets about 2x faster,
>> >>>>> but it's not really significant.
>> >>>>>
>> >>>>> I'd really appreciate your insights about this speed issue.
>> >>>>>
>> >>>>> Thanks in advance!
>> >>>>>
>> >>>>> --
>> >>>>> Laci  <http://monda.hu>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Laci  <http://monda.hu>
>> >>>>
>> >>>>
>> >>>>
>> >>
>> >
>>
>>
>>
>> --
>> Laci  <http://monda.hu>
>>
>



-- 
Laci  <http://monda.hu>

Reply via email to