Boost logo

Boost :

Subject: Re: [boost] [extension] library under construction status
From: Klaim - Joël Lamotte (mjklaim_at_[hidden])
Date: 2013-04-01 13:50:49

On Mon, Apr 1, 2013 at 7:34 PM, Lorenzo Caminiti <lorcaminiti_at_[hidden]>wrote:

> What's the status of Jeremy Pack's library under construction
> Boost.Extension?

AFAIK it's on hold since several years. Last time I asked Jeremy Pack about
it, he allowed me to post his answer in this mailing list,
which I did at the time, in 2011. I'm reporting the answer here again:

Unfortunately, some of the C++11 stuff did not go the way I needed it to.
> The linking guarantees it provides are not strong enough to provide for
> consistent shared library behavior across platforms. Many tasks that work
> just fine with certain compiler/platform combinations break horrifically on
> others. One example is being able to call the constructor in one shared
> library and the destructor in another shared library for an object, which
> only works on certain platforms.
> This and other serious issues can cause bizarre bugs for users whose code
> looks perfectly natural. Resolving these issues would result in a very
> complicated and inelegant API, and a complete rewrite of the library. I
> won't have time to do any of this work for quite some time, as I am
> currently a full-time software engineer and part-time student.
> I'm sorry for the bad news!
> Jeremy

On related info, Artyom Beilis (CPPCMS, boost.Locale and other libs author)
did this post:
Where he propose a "shared object" library that would provide basic dll/so
cross-platform support.
However from the discussion on this thread I understand that:
 1. you need to use extern C to define factory functions;
 2. you need to new and delete your objects inside the same dll;
I'm not sure about the usage as I didn't work with it so it might be too
minimalist in some cases but I'd have to test in my own context to be sure.

Maybe Artyom can comment on what's the status of his library? It was only a
poll of interest not a library submission.

Also, note that some people/companies seem to have used Boost.Extension
without any problem so if you want to use it it might be good enough for
your use.
But in the same time, if you don't like the design, I guess you'll have to
wait for an improvement or another library or propose yours (maybe based on
this one).

That was a short summary of the situation.

Joel Lamotte

Boost list run by bdawes at, gregod at, cpdaniel at, john at