[Boost-users] [interprocess] problem in HPUX

74 views
Skip to first unread message

Rui Pedro Fernandes

unread,
Sep 1, 2009, 1:45:12 PM9/1/09
to boost...@lists.boost.org
Hi, 

I've been trying boost.interprocess v. 1.40 in a HP-UX 11.23 IA64 machine.

Firstly I tried a 64 bit compilation of the interprocess test with aCC compiler (v. A.06.15). It failed with error:  "No atomic operations implemented for this platform, sorry!".

Then I used gcc 4.1.2 and compilation did succeed.  Many tests got passed, however some failed with "boost::interprocess_exception::library_error".
Here is an output example of both cases:

>>>>>>

gcc.compile.c++ ../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.o

"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -pthread -fPIC -mlp64 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -I"../../.." -c -o "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.o" "named_construct_test.cpp"

gcc.link ../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test

"g++" -o "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test" "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.o" "../../../bin.v2/libs/thread/build/gcc-4.1.2/debug/threading-multi/libboost_thread-gcc41-mt-d-1_40.so.1.40.0" -lrt -g -fPIC -pthread -mlp64


testing.capture-output ../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.run

LD_LIBRARY_PATH="/usr/local/bin:/usr/local/lib:/usr/local/lib32:/usr/local/lib64:/usr/users/genesys/src/boost_1_40_0/bin.v2/libs/thread/build/gcc-4.1.2/debug/threading-multi:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH

"../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test" > "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.output" 2>&1
status=$?
echo >> "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.output"
echo EXIT STATUS: $status >> "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.output"
if test $status -eq 0 ; then
cp "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.output" "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.run"
fi
verbose=0
if test $status -ne 0 ; then
verbose=1
fi
if test $verbose -eq 1 ; then
echo ====== BEGIN OUTPUT ======
cat "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.output"
echo ====== END OUTPUT ======
fi
exit $status

...on 100th target...
**passed** ../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.test

echo passed > "../../../bin.v2/libs/interprocess/test/named_construct_test.test/gcc-4.1.2/debug/threading-multi/named_construct_test.test"

gcc.compile.c++ ../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.o

"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -pthread -fPIC -mlp64 -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -I"../../.." -c -o "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.o" "named_mutex_test.cpp"

gcc.link ../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test

"g++" -o "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test" "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.o" "../../../bin.v2/libs/thread/build/gcc-4.1.2/debug/threading-multi/libboost_thread-gcc41-mt-d-1_40.so.1.40.0" -lrt -g -fPIC -pthread -mlp64


testing.capture-output ../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.run

LD_LIBRARY_PATH="/usr/local/bin:/usr/local/lib:/usr/local/lib32:/usr/local/lib64:/usr/users/genesys/src/boost_1_40_0/bin.v2/libs/thread/build/gcc-4.1.2/debug/threading-multi:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH

"../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test" > "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.output" 2>&1
status=$?
echo >> "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.output"
echo EXIT STATUS: $status >> "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.output"
if test $status -eq 0 ; then
cp "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.output" "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.run"
fi
verbose=0
if test $status -ne 0 ; then
verbose=1
fi
if test $verbose -eq 1 ; then
echo ====== BEGIN OUTPUT ======
cat "../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.output"
echo ====== END OUTPUT ======
fi
exit $status

====== BEGIN OUTPUT ======
create_then_open_then_open_or_create<33named_mutex_creation_test_wrapper>
Failed: false file: named_creation_template.hpp line : 34
boost::interprocess_exception::library_error

EXIT STATUS: 1
====== END OUTPUT ======
...failed testing.capture-output ../../../bin.v2/libs/interprocess/test/named_mutex_test.test/gcc-4.1.2/debug/threading-multi/named_mutex_test.run...


<<<<<<

Could anyone explain this error? Is it possible to overcome the problem?

Thanks in advance.
Rui

Ion Gaztañaga

unread,
Sep 2, 2009, 3:07:04 AM9/2/09
to boost...@lists.boost.org
Rui Pedro Fernandes escribió:

> Hi,
>
> I've been trying boost.interprocess v. 1.40 in a HP-UX 11.23 IA64 machine.
>
> Firstly I tried a 64 bit compilation of the interprocess test with aCC
> compiler (v. A.06.15). It failed with error: "No atomic operations
> implemented for this platform, sorry!".

