Let's stop distributing binaries

classic Classic list List threaded Threaded
64 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

Let's stop distributing binaries

Boost - Dev mailing list
The fact is that users of boost use compilers with differing levels of
C++ standard conformance.  This creates a number of problems including
(but probably not limited to)

a) Using libraries built with different levels of C++ conformance may
create ABI issues.

b) it creates a discussion about "dropping C++03 support".  Actually it
creates a discussion about that the above actually means.

c) It's motivated a suggestion that all libraries move to header only.
This is not  great idea - but I won't address that here.

I believe all these issues - and more - would disappear if we just
stopped distributing binaries.  Each user would be building his own
boost version with (presumably) the same compiler.  Since C++03
compatible libraries are C++?? compatible, each library author can
maintain the level of backward compatibility that he wishes.

But if we're not going to distribute binaries, then users might as well
just clone the latest "certified - good - tagged" version in the master
branch from the github repo.  That is, let's just stop or truncate the
whole release circus.  Replace with an occasional
"certification/versioning procedure" which would make available a
"squashed" master suitable for efficient cloning.

This would make everyone's life easier.

Robert Ramey



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
On 8/29/2018 10:53 AM, Robert Ramey via Boost wrote:

> The fact is that users of boost use compilers with differing levels of
> C++ standard conformance.  This creates a number of problems including
> (but probably not limited to)
>
> a) Using libraries built with different levels of C++ conformance may
> create ABI issues.
>
> b) it creates a discussion about "dropping C++03 support".  Actually it
> creates a discussion about that the above actually means.
>
> c) It's motivated a suggestion that all libraries move to header only.
> This is not  great idea - but I won't address that here.
>
> I believe all these issues - and more - would disappear if we just
> stopped distributing binaries.  Each user would be building his own
> boost version with (presumably) the same compiler.  Since C++03
> compatible libraries are C++?? compatible, each library author can
> maintain the level of backward compatibility that he wishes.
>
> But if we're not going to distribute binaries, then users might as well
> just clone the latest "certified - good - tagged" version in the master
> branch from the github repo.  That is, let's just stop or truncate the
> whole release circus.  Replace with an occasional
> "certification/versioning procedure" which would make available a
> "squashed" master suitable for efficient cloning.
>
> This would make everyone's life easier.

Forcing end-users to build Boost themselves is not user friendly.

>
> Robert Ramey


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list

On 8/29/18 08:12, Edward Diener via Boost wrote:
> On 8/29/2018 10:53 AM, Robert Ramey via Boost wrote:
>> The fact is that users of boost use compilers with differing levels of
>> C++ standard conformance.  This creates a number of problems including
>> (but probably not limited to)
>>

<snip>

>>
>> This would make everyone's life easier.
>
> Forcing end-users to build Boost themselves is not user friendly.
>

The users of Boost are developers. They should be building Boost for
their target needs.


--
Michael Caisse
Ciere Consulting
ciere.com

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 8/29/18 8:12 AM, Edward Diener via Boost wrote:

>> This would make everyone's life easier.
>
> Forcing end-users to build Boost themselves is not user friendly.

Right.  So let's fix THAT!
>
>>
>> Robert Ramey
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
I don't see the connection to the c++03 discussion,
but other than that: Sure, why not.
If time to hello world is a concern, one can still use vcpkg,
conan, homebrew or the system package manager (where available).

But please, please add a prominent explanation to the getting
started pages (e.g. https://www.boost.org/doc/libs/1_68_0/more/getting_started/windows.html)
how I can compile boost using a particular language standard and
a particular compiler.

Sorry, but I can resists: It would be so nice, if boost would just use cmake ;)


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
On Wed, Aug 29, 2018 at 10:43 AM Mike Dev via Boost <[hidden email]>
wrote:

> Sorry, but I can resists: It would be so nice, if boost would just use
> cmake ;)
>

Sorry I can't resist either.. Just use conan, vcpkg, etc with your cmake
project ;-)

--
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
   Or get completely off the circus and just go header-only

   On 08/29/2018 08:43 AM, Mike Dev via Boost wrote:

I don't see the connection to the c++03 discussion,
but other than that: Sure, why not.
If time to hello world is a concern, one can still use vcpkg,
conan, homebrew or the system package manager (where available).

