Boost logo

Boost Users :

From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2006-09-20 11:10:33


Clarke, Trevor wrote:
> I need to use shared memory in an application on Windows and Solaris so
> I’ve grabbed boost::shmem 0.93. It works fine on Windows but fails to
> compile on Solaris 10/SunPro 11. Has anybody had success on Solaris? I
> get the following errors when I try to compile.

Shmem was only tested with gcc/mingw and msvc although it shouldn't have
many problems with other compliant compilers. Unfortunately I have no
access to the SunPro compiler so I'm afraid I can't do much to solve
your error.

Anyway, I recommend you to use Boost.Interprocess, since Shmem has
morphed into Interprocess after the review process. It's in the
Vault/Concurrent Programming directory and also in the Boost CVS. You
surely will have problems with SunPro, but Shmem is just in maintaining
mode, whereas all my efforts are now in Interprocess.

Regards,

Ion

>
> “boost/shmem/detail/segment_manager.hpp", line 253: Error: Redefining
> boost::shmem::detail::segment_manager<boost::shmem::detail::CharType,
> boost::shmem::detail::MemoryAlgorithm,
> boost::shmem::detail::IndexType<boost::shmem::detail::IndexConfig>>
> after use in boost::shmem::detail::segment_manager<char,
> boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
> boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr>>,
> boost::shmem::flat_map_index<boost::shmem::IndexConfig>>::index_config<char>.
>
> "boost/shmem/indexes/flat_map_index.hpp", line 29: Where: While
> specializing "boost::shmem::detail::segment_manager<char,
> boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
> boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr>>,
> boost::shmem::flat_map_index<boost::shmem::IndexConfig>>::index_config<char>".
>
> "boost/shmem/indexes/flat_map_index.hpp", line 29: Where:
> Specialized in
> boost::shmem::flat_map_index_aux<boost::shmem::detail::segment_manager<char,
> boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
> boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr>>,
> boost::shmem::flat_map_index<boost::shmem::IndexConfig>>::index_config<char>>.
>
> "boost/shmem/indexes/flat_map_index.hpp", line 45: Where:
> Specialized in
> boost::shmem::flat_map_index<boost::shmem::detail::segment_manager<char,
> boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
> boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr>>,
> boost::shmem::flat_map_index<boost::shmem::IndexConfig>>::index_config<char>>.
>
> "boost/shmem/detail/segment_manager.hpp", line 1046: Where:
> Specialized in boost::shmem::detail::segment_manager<char,
> boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
> boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr>>,
> boost::shmem::flat_map_index<boost::shmem::IndexConfig>>::header_t.
>
> "boost/shmem/detail/segment_manager.hpp", line 1053: Where:
> Specialized in boost::shmem::detail::segment_manager<char,
> boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
> boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr>>,
> boost::shmem::flat_map_index<boost::shmem::IndexConfig>>.
>
> "boost/shmem/detail/named_object_impl.hpp", line 73: Where:
> Specialized in boost::shmem::detail::basic_named_object_impl<char,
> boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
> boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr>>,
> boost::shmem::flat_map_index<boost::shmem::IndexConfig>>.
>
> "boost/shmem/named_shared_object.hpp", line 42: Where: Specialized
> in boost::shmem::basic_named_shared_object<char,
> boost::shmem::simple_seq_fit<boost::shmem::shared_mutex_family,
> boost::shmem::offset_ptr<void, boost::shmem::offset_1_null_ptr>>,
> boost::shmem::flat_map_index<boost::shmem::IndexConfig>>.
>
> "Signaling.h", line 52: Where: Specialized in non-template code.
>
> 1 Error(s) and 1 Warning(s) detected.
>
>
>
> The offending bit of code is:
>
> void sendPathAndName(std::string &path, std::string &name,
> boost::shmem::named_shared_object *pSegment)
>
> {
>
> if(mpPath != NULL)
>
> {
>
> pSegment->deallocate(mpPath.get()); // ß error
>
> }
>
>
>
> Where mpPath is a boost::shmem::offset_ptr<char> that was created with
> pSegment->allocate()
>
> --------------------
>
> Trevor R.H. Clarke
>
> tclarke at ball.com <mailto:tclarke_at_[hidden]>
>
> Ball Aerospace & Technologies Corp
>
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net