Yes, I would need to implement those operations in aCC assembler (or
maybe the OS has some nice wrappers?).

> Then I used gcc 4.1.2 and compilation did succeed. Many tests got
> passed, however some failed with
> "boost::interprocess_exception::library_error".
> Here is an output example of both cases:

Recent GCC versions have portable wrappers for atomic operations. I
don't have a machine to test HP-UX. Could you debug it with gdb and help
me discover the issue?

Best,

Ion
_______________________________________________
Boost-users mailing list
Boost...@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Rui Pedro Fernandes

unread,
Sep 2, 2009, 3:15:21 PM9/2/09
to boost...@lists.boost.org
2009/9/2 Ion Gaztañaga <igazt...@gmail.com>:

> Rui Pedro Fernandes escribió:
>>
>> Hi,
>> I've been trying boost.interprocess v. 1.40 in a HP-UX 11.23 IA64 machine.
>>
>> Firstly I tried a 64 bit compilation of the interprocess test with aCC
>> compiler (v. A.06.15). It failed with error:  "No atomic operations
>> implemented for this platform, sorry!".
>
> Yes, I would need to implement those operations in aCC assembler (or maybe
> the OS has some nice wrappers?).

Couldn't find any...

>
>> Then I used gcc 4.1.2 and compilation did succeed.  Many tests got passed,
>> however some failed with "boost::interprocess_exception::library_error".
>> Here is an output example of both cases:
>
> Recent GCC versions have portable wrappers for atomic operations. I don't
> have a machine to test HP-UX. Could you debug it with gdb and help me
> discover the issue?

In attachment I send you a snapshot of a gdb run.

Regards,
Rui

interprocess_namedmuxtest.png

Ion Gaztañaga

unread,
Sep 2, 2009, 4:24:21 PM9/2/09
to boost...@lists.boost.org
Rui Pedro Fernandes escribió:

> In attachment I send you a snapshot of a gdb run.

I see that open is throwing and that seems strange. Could you debug a
bit more deeper into Interprocess to the place where the exception is
launched?

Rui Pedro Fernandes

unread,
Sep 4, 2009, 12:59:51 PM9/4/09
to boost...@lists.boost.org


Two more gdb runs in the link above.

Notice that gdb couldn't show me the values of local variables like origname, name or oflag - bad address. I rebuilt the test and this kept appearing. I just don't know why this happens and I think the gdb runs are not reliable at all.

** 1st run: errno = 22 after sem_open failure

Then I changed file semaphore_wrapper.hpp, function semaphore_open, line 68:

>> before:
case detail::DoOpen:
//No addition
break;

>>after:
case detail::DoOpen:
oflag = 0;
break;

and I could pass that exit point and go further.

** 2nd run:
Apparently the test passed. However, if I run the test out of gdb, it keeps failing exactly the same way:

«

====== BEGIN OUTPUT ======
create_then_open_then_open_or_create<33named_mutex_creation_test_wrapper>
Failed: false file: named_creation_template.hpp line : 34
boost::interprocess_exception::library_error

EXIT STATUS: 1
====== END OUTPUT ======
»

I was wondering that in case you are interested, you could connect to the hpux host via VPN...

Best regards,
Rui

2009/9/2 Ion Gaztañaga <igazt...@gmail.com>

Rui Pedro Fernandes

unread,
Sep 4, 2009, 3:24:46 PM9/4/09
to boost...@lists.boost.org
Please don't loose time looking at the files I sent.
I found that I must update the debugger to be able to debug programs built with gcc440. I'll try to send more news soon.

seyfollah

unread,
Sep 5, 2009, 12:17:47 AM9/5/09
to boost...@lists.boost.org
Dear,

I'm new in Boost and I need a code to start.

I want to create a Graph with following features:
1. In every vertex has 4 integers, 4 doubles and 2 bools.
2. Directed Graph
3. At most 9 Out edges for every Vertex and I should know which one is
the first one.


Could any one help me to start.

Regards

Rui Pedro Fernandes

unread,
Sep 7, 2009, 6:16:45 AM9/7/09
to boost...@lists.boost.org
I've updated gdb to the latest version for hpux (6.0).
In attachment, the another output of gdb as you requested. Notice that when inside "boost::interprocess::detail::semaphore_open" gdb is unable to show me local variables such as "name" and "oflag" - this is weird enough.