But please, please add a prominent explanation to the getting
started pages (e.g. [1]https://www.boost.org/doc/libs/1_68_0/more/getting_start
ed/windows.html)
how I can compile boost using a particular language standard and
a particular compiler.

Sorry, but I can resists: It would be so nice, if boost would just use cmake ;)


_______________________________________________
Unsubscribe & other changes: [2]http://lists.boost.org/mailman/listinfo.cgi/boo
st

References

   1. https://www.boost.org/doc/libs/1_68_0/more/getting_started/windows.html
   2. http://lists.boost.org/mailman/listinfo.cgi/boost

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On Wed, Aug 29, 2018 at 4:53 PM, Robert Ramey via Boost
<[hidden email]> wrote:

> The fact is that users of boost use compilers with differing levels of C++
> standard conformance.  This creates a number of problems including (but
> probably not limited to)
>
> a) Using libraries built with different levels of C++ conformance may create
> ABI issues.
>
> b) it creates a discussion about "dropping C++03 support".  Actually it
> creates a discussion about that the above actually means.
>
> c) It's motivated a suggestion that all libraries move to header only. This
> is not  great idea - but I won't address that here.
>
> I believe all these issues - and more - would disappear if we just stopped
> distributing binaries.

Why do you think so?
It doesn't solve A, B or C.



--
Olaf

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
Am Mi., 29. Aug. 2018 um 17:15 Uhr schrieb Michael Caisse via Boost <
[hidden email]>:

>
> On 8/29/18 08:12, Edward Diener via Boost wrote:
> > On 8/29/2018 10:53 AM, Robert Ramey via Boost wrote:
> >> The fact is that users of boost use compilers with differing levels of
> >> C++ standard conformance.  This creates a number of problems including
> >> (but probably not limited to)
> >>
>
> <snip>
>
> >>
> >> This would make everyone's life easier.
> >
> > Forcing end-users to build Boost themselves is not user friendly.
> >
>
> The users of Boost are developers. They should be building Boost for
> their target needs.
>
>
I like Edwards proposal. However, not all Boost users are C++ experts,
especially those who want to use 'higher-level' boost libraries such as
GIL. Comparing Boost's installation processes with Qt's one, many users do
not want to be concerned with cloning/compiling/linking issues.



>
> --
> Michael Caisse
> Ciere Consulting
> ciere.com
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
> -----Original Message-----
> From: Boost <[hidden email]> On Behalf Of Jeffrey Graham via Boost
> Sent: Wednesday, August 29, 2018 11:52 PM
>
>    Or get completely off the circus and just go header-only
>

Boost already has a - well earned - rep for exploding your compile times. I'm not
sure if going all header only is really the answer here.
Although actual benchmarks would be interesting.


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 8/29/18 9:07 AM, Olaf van der Spek via Boost wrote:

> On Wed, Aug 29, 2018 at 4:53 PM, Robert Ramey via Boost
> <[hidden email]> wrote:
>> The fact is that users of boost use compilers with differing levels of C++
>> standard conformance.  This creates a number of problems including (but
>> probably not limited to)
>>
>> a) Using libraries built with different levels of C++ conformance may create
>> ABI issues.
>>
>> b) it creates a discussion about "dropping C++03 support".  Actually it
>> creates a discussion about that the above actually means.
>>
>> c) It's motivated a suggestion that all libraries move to header only. This
>> is not  great idea - but I won't address that here.
>>
>> I believe all these issues - and more - would disappear if we just stopped
>> distributing binaries.
>
> Why do you think so?
> It doesn't solve A, B or C.

a) since the user would be compiling everything with his own favorite
compiler with the -std setting he desires, There would be no ABI issues.

b) LOL - It's been stated numerous times that the the Boost policy is
that a library must only be compatible with the currently release C++
standard.  This makes the discussion of "dropping C++03" support
non-sensical an pointless.  But the question keeps arising.  So I'll
have to conceded you're right here.  Nothing will likely resolve this issue.

c) I'm presuming the suggestion of Header only libraries is at least in
part due to the fact that it would address a) above.  That is, any
issues related to ABI would go away.

That's why I think so.

Robert Ramey

