Opened 2 years ago

Closed 2 years ago

#65277 closed defect (wontfix)

mame @0.244_0: error: exception specification of explicitly defaulted move assignment operator does not match the calculated one

Reported by: chillin- Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.2
Keywords: mojave Cc: chilli.namesake@…
Port: mame

Description

macmini6,2
macOS 10.14.6
Xcode 11.3.1

I waited a few days before reporting hoping someone else reported first, but I don't see any active mame ticket.

below is the stdout last complaints, please see attached main.log

gmake: *** [makefile:1339: macosx_x64_clang] Error 2
gmake: Leaving directory '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_mame/mame/work/mame-mame0244'
Command failed: /opt/local/bin/gmake  --jobs=8  --file=makefile  -w  all  ARCHOPTS="-Xlinker -no_deduplicate -Wno-unused-command-line-argument -stdlib=libc++" CC="/usr/bin/clang" CXX="/usr/bin/clang++" CFLAGS="-isystem/opt/local/include" LDOPTS="-L/opt/local/lib -Wl,-headerpad_max_install_names" PRECOMPILE=1 TESTS=0 BENCHMARKS=0 DEBUG=0 OPTIMIZE=2 NOWERROR=1 DEPRECATED=0 VERBOSE=1 USE_LIBSDL=1 USE_SYSTEM_LIB_ASIO=1 USE_SYSTEM_LIB_EXPAT=1 USE_SYSTEM_LIB_FLAC=1 USE_SYSTEM_LIB_JPEG=1 USE_SYSTEM_LIB_LUA=1 USE_SYSTEM_LIB_PORTAUDIO=1 USE_SYSTEM_LIB_PORTMIDI=1 USE_SYSTEM_LIB_PUGIXML=1 USE_SYSTEM_LIB_SQLITE3=1 USE_SYSTEM_LIB_UTF8PROC=1 USE_SYSTEM_LIB_ZLIB=1 TOOLS=1 PTR64=1 PYTHON_EXECUTABLE=/opt/local/bin/python3.9
Exit code: 2
Error: Failed to build mame: command execution failed

Attachments (1)

main.zip (265.3 KB) - added by chillin- 2 years ago.
mame build main.log zipped

Download all attachments as: .zip

Change History (8)

Changed 2 years ago by chillin-

Attachment: main.zip added

mame build main.log zipped

comment:1 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: mojave added; mame removed
Milestone: MacPorts Future
Owner: set to mascguy
Status: newassigned
Summary: mame @0.244_0 build failmame @0.244_0: error: exception specification of explicitly defaulted move assignment operator does not match the calculated one

The Milestone field is only used when the Component field is "base".

The relevant error is earlier in the log:

In file included from ../../../../../src/lib/netlist/analog/nld_bjt.cpp:4:
In file included from ../../../../../src/lib/netlist/solver/nld_solver.h:13:
In file included from ../../../../../src/lib/netlist/solver/nld_matrix_solver.h:15:
../../../../../src/lib/netlist/plib/pmatrix2d.h:166:18: error: exception specification of explicitly defaulted move assignment operator does not match the calculated one
                pmatrix2d_vrl &operator=(pmatrix2d_vrl &&) noexcept(!compile_info::clang_noexcept_issue::value) = default;
                               ^
In file included from ../../../../../src/lib/netlist/analog/nld_bjt.cpp:4:
In file included from ../../../../../src/lib/netlist/solver/nld_solver.h:13:
../../../../../src/lib/netlist/solver/nld_matrix_solver.h:329:46: note: in instantiation of template class 'plib::pmatrix2d_vrl<double, plib::mempool_arena<plib::aligned_arena, 32> >' requested here
                plib::pmatrix2d_vrl<fptype, arena_type>    m_gonn;
                                                           ^
In file included from ../../../../../src/lib/netlist/analog/nld_bjt.cpp:4:
In file included from ../../../../../src/lib/netlist/solver/nld_solver.h:13:
In file included from ../../../../../src/lib/netlist/solver/nld_matrix_solver.h:15:
../../../../../src/lib/netlist/plib/pmatrix2d.h:166:18: error: exception specification of explicitly defaulted move assignment operator does not match the calculated one
                pmatrix2d_vrl &operator=(pmatrix2d_vrl &&) noexcept(!compile_info::clang_noexcept_issue::value) = default;
                               ^
In file included from ../../../../../src/lib/netlist/analog/nld_bjt.cpp:4:
In file included from ../../../../../src/lib/netlist/solver/nld_solver.h:13:
../../../../../src/lib/netlist/solver/nld_matrix_solver.h:332:46: note: in instantiation of template class 'plib::pmatrix2d_vrl<double *, plib::mempool_arena<plib::aligned_arena, 32> >' requested here
                plib::pmatrix2d_vrl<fptype *, arena_type>  m_connected_net_Vn;
                                                           ^

comment:2 Changed 2 years ago by mascguy (Christopher Nielsen)

Mame built fine on our 10.14 builder, and binaries are published.

Can you try forcing a binary install, via sudo port -b install mame?`

comment:3 Changed 2 years ago by chillin-

I could, and I have zero doubt that the binary would install and work just fine, but then I wouldn't be building software; I'm just installing it. It's a nice thing that MacPorts publishes binaries, but the single greatest feature of MacPorts is that it is a source package manager based on FreeBSD ports, based on pkgsrc. Perhaps absurdly, I'm not playing games with mame. MacPorts is the game I play. Building software thrills me, and no one is actually using mame on this machine (yet). I'm not even sure what's in the upgrade. I see binary availability as a workaround when there's no time to build, or building fails and something is needed right now. That's not the case, and it isn't a solution. Thanks, but I can wait.

Last edited 2 years ago by chillin- (previous) (diff)

comment:4 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

error: exception specification of explicitly defaulted move assignment operator does not match the calculated one

Such an issue was fixed once before in MAME (two years ago):

https://git.redump.net/mame/commit/?id=d95c5b097ae118d66f8f3b6a9439403713e7d718

so I would guess some compilers (such as the version of clang you happen to be using, which is different from the version of clang we are using on our build servers) are more picky about whatever this is than others.

This commit made a couple weeks ago looks relevant:

https://git.redump.net/mame/commit/src/lib/netlist/plib/pmatrix2d.h?id=c60cc01dbc1ac362cd5af940f5abf6bad549f8f9

Does applying this patch fix the problem for you? If so, we can add it to the port.

comment:5 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Actually it looks like that commit is included in version 0.244, in which case: does reverting that patch fix the problem? If so, please report it to the developers of mame so they can fix it.

comment:6 Changed 2 years ago by mascguy (Christopher Nielsen)

It looks like there is further explanation, in the GitHub commit:

https://github.com/mamedev/mame/commit/c60cc01dbc1ac362cd5af940f5abf6bad549f8f9

That might be a good place to comment, in terms of engaging with upstream.

Last edited 2 years ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:7 in reply to:  6 Changed 2 years ago by mascguy (Christopher Nielsen)

Resolution: wontfix
Status: assignedclosed

Replying to mascguy:

It looks like there is further explanation, in the GitHub commit:

https://github.com/mamedev/mame/commit/c60cc01dbc1ac362cd5af940f5abf6bad549f8f9

That might be a good place to comment, in terms of engaging with upstream.

This is arguably an upstream issue, without any definitive action we can take.

If that changes, we can revisit.

Note: See TracTickets for help on using tickets.