Boost logo

Boost Users :

From: Jens Seidel (jensseidel_at_[hidden])
Date: 2008-02-13 04:18:50


On Tue, Feb 12, 2008 at 04:51:27PM -0700, Matt Wharton wrote:
> So, I appear to have hit a stumbling block with GCC 3.2 and
> Boost.Interprocess (the latest from the release branch which I _believe_ to
> be the latest 1.35). Specifically, when I try to build the following code,
> I get numerous compilation errors (they appear to be template related).
>
> ----------------------
> #include <boost/interprocess/managed_shared_memory.hpp>
>
> int main()
> {
> return 0;
> }

I have a script which checks whether compiling a single header file
works as used by you and started it. It fails indeed also with GCC 3.3
and I even got

trunk/boost/interprocess/sync/emulation/named_creation_functor.hpp:38:
internal compiler error: segmentation fault

together with many other errors and warnings.

> Is there any way to get this work under my older GCC version or am I out of
> luck? Thanks in advance!

I don't know.

Nevertheless I attached a patch which fixes at least some warnings and
missing include statement. I also noticed once the usage of a wrong
namespace.

It seems that public header files of Boost.Interprocess are not able to
always compile alone and require that the user includes these in a
special order. It is probably documented but it would be nice if this
could be fixed if possible, e.g. by making some header files private
(by moving into detail/). If the current workflow is indeed correct
(some of my attempts did'nt improve the situataion, see yourself :-)
it would be nice if one could tell me all files which are expected to
fail if compiled alone so that I can adapt my tests.

PS: It is also a bad idea to use win32 stuff on POSIX systems.

Thanks,
Jens




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