Opened 10 months ago

Closed 7 months ago

Last modified 7 months ago

#69103 closed defect (fixed)

boost178 @1.78.0_8: error: integer value -1 is outside the valid range of values [0, 3] for this enumeration type

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: mascguy (Christopher Nielsen), rbeyer (Ross Beyer), cooljeanius (Eric Gallager)
Port: boost176, boost178

Description

boost178 does not build anymore on 10.7–10.13 buildbot systems (see https://ports.macports.org/port/boost178/details):

In file included from libs/log/src/severity_level.cpp:18:
In file included from ./boost/log/sources/severity_feature.hpp:31:
In file included from ./boost/log/utility/strictest_lock.hpp:19:
In file included from ./boost/mpl/integral_c.hpp:32:
./boost/mpl/aux_/integral_wrapper.hpp:73:31: error: integer value -1 is outside the valid range of values [0, 3] for this enumeration type [-Wenum-constexpr-conversion]
    typedef AUX_WRAPPER_INST( BOOST_MPL_AUX_STATIC_CAST(AUX_WRAPPER_VALUE_TYPE, (value - 1)) ) prior;
                              ^
./boost/mpl/aux_/static_cast.hpp:24:47: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
#   define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
                                              ^
1 error generated.

I verified this on my own OS X 10.11 system. These builds are currently happening with clang 16. I assume the default fallback compiler for MacPorts was upgraded to 16 at some point and this caused the problem.

This was previously reported for boost176 in #68373 but was closed as invalid by the reporter, and I do not see a build failure of boost176 on my OS X 10.11 system.

boost178 still builds fine on 10.6 where the default fallback compiler seems to be clang 11.

Change History (10)

comment:1 Changed 10 months ago by kencu (Ken)

this is a known boost problem, reported here previously #67324

I thought it was fixed by previous commits, but I guess not.

There were several people working on this, eg:

[4b64e4ff7e608ce3d6af8d3b5a222f4d4203cd3a/macports-ports]

Last edited 10 months ago by kencu (Ken) (previous) (diff)

comment:2 in reply to:  1 Changed 10 months ago by mascguy (Christopher Nielsen)

Replying to kencu:

this is a known boost problem, reported here previously #67324

I thought it was fixed by previous commits, but I guess not.

There were several people working on this, eg:

[4b64e4ff7e608ce3d6af8d3b5a222f4d4203cd3a/macports-ports]

Yeah, I recall fixing this specific error for a few other components, but perhaps not for our Boost ports...

comment:3 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

It also affects mongodb and mongodb-devel which use a bundled copy of boost: https://jira.mongodb.org/browse/SERVER-85825

comment:4 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)

There was also #68920.

mongodb developers point to this being the likely fix: https://github.com/boostorg/numeric_conversion/commit/50a1eae942effb0a9b90724323ef8f2a67e7984a

comment:5 Changed 8 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: rbeyer added
Port: boost176 added

Duplicate #69568 for boost176.

comment:6 Changed 8 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:7 in reply to:  6 Changed 7 months ago by mntbighker (Mark Moorcroft)

Replying to cooljeanius: This issue prevents you from installing neovim as well. I have tried several appended options to installing, but still no go. I don't honestly know why neovim depends on the older boost. I think msgpack is also required, and I guess that's what depends on boost176.

comment:8 Changed 7 months ago by Christopher Nielsen <mascguy@…>

Resolution: fixed
Status: assignedclosed

In 8c6725cfbf92ae693f6f87ea3e6a4c047513cf23/macports-ports (master):

boost178: ignore enum-constexpr-conversion

Fixes: #69103

comment:9 Changed 7 months ago by mntbighker (Mark Moorcroft)

Can somebody do that to boost176 as well? With that change to Portfile it installed for me, so neovim now installs.

comment:10 Changed 7 months ago by Christopher Nielsen <mascguy@…>

In 0c8782bec8769173f82330db97573ad7c919e1e9/macports-ports (master):

boost176: ignore enum-constexpr-conversion

See: #69103
See: #69568

Note: See TracTickets for help on using tickets.