In what concerns atomic operations and aCC, you can find an interesting library here that supports aCC.

2009/9/2 Ion Gaztañaga <igazt...@gmail.com>
interprocess_namedmuxtest2.png

Stephen Woodbridge

unread,
Sep 8, 2009, 12:01:53 PM9/8/09
to boost...@lists.boost.org
seyfollah wrote:
> Dear,
>
> I'm new in Boost and I need a code to start.
>
> I want to create a Graph with following features:
> 1. In every vertex has 4 integers, 4 doubles and 2 bools.
> 2. Directed Graph
> 3. At most 9 Out edges for every Vertex and I should know which one is
> the first one.
>
>
> Could any one help me to start.

http://www.google.com/#hl=en&safe=off&num=100&newwindow=1&q=c%2B%2B+boost+graph&aq=f&aqi=g1&oq=&fp=3aa7f458acaa2672
http://www.google.com/#hl=en&safe=off&num=100&newwindow=1&q=c%2B%2B+boost+graph+tutorial&aq=f&aqi=&oq=&fp=3aa7f458acaa2672

The tutorial is a pretty good starting place if you have not read
through those examples yet.

-Steve

Rui Pedro Fernandes

unread,
Sep 12, 2009, 7:13:59 PM9/12/09
to boost...@lists.boost.org
Hi, Mr. Gaztañaga,

I would be very grateful if you could give me a feedback about the message I sent you before, concerning the problem I'm facing in a HPUX platform.

Thank you in advance.
Rui

Ion Gaztañaga

unread,
Sep 13, 2009, 3:49:51 AM9/13/09
to Boost User List
Rui Pedro Fernandes escribió:

> Hi, Mr. Gaztañaga,
>
> I would be very grateful if you could give me a feedback about the
> message I sent you before, concerning the problem I'm facing in a HPUX
> platform.

From the gdb output you sent, I can't deduce why is falling in HPUX,
because sem_open is failing but I can't see the errno value and that
errno is not a value that can be translated to standardized interprocess
values. Let's see if the value of errno after sem_open fails can give us
any hint.

Regarding the atomic library, it's beyond my skills to port it properly
and requires a support that I can't provide. If you feel confident you
can port it and fill the few functions needed in
interprocess/detail/atomic.hpp to support aCC, supposing aCC is C++
standard compliant enough to compler the rest of interprocess and its
dependencies.

Rui Pedro Fernandes

unread,
Sep 13, 2009, 1:55:27 PM9/13/09
to boost...@lists.boost.org
2009/9/13 Ion Gaztañaga <igazt...@gmail.com>

 
>From the gdb output you sent, I can't deduce why is falling in HPUX, because sem_open is failing but I can't see the errno value and that errno is not a value that can be translated to standardized interprocess values. Let's see if the value of errno after sem_open fails can give us any hint.

In that gdb output, you can see I've printed out the errno value: 22 (EINVAL) . As for the fact that gdb can't show stack variables, can you give me a hint for a possible cause? As I told you, now I'm using the latest available version of gdb for HPUX. The platform linker is being used (not gnu linker) and the only additional flags I've passed to bjam were: cxxflags=-mlp64 linkflags=-mlp64.

I don't know how much you're interested that boost.interprocess supports HPUX platforms, if at all. I you think it would be useful, I could provide you a VPN access to the HPUX host, so that you could check for your self what's happening.


 Regarding the atomic library, it's beyond my skills to port it properly and requires a support that I can't provide. If you feel confident you can port it and fill the few functions needed in interprocess/detail/atomic.hpp to support aCC,

I'm afraid my experience doesn't allow me to accomplish such a task, I'm sorry. Maybe someone else in the mailing list could have the knowledge to do it.
 
supposing aCC is C++ standard compliant enough to compler the rest of interprocess and its dependencies.

I think it is. At least Boost.thread builds correctly with aCC.

Thank you very much for your help.

Zeljko Vrba

unread,
Sep 13, 2009, 2:46:33 PM9/13/09
to boost...@lists.boost.org
On Sun, Sep 13, 2009 at 06:55:27PM +0100, Rui Pedro Fernandes wrote:
>
> In that gdb output, you can see I've printed out the errno value: 22
> (EINVAL) . As for the fact that gdb can't show stack variables, can you give
> me a hint for a possible cause? As I told you, now I'm using the latest
>
The most likely cause is that you are compiling with optimizations turned on.

