From: Michal P. <Michal.Pryc@Sun.COM> - 2006-12-05 16:29:12
|
Hello, In the attachement there are several patches to build 70% of strigi on solaris. I have now some referencing errors, which I hope I will solve asap, but till this time, please review the patches and apply them to the svn. Those patches were *NOT* tested on GNU/Linux so be carefull ;-), but if something is working on forte than on GNU gcc should work as well (not vice versa) One comment, which causes many problems is concerning templates. The STL have some defect (number 181 mentioned by Andrew Koenig in 1999) which indicates that make_pair can make not obvious pair. so, when for example we have: struct A { int sth; }; struct B : public A { }; and than try to do sth. like this: B b; std::string s = "string"; std::pair<A,std::string> pa; pa = make_pair(b, s); than we can see that pa = make_pair(b, s); is making pair of pa<B,string> and assigning it to pair<A,string> which is not good, so forte compiler does not allow this. so the easiest solution is to: make_pair<const int, std::string>(b,s) In this in the file : src/xmlindexer/xmlindexwriter.h there is wrong line: d->values.insert(make_pair(fieldname, value)); which should be also changed (not in my patch set) There are another 2 patches needed for Solaris PrefixFilter which simply comments class and includes CLucene/search/PrefixQuery.h instead of PrefixFilter.h cause it is specified in CLucene header file, I mentioned about it in previous mail. -- cheers Michal Pryc |