>
>
>


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 8/29/18 9:14 AM, Cem Bassoy via Boost wrote:
> I like Edwards proposal. However, not all Boost users are C++ experts,
> especially those who want to use 'higher-level' boost libraries such as
> GIL. Comparing Boost's installation processes with Qt's one, many users do
> not want to be concerned with cloning/compiling/linking issues.

Any boost library should be straight forward to build if it's not header
only.

And - users should also be running the tests which come with a library
that they are going to use as well.

If we're distributing something that is problematic to build & test, we
have a problem.  Let's fix that!

Robert Ramey


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
Robert Ramey wrote:

> a) since the user would be compiling everything with his own favorite
> compiler with the -std setting he desires, There would be no ABI issues.

Yes there are. Users compile with the default C++03 and then use it from
C++14/C++17. This is not speculation, it actually happens.


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On Wed, Aug 29, 2018 at 6:35 PM, Robert Ramey via Boost
<[hidden email]> wrote:
> a) since the user would be compiling everything with his own favorite
> compiler

Not if he's using package management (Linux, vcpkg @ Windows).

> with the -std setting he desires,

Are you sure about that?
Even if he has projects with different -std settings?

> There would be no ABI issues.
>
> b) LOL - It's been stated numerous times that the the Boost policy is that a
> library must only be compatible with the currently release C++ standard.

Apparently that's not documented properly. Where is it documented anyway?
And where's the list of supported compilers listed?
Are you sure 'we' are not expecting libs to work with non-C++17 compilers?




--
Olaf

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 8/29/18 9:45 AM, Peter Dimov via Boost wrote:
> Robert Ramey wrote:
>
>> a) since the user would be compiling everything with his own favorite
>> compiler with the -std setting he desires, There would be no ABI issues.
>
> Yes there are. Users compile with the default C++03 and then use it from
> C++14/C++17. This is not speculation, it actually happens.

Right they do do that.  They shouldn't but they do. We can't control
what users do.  We can tell them what not to do.  But they do it anyway.
There are some problems Boost can't solve.

Robert Ramey
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
On 8/29/18 10:02 AM, Olaf van der Spek via Boost wrote:
> On Wed, Aug 29, 2018 at 6:35 PM, Robert Ramey via Boost
> <[hidden email]> wrote:
>> a) since the user would be compiling everything with his own favorite
>> compiler
>
> Not if he's using package management (Linux, vcpkg @ Windows).

Hmmm - I don't really know what vcpkg actually does.  Basically if we
distribute only source and no binary then we're not responsible for all
the stupid stuff that people do with it.

>
>> with the -std setting he desires,
>
> Are you sure about that?
> Even if he has projects with different -std settings?

LOL - if he has projects with different -std settings - e.g. a dll and
an application which calls the dll, he has problems that we can't solve.

By not distributing binaries, we avoid burdening people who do know what
they're doing with silent ABI inconsistencies which can cause almost
impossible to find bugs.

>
>> There would be no ABI issues.
>>
>> b) LOL - It's been stated numerous times that the the Boost policy is that a
>> library must only be compatible with the currently release C++ standard.
>
> Apparently that's not documented properly. Where is it documented anyway?

I don't know. I'm sure it's documented somewhere.  There are several
well known library which illustrate its veracity. And it's stated on
this list about every 6 months or so. It's been stated several times in
this thread.  Regardless of where it's documented, or even if its not,
it happens to be true.

> And where's the list of supported compilers listed?

That would depend on the particular library.  All boost library are
supposed to work with the current standard (at least when approved).  So
any compiler which implements the current standard should be guaranteed
to be able to build and use the library.  Of course this is complicated
by the fact that there is no C++ compiler and standard library which
actually correctly implements the standard.  This in turn is complicated
by the fact that there is no universal agreement on what the standard
actually means in many places.  This in turn is complicated by the fact
it is very popular to add features (initialization) that no one can
really figure them out.

Alas - I'm off topic.

> Are you sure 'we' are not expecting libs to work with non-C++17 compilers?

Hmmm I don't know that I can speak for "we".  But I expect that a Boost
library will work with any compiler conforming the the standard existing
at the time the library was approved.  Since C++ strives to maintain
backward compatibility, I expect that that library will be compatible
with all subsequent C++ compilers.  Of course this is not strictly true.
  Any boost library using std::auto had to be tweaked when auto was
