problem with boost::shmem on Solaris 10 Sun Studio 11
I'm trying to use boost::shmem and I'm having trouble on Solaris. The same code works fine on Windows with VS8. I'm getting: Error: Redefining boost::shmem::detail::segment_manager<boost::shmem::detail::CharType, ... After use in boost::shmem::detail::segment_manager<char, boost::shmem::simple_seq_fit... The offending line in boost::shmem is typedef segment_manager<CharType, MemoryAlgorithm, IndexType> segment_manager; in boost::shmem::detail::segment_manager::index_config The code in my application is mpLast->mNext = reinterpret_case<my_list_node*>(mpSegment->construct<my_list_node>(boost ::shmem::anonymous_instance)()); whieh mpSegment is a segment_manager*. Any idea what is going on? -------------------- Trevor R.H. Clarke tclarke at ball.com <mailto:tclarke@ball.com> Ball Aerospace & Technologies Corp
Hi Clarke, I have no access to that platform, so it's difficult to know what's happening. Code should compile in gcc >= 3.4 and vc >= 7.1. However, it might be possible that defining segment_manager<...> as segment manager is not well received by Sun compiler. Can you try to change that line with typedef segment_manager<CharType, MemoryAlgorithm, IndexType> segment_manager_t; So will need to change also lines that refer to that typedef in the classes taking that index_config class (flat_map_index, I suspect) to make it compile. Let me know if you can try to guess that way. Apart from that, I would prefer if you start working with Interprocess instead of Shmem, because Shmem library is in standby mode and Interproces is going to be the official boost library. I would like to concentrate my efforts there and I think that you would prefer using the official library. You have an snapshot here: http://www.boost-consulting.com/vault/index.php?directory=Concurrent%20Progr... The latest version is in the Boost CVS. Anyway, I suspect that you will find a similar problem in Interprocess, so please let me know if that's the case. Regards, Ion
participants (2)
-
Clarke, Trevor
-
Ion Gaztañaga