Boost logo

Boost Users :

Subject: Re: [Boost-users] compatibility of boost 1.39
From: manish4gupta (manish_at_[hidden])
Date: 2009-10-01 22:39:30


I have updated my compiler to 4.1.2
g++ -v
Using built-in specs.
Target: ia64-unknown-linux-gnu
Configured with: ./configure --prefix=/usr/local/
Thread model: posix
gcc version 4.1.2
still i am using boost 1.39
Following program is getting compiled now but when i run it is is getting
hang.

#include <boost/interprocess/managed_shared_memory.hpp>
#include <boost/interprocess/allocators/allocator.hpp>
#include <boost/interprocess/containers/map.hpp>
#include <boost/interprocess/containers/string.hpp>
#include <iostream>

using namespace boost::interprocess;

//Typedefs of allocators and containers
typedef managed_shared_memory::segment_manager segment_manager_t;
typedef allocator<void, segment_manager_t> void_allocator;
typedef allocator<char, segment_manager_t> char_allocator;
typedef basic_string<char, std::char_traits<char>, char_allocator>
char_string;

//Definition of the map holding a string as key and complex_data as mapped
type
typedef std::pair<const char_string, int> map_value_type;
typedef allocator<map_value_type, segment_manager_t>
map_value_type_allocator;
typedef map< char_string, int, std::less<char_string>,
map_value_type_allocator> complex_map_type;

int main ()
{
   shared_memory_object::remove("MySharedMemory");

   //Create shared memory
   managed_shared_memory segment(create_only,"MySharedMemory", 65536);

   //An allocator convertible to any allocator<T, segment_manager_t> type
   void_allocator alloc_inst (segment.get_segment_manager());

   //Construct the shared memory map and fill it
   complex_map_type *mymap =
segment.construct<complex_map_type>("MyMap")(std::less<char_string>(),
alloc_inst);
   char_string cs("test", alloc_inst);
 
   for(int i = 0; i < 100; ++i)
   {
       mymap->insert(std::pair<char_string, int>(cs , i));
   }
   return 0;
}

while on 32 bit machine it is working fine.How can i overcome such pblm?

Thanks in advance.
_________

Roland Bock-2 wrote:
>
> manish4gupta wrote:
>> do i need to specify some option to include the compiler , architecture
>> and
>> model while building the boost?
>> Please help.i will be really thankful to you.
>
> I don't think so, I never do that, and it works fine for me
> (Ubuntu-8.04, 64bit). But you have to read the documentation if you want
> to be sure.
>
> If some boost headers are not compiled on your system, you could update
> to boost-1.40 as suggested by Sergey Nikulov. See if that works out.
>
> If not, well, the gcc 3.4 is not as good as the 4.x versions. So you
> might have to think about upgrading your compiler.
>
>
> Regards,
>
> Roland
>
>>
>>
>>
>> Roland Bock-2 wrote:
>>> manish4gupta wrote:
>>>> Is boost library 1.39 compatible on ia64 machine(itanium) with
>>>> compiler
>>>> gcc
>>>> 3.4.6 on a Redhat Enterprise Linux 4 Update 5?
>>>>
>>> The list of *tested* compilers is here:
>>>
>>> http://www.boost.org/users/news/version_1_39_0
>>>
>>> There is no list of "compatible" compilers that I am aware of.
>>> _______________________________________________
>>> Boost-users mailing list
>>> Boost-users_at_[hidden]
>>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>>>
>>>
>>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>

-- 
View this message in context: http://www.nabble.com/compatibility-of-boost-1.39-tp25696866p25709805.html
Sent from the Boost - Users mailing list archive at Nabble.com.

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