From: Lien, J. <jen...@ca...> - 2011-02-03 06:53:52
|
All, I’ve recently worked on getting CLucene building and running on Solaris 10 using Sun Studio 12.1 compilers. To get this (almost) done, I’ve had to do a few fixes. Before I submit a patch I would like to discuss the proposed changes: 1) Usage of the _T macro: The STL version used default by the 12.1 compiler uses _T heavily for internal template types and gets confused by the macro expansion SYMBOL__T defined in src/shared/CMakeLists.txt. Replacing _T with e.g. clT makes the compiler compile almost all the code. I'm aware that client code might be using this macro already, but to be compatible with 12.1 (both default STL version as well as the --stlport4 version) I think this needs to be fixed. 2) Updating use of the _CLFINALLY(...) macro. Removed space (_CLFINALLY (...) to _CLFINALLY(...) 3) Change the type used for insertion in the fieldSelections map (FieldSelector.cpp, line 60), now using FieldSelectionType::value_type 4) Added macro for return value in searchDocs (TestIndexSearcher.cpp). Compiler complaints. 5) Added copy constructor and assignment operator in ArrayBase (Array.h). The lack of these made both cl_demo and cl_test to fail on solaris. Quite obvious actually - and scary since the Win32 and Linux builds works perfectly without this fix. (Evaluate usage in DocumentsWriterThreadState.cpp) After all of these changes, I'm able to compile, run cl_demo and cl_test on Solaris 10, Win32 and Linux using the same sources. However, the sort tests fails on Solaris, this I'll need to look more into. Regards /jens -- Jens Lien Managing Consultant Capgemini Norway Capgemini is a trading name used by the Capgemini Group of companies which includes Capgemini Norge AS, a company registered in Norway (number 943574537) whose registered office is at Hoffsveien 1 D - Pb. 475, Skøyen – 0214 Oslo. This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message. |