|
Joined: Dec 2015
Posts: 167 Likes: 11
Senior Member
|
Senior Member
Joined: Dec 2015
Posts: 167 Likes: 11 |
Olivier's architectural direction for the memory system Are you referring to the total revamp that, so far as I know, has only been publicized in the form of a vague outline? (At least that to-do is only two months old now; I hope it won't be still there as is in two years.)
|
|
|
|
Joined: Mar 2001
Posts: 17,181 Likes: 211
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,181 Likes: 211 |
As I understand it, there's a stronger-form version in his head, based on (among other things) the Emulators.com white papers about TLBs and stuff. If you have specific ideas, it's possible to reply to that outline (as others have about other outlines).
|
|
|
|
Joined: Jan 2012
Posts: 33
Member
|
Member
Joined: Jan 2012
Posts: 33 |
I think the minimum OS version needs to be updated because mame now requires gcc 5, and that doesn't come with the last Xcode version that can be installed in 10.7. Will not install in brew, either. I think 10.9 is the bare minimum to build mame now.
|
|
|
|
Joined: Feb 2004
Posts: 2,579 Likes: 287
Very Senior Member
|
Very Senior Member
Joined: Feb 2004
Posts: 2,579 Likes: 287 |
Said it before, I'll say it again: I build MAME on 10.6.8 "Snow Leopard" any time I want using Clang 3.7 and libc++ from MacPorts. If you're building with GCC on OSX, you're pretty much unsupported at this point.
|
|
|
|
Joined: Jan 2012
Posts: 33
Member
|
Member
Joined: Jan 2012
Posts: 33 |
Said it before, I'll say it again: I build MAME on 10.6.8 "Snow Leopard" any time I want using Clang 3.7 and libc++ from MacPorts. If you're building with GCC on OSX, you're pretty much unsupported at this point. Then instructions to install and build with the necessary clang version should be stickied instead of this, or in addition.
|
|
|
|
Joined: Feb 2004
Posts: 2,579 Likes: 287
Very Senior Member
|
Very Senior Member
Joined: Feb 2004
Posts: 2,579 Likes: 287 |
This thread is not the official documentation. Please refer to the documentation site: http://docs.mamedev.org/initialsetup/compilingmame.htmlNote that it lists 10.9 as a prerequisite for the "happy path", and also lists MacPorts prerequisites for 10.6. You can submit proposed changes via pull requests.
|
|
|
|
Joined: Jul 2006
Posts: 109 Likes: 1
Senior Member
|
Senior Member
Joined: Jul 2006
Posts: 109 Likes: 1 |
I'm aware I'm "bumping" a necro thread here, but this is relevant to the topic at hand. As of 227 mame is failing to build on 10.9. I'm literally at a loss as to what/why it refuses to build. I've tried macports builds of gcc 10.2, gcc 8, clang3.7, clang6.0, clang11.0 I even went to the compiling MAME page and setup my environment exactly like it specifies and used the presented arguments to see if it would get anywhere, and nothing. The most I've got is the tools built, but the mame binary will not build. I've seen errors with bgfx and dear-imgui pop up with different things, builds oob on 10.15 but I've got nothing on 10.9. Using this command: make -j5 PTR64=1 NOWERROR=1 TOOLS=1 TARGETOS=macosx OVERRIDE_CC=/opt/local/bin/clang-mp-3.7 OVERRIDE_CXX=/opt/local/bin/clang++-mp-3.7 PYTHON_EXECUTABLE=/opt/local/bin/python2.7 ARCHOPTS=-stdlib=libc++ This is what I get for my failure: make -j5 PTR64=1 NOWERROR=1 TOOLS=1 TARGETOS=macosx OVERRIDE_CC=/opt/local/bin/clang-mp-3.7 OVERRIDE_CXX=/opt/local/bin/clang++-mp-3.7 PYTHON_EXECUTABLE=/opt/local/bin/python2.7 ARCHOPTS=-stdlib=libc++ Clang 6.0 detected /Applications/Xcode.app/Contents/Developer/usr/bin/make -R --no-print-directory -C build/projects/sdl/mame/gmake-osx-clang config=release64 precompile Precompiling src/emu/emu.h... error: invalid value 'c++17' in '-std=c++17' make[2]: *** [../../../../osx_clang/obj/x64/Release/emu.h.gch] Error 1 make[1]: *** [precompile] Error 2 make: *** [macosx_x64_clang] Error 2 Any ideas guys? This is making me want to pull my hair out!
|
|
|
|
Joined: Mar 2001
Posts: 17,181 Likes: 211
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,181 Likes: 211 |
0.227 uses the C++17 language standard, which came out in 2017. Because MacPorts and Homebrew's compilers rely on the libstdc++ that ships with the OS rather than using the matching version from GCC or LLVM/Clang, that means that 10.14 is now basically the floor for building MAME on macOS.
|
|
|
|
Joined: Jul 2006
Posts: 109 Likes: 1
Senior Member
|
Senior Member
Joined: Jul 2006
Posts: 109 Likes: 1 |
0.227 uses the C++17 language standard, which came out in 2017. Because MacPorts and Homebrew's compilers rely on the libstdc++ that ships with the OS rather than using the matching version from GCC or LLVM/Clang, that means that 10.14 is now basically the floor for building MAME on macOS. Well that explains that. Guess I might as well just build and ship with 10.15 for now. That's where I'm stuck on my mbp, and about all I can do until I get an M1. Thanks for helping with my ignorance RB
|
|
|
|
Joined: Mar 2001
Posts: 17,181 Likes: 211
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,181 Likes: 211 |
Not a problem. We tried to come up with a solution for older macOS versions but Homebrew and MacPorts didn't want to throw things out of sync with the OS even though it's fairly common on Windows and Linux.
Incidentally, the compile speeds on the M1 are great. I have a Mac mini M1 with 16 GB of RAM and it compiles in the vicinity of twice as fast as my 2020 MacBook Pro with the fastest build-to-order Core i7.
|
|
|
Forums9
Topics9,310
Posts121,713
Members5,070
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|