Ion Gaztañaga

unread,
Sep 13, 2009, 5:09:07 PM9/13/09
to boost...@lists.boost.org
Rui Pedro Fernandes escribió:
> 2009/9/13 Ion Gaztañaga <igazt...@gmail.com <mailto:igazt...@gmail.com>>

>
>
> >From the gdb output you sent, I can't deduce why is falling in
> HPUX, because sem_open is failing but I can't see the errno value
> and that errno is not a value that can be translated to standardized
> interprocess values. Let's see if the value of errno after sem_open
> fails can give us any hint.
>
>
> In that gdb output, you can see I've printed out the errno value: 22
> (EINVAL) . As for the fact that gdb can't show stack variables, can you
> give me a hint for a possible cause? As I told you, now I'm using the
> latest available version of gdb for HPUX. The platform linker is being
> used (not gnu linker) and the only additional flags I've passed to bjam
> were: cxxflags=-mlp64 linkflags=-mlp64.
>
> I don't know how much you're interested that boost.interprocess supports
> HPUX platforms, if at all. I you think it would be useful, I could
> provide you a VPN access to the HPUX host, so that you could check for
> your self what's happening.

I don't have much time for this, but it seems that seeing:

http://docs.hp.com/en/B9106-90009/sem_open.2.html

[EINVAL]

"The name argument does not begin with "/" or contains "." or ".." as a
pathname component."

and...

"The name argument points to a string referring to a semaphore. It
should begin with a "/" and shall conform to pathname rules except that
no path component should be "." or ".."."

Whereas for shm_open:

http://docs.hp.com/en/B9106-90009/shm_open.2.html

"The name argument points to the shared memory object name, and must
conform to the general construction rules for a pathname."

Interprocess supposes that if shm_open needs path-based names(POSIX
allows that), sem_open also needs them, so try to comment this line in
inteprocess/detail/workaround.hpp:

#ifdef BOOST_INTERPROCESS_POSIX_NAMED_SEMAPHORES
#if defined(BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_RESOURCES)
//THIS-> #define BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_SEMAPHORES
#endif
#endif

And let's see if simple "/name" names are what hpux needs for sems.

Rui Pedro Fernandes

unread,
Sep 16, 2009, 5:05:32 AM9/16/09
to boost...@lists.boost.org
On Sun, Sep 13, 2009 at 7:46 PM, Zeljko Vrba <zvrba....@ifi.uio.no> wrote:

The most likely cause is that you are compiling with optimizations turned on.

 
You're right, thanks for the hint. 

Rui Pedro Fernandes

unread,
Sep 16, 2009, 5:40:09 AM9/16/09
to boost...@lists.boost.org

2009/9/13 Ion Gaztañaga <igazt...@gmail.com>

Interprocess supposes that if shm_open needs path-based names(POSIX allows that), sem_open also needs them, so try to comment this line in inteprocess/detail/workaround.hpp:

  #ifdef BOOST_INTERPROCESS_POSIX_NAMED_SEMAPHORES
     #if defined(BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_RESOURCES)
//THIS-> #define BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_SEMAPHORES
     #endif
  #endif

And let's see if simple "/name" names are what hpux needs for sems.

This solved the problem. Thank you!

I'm glad to say that after some additional work all tests have passed.

Apart from the problem with named_mutex test, there were other tests failing: a) file_mapping_test, message_queue_test, named_condition_test, named_recursive_mutex_test and a few others, all failed with the same error: ENOMEM; b) shared_ptr_test was also failing because of an error in the call to __sync_val_compare_and_swap. 

Here is what I've done to solve these problems:

a) The problem was due to limitations on the default HP-UX address space model. See  http://h20338.www2.hp.com/hpux11i/downloads/aas_white_paper.pdf (page 9). Based on this information I solved the problem by adding this line to file Jamfile.v2, after line 29:

<host-os>hpux,<toolset>gcc:<linkflags>"-Wl,+as,mpas"

b) The problem here was the wrong order of the parameters passed to method __sync_val_compare_and_swap (in detail::atomic_cas32):
wrong: __sync_val_compare_and_swap(const_cast<boost::uint32_t *>(mem), with, cmp)
correct: __sync_val_compare_and_swap(const_cast<boost::uint32_t *>(mem), cmp, with)

