Boost logo

Boost :

Subject: [boost] [interprocess] Problem building i386 binary on x86_64 MacOSX machine
From: Walter Horsten (walter.horsten_at_[hidden])
Date: 2012-07-05 04:26:56


Hello,

I have a program that uses boost::interprocess::message_queue, it used
to compile correctly as a universal binary (i386 & x86_64) with boost
version 1.47, however compiling for i386 fails with version 1.49 and
1.50.

The most important parts of the error message are:

- no matching function for call to
'boost::interprocess::message_queue_t<boost::interprocess::offset_ptr<void,
int, long unsigned int, 0u> >::try_receive(void*, size_t, size_t&,
unsigned int&)'
- no matching function for call to 'get_rounded_size(long unsigned
int, const unsigned int&)'

... is this a bug or is my code incorrect? (I suspect the size of the
void* might have something to do with it?)

The sample code in the attachment reproduces the problem on my MacBook
Pro running OSX Snow Leopard (edit the boost prefix variable in the
scripts to your own needs).

Kind regards,
Walter




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk