On Thu, Jun 21, 2007 at 12:49:27PM -0400, Benson Margulies wrote:
Have you considered the suggestion by Zeljko Vrba on another post?
"Why are you using -D_STL=std ? Try to compile with -library=stlport4 instead."
[BIM] -library=stlport4 eliminates the error. Sadly, we are trying to add boost to a very large body of code that is not compiled with -library=stlport4, and we cannot make that change quickly or perhaps at all. Removing the -D_STL=std has no effect, as I expected, one way or the other. I don't know about you, but the error I'm seeing ('Could not find <some complex multi_index PT>') doesn't make a lot of intuitive sense as being sensitive to the question of which STL we are using.
[BIM] Zeljko, do you know anything about this that might suggest a line of patching of the boost code to compensate for what's different between the two?
As far as I remember from Sun's manuals, I'm afraid that there is no line of patching. Sun's default STL (without -library=stlport4 switch) is incomplete. Sun will not and cannot make it complete because it would break backward compatibility with existing (object and source) code. Mixing code compiled with different STL versions (Sun's and STLport) will most likely have disastrous consequences. If you have the source to all existing code, your best bet would be to try to recompile it with stlport4 and see what happens. I can only give you further pointers where you might be able to dig out something by yourself: http://developers.sun.com/sunstudio/compilers_index.html (Chapters 12 and 13 in Part III "Libraries") http://blogs.sun.com/sga/ http://blogs.sun.com/x86be/