dropped.  But in practice it's true enough for government work.

Robert Ramey


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
On Wed, Aug 29, 2018 at 3:38 PM Robert Ramey via Boost <
[hidden email]> wrote:

> Hmmm - I don't really know what vcpkg actually does.  Basically if we
> distribute only source and no binary then we're not responsible for all
> the stupid stuff that people do with it.
>

We aren't responsible anyway.  Not shipping binaries means we will be
making things harder for some users, especially newcomers to Boost.  Now,
the outcome of this discussion may be that we will no longer ship binaries
because we cannot do it correctly for most use cases, but let's not pretend
not doing so is a benefit to the end user.


> By not distributing binaries, we avoid burdening people who do know what
> they're doing with silent ABI inconsistencies which can cause almost
> impossible to find bugs.


I thought that the people "who do know what they're doing" are building the
binaries themselves anyway, so I fail to see how we are burdening them.
--
 Nevin ":-)" Liber  <mailto:[hidden email] <[hidden email]>>
+1-847-691-1404

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
On 8/29/18 1:50 PM, Nevin Liber via Boost wrote:
> On Wed, Aug 29, 2018 at 3:38 PM Robert Ramey via Boost <
> [hidden email]> wrote:
>
>> Hmmm - I don't really know what vcpkg actually does.  Basically if we
>> distribute only source and no binary then we're not responsible for all
>> the stupid stuff that people do with it.
>>
>
> We aren't responsible anyway.

By shipping binaries we're encouraging people to use them.  This seems
like we're helping them - but I maintain that we are not actually
helping anyone with this policy.

   Not shipping binaries means we will be
> making things harder for some users, especially newcomers to Boost.

maybe, maybe not.

  Now,
> the outcome of this discussion may be that we will no longer ship binaries
> because we cannot do it correctly for most use cases, but let's not pretend
> not doing so is a benefit to the end user.

I think not shipping stuff that won't work benefits the user.

I also thing that not shipping the binaries would save a lot of work on
our part.  If some third party wants to take this they are free to do so.
>
>> By not distributing binaries, we avoid burdening people who do know what
>> they're doing with silent ABI inconsistencies which can cause almost
>> impossible to find bugs.
>
>
> I thought that the people "who do know what they're doing" are building the
> binaries themselves anyway, so I fail to see how we are burdening them.

Right - typo should be:
avoid burdening people who DON'T know what they're doing

Robert Ramey


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
In article <CAHEh_GjMLwVmvQJDggqjkBw+ZFKo=[hidden email]>,
    Rene Rivera via Boost <[hidden email]> writes:

> On Wed, Aug 29, 2018 at 10:43 AM Mike Dev via Boost <[hidden email]>
> wrote:
>
> > Sorry, but I can resists: It would be so nice, if boost would just use
> > cmake ;)
> >
>
> Sorry I can't resist either.. Just use conan, vcpkg, etc with your cmake
> project ;-)

Last time I tried to use conan, it was a fail on Windows.

<https://github.com/conan-io/conan/issues/1341>

It's supposed to be "easy out of the box" but it is nowhere near that
point yet.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
            The Terminals Wiki <http://terminals-wiki.org>
     The Computer Graphics Museum <http://ComputerGraphicsMuseum.org>
  Legalize Adulthood! (my blog) <http://LegalizeAdulthood.wordpress.com>

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: Let's stop distributing binaries

Boost - Dev mailing list
In reply to this post by Boost - Dev mailing list
In article <pm6bsl$qbb$[hidden email]>,
    Robert Ramey via Boost <[hidden email]> writes:

> But if we're not going to distribute binaries, then users might as well
> just clone the latest "certified - good - tagged" version in the master
> branch from the github repo.  That is, let's just stop or truncate the
> whole release circus.

That would be a mistake IMO.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
            The Terminals Wiki <http://terminals-wiki.org>
     The Computer Graphics Museum <http://ComputerGraphicsMuseum.org>
  Legalize Adulthood! (my blog) <http://LegalizeAdulthood.wordpress.com>

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
1234