After these fixes, we can say boost.interprocess works fine in HP-UX with gcc44.

Thank you very much for you patience and valuable help.

Best regards,
Rui

Rui Pedro Fernandes

unread,
Sep 21, 2009, 5:53:38 AM9/21/09
to boost...@lists.boost.org
Hi,

I'd like to know if you intend to integrate the fixes that emerged from the effort we spent on trying to solve the problems in HP-UX, so that I can expect they will be included in the next boost version.

Best regards,
Rui

On Wed, Sep 16, 2009 at 10:40 AM, Rui Pedro Fernandes <ruipfe...@gmail.com> wrote:

2009/9/13 Ion Gaztañaga <igazt...@gmail.com>
Interprocess supposes that if shm_open needs path-based names(POSIX allows that), sem_open also needs them, so try to comment this line in inteprocess/detail/workaround.hpp:


  #ifdef BOOST_INTERPROCESS_POSIX_NAMED_SEMAPHORES
     #if defined(BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_RESOURCES)
//THIS-> #define BOOST_INTERPROCESS_FILESYSTEM_BASED_POSIX_SEMAPHORES
     #endif
  #endif

And let's see if simple "/name" names are what hpux needs for sems.

This solved the problem. Thank you!

(...)
 
Based on this information I solved the problem by adding this line to file Jamfile.v2, after line 29:

<host-os>hpux,<toolset>gcc:<linkflags>"-Wl,+as,mpas"

Ion Gaztañaga

unread,
Sep 21, 2009, 7:57:15 AM9/21/09
to Boost User List
Rui Pedro Fernandes escribió:

> Hi,
>
> I'd like to know if you intend to integrate the fixes that emerged from
> the effort we spent on trying to solve the problems in HP-UX, so that I
> can expect they will be included in the next boost version.
>
> Best regards,
> Rui

I will integrate them and try to include them for the next boost version.

manish4gupta

unread,
Oct 1, 2009, 2:17:24 PM10/1/09
to boost...@lists.boost.org

I am installing the boost on itanium (64 bit red hat) machine. I am following
the three steps.
./bootstrap.sh --prefix=/usr/local
./bjam
./bjam install

After installation, libboost files are all located in
/usr/lib.

But i am trying to run one simple code.

#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:air<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:air<char_string, int>(cs , i));
}
return 0;
}

My machine configuration is ia64 architecture with gcc 3.4.6 on
a Redhat Enterprise Linux 4 Update 5.

when i am trying to compile my program
g++ -I /usr/local/include/boost-1_39 boostindex.cpp -lrt
and gettting the following error

In file included from
/usr/local/include/boost-1_39/boost/interprocess/sync/interprocess_mutex.hpp:47,
from
/usr/local/include/boost-1_39/boost/interprocess/mem_algo/rbtree_best_fit.hpp:27,
from
/usr/local/include/boost-1_39/boost/interprocess/detail/managed_memory_impl.hpp:22,
from
/usr/local/include/boost-1_39/boost/interprocess/managed_shared_memory.hpp:21,
from boostindex.cpp:1:
/usr/local/include/boost-1_39/boost/interprocess/detail/atomic.hpp:466:2:
#error No atomic operations implemented for this platform, sorry!
/usr/local/include/boost-1_39/boost/interprocess/detail/atomic.hpp:45:
warning: inline function `uint32_t
boost::interprocess::detail::atomic_cas32(volatile uint32_t*, uint32_t,
uint32_t)' used but never defined
/usr/local/include/boost-1_39/boost/interprocess/detail/atomic.hpp:36:
warning: inline function `void
boost::interprocess::detail::atomic_write32(volatile uint32_t*, uint32_t)'
used but never defined
/usr/local/include/boost-1_39/boost/interprocess/detail/atomic.hpp:31:
warning: inline function `uint32_t
boost::interprocess::detail::atomic_read32(volatile uint32_t*)' used but
never defined


Since you have already solved the pblm may i know what can i do solve this
pblm. I wll be really grateful to you.

--
View this message in context: http://www.nabble.com/-interprocess--problem-in-HPUX-tp25244956p25704083.html
Sent from the Boost - Users mailing list archive at Nabble.com.

Reply all
Reply to author
Forward
0 new messages