[MacPorts] #50671: boost: Update to 1.60.0
#50671: boost: Update to 1.60.0 ------------------------+-------------------------------- Reporter: eborisch@… | Owner: macports-tickets@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Keywords: haspatch | Port: boost ------------------------+-------------------------------- Portfile patch attached. Some of the patchfiles can go away, too. -- Ticket URL: <https://trac.macports.org/ticket/50671> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Changes (by ryandesign@…): * cc: ryandesign@… (removed) * owner: macports-tickets@… => ryandesign@… Comment: Duplicate of #50572. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by michaelld@…): I just attached a full diff for the Portfile and patch files between 1.59.0 and proposed 1.60.0. All of my dependent ports will have to be rebuilt because the Boost ABI has been changed enough to be incompatible. Other please review and test. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by mmoll@…): Ports that depend on Boost.Python may not compile. I tried ompl (a port I maintain) with Boost 1.60 and it definitely doesn't compile. See, e.g., https://bitbucket.org/ompl/ompl/issues/210/compilation-failure-with- boost-1600 and https://github.com/hhatto/pgmagick/issues/4 -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by uri@…): This should be reported to the Boost bug tracker, IMHO. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:4> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by michaelld@…): Initial testing the GNU Radio ports shows compatibility with a rev-bump. I didn't test them all, but the all of the primary related ports and some of the dependent ports build just fine using Boost 1.60.0 out of the box. They all require a rev-bump rebuild due to updated boost ABI. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by wuyongwei@…): I can confirm that it basically works, but I have to rebuild `mkvtoolnix` to make it work again, probably due to a `regex` ABI change. Is there a away to trigger the rebuild of other ports? -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by ryandesign@…): A developer must manually identify all ports that use boost, manually increase their revisions, verify they all build and if necessary fix any bugs, and commit everything together. This involved process is why I haven't done it. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:8> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by wuyongwei@…): The patch is updated (against ports SVN). It seems to work well for me, though I have to rebuild mkvtoolnix ''again'', which is a pain. However, I am happy I have finally a working Boost 1.61.0 port on my local drive now. ;-) -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:10> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by michaelld@…): Thanks for posting the patch. Ditto what Ryan wrote about not updating. Boost is used by a ton of ports. Finding and rev-bumping all of those will take a LOT of time. I just don't have that sort of time right now. I have a conference coming up in mid- September at which I should have time. So, if nobody has been able to address this ticket by then, I'll give it a go. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:11> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by wuyongwei@…): If the ABI change happens frequently and we do not have a versioning mechanism for the boost dylibs, does it make sense that we make all the dependent ports link with the ''static'' libs? It will be a big change, but will likely reduce future breakages. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:12> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by ryandesign@…): ABI changes happen with most new versions of boost. It's not really our responsibility to develop a versioning mechanism; it's up to the developers of boost to do that, and they do not appear to have any interest in doing so. We do not want to link with static libraries, unless a particular build system makes it impossible to do otherwise. Using static libraries would not solve the problem, it would just hide the problem until later. We don't want to do that either. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:13> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by wuyongwei@…): Replying to [comment:13 ryandesign@…]:
Using static libraries would not solve the problem, it would just hide the problem until later. We don't want to do that either.
There are two problems with new boost versions: 1. A port may fail to compile with the new boost. 2. A port may compile fine, but the binary compiled with the old boost version does not work with the new dylib. Static linking does not solve the first problem, but it will solve the second. Probably we still need to test other ports when there is a new boost version, but I do not think we need to bump the version of all other dependent ports and make new releases then. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:14> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.60.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by larryv@…): No, using static libraries without immediate revbumping is not an option. The builds of such dependents would [[ReproducibleBuilds|not be reproducible]]. A `foo @1.2_3` built before a `boost` upgrade would not be the same as a `foo @1.2_3` built immediately after, but we would not be able to distinguish them without technically invasive measures. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:15> MacPorts <https://www.macports.org/> Ports system for OS X
#50671: boost: Update to 1.62.0 -------------------------+-------------------------- Reporter: eborisch@… | Owner: ryandesign@… Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+-------------------------- Comment (by michaelld@…): clearly I didn't have time at the conference. no idea when I will have time. boost has been updated to 1.62. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:18> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#50671: boost: Update to 1.62.0 -------------------------+------------------------ Reporter: eborisch@… | Owner: ryandesign Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+------------------------ Comment (by michaelld): I just pushed the branch https://github.com/macports/macports- ports/tree/boost_update where work on this ticket can happen. I've updated both boost and the ports that I have installed that depend on boost ("port dependents boost"). I'm quite sure there are more ports that depend on boost than those I updated. I have had no issues thus far with the update; everything including boost build cleanly (or, at least as cleanly as the prior boost provided). Let's get updates to this branch in place, verified and tested, then we can merge the whole shebang at once into the master -- and, keep this branch around for future boost updates, since knowing which ports to rev-bump is part of the issue. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:19> MacPorts <https://www.macports.org/> Ports system for macOS
#50671: boost: Update to 1.62.0 -------------------------+------------------------ Reporter: eborisch@… | Owner: ryandesign Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+------------------------ Comment (by larryv): Replying to [comment:19 michaelld]:
and, keep this branch around for future boost updates, since knowing which ports to rev-bump is part of the issue.
There’s nothing wrong with using a topic branch for this, but I would rather you rebase it onto master when you’re done, delete it, and recreate it when the next boost update happens. We want the keep the master history as linear as possible (which means no merge commit) and don’t want to encourage long-lived branches like we had in the old repository. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:20> MacPorts <https://www.macports.org/> Ports system for macOS
#50671: boost: Update to 1.62.0 -------------------------+------------------------ Reporter: eborisch@… | Owner: ryandesign Type: update | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: haspatch Port: boost | -------------------------+------------------------ Comment (by michaelld): Agreed. I'll keep a branch in my personal fork that holds the info we need to do updates, to make future boost updates faster & easier. -- Ticket URL: <https://trac.macports.org/ticket/50671#comment:21> MacPorts <https://www.macports.org/> Ports system for macOS
participants (1)
-
MacPorts