Home Page
Posted By: Carbon Compilation of MAME 0.208 fails on macOS - 03/27/19 01:01 PM
Compilation fails on macOS 10.14.4 and latest Xcode 10.2 with a string_view error.

Code
Compiling src/mame/drivers/interpro.cpp...
In file included from ../../../../../src/emu/http.cpp:12:
In file included from ../../../../../src/lib/util/server_ws_impl.hpp:8:
In file included from ../../../../../src/osd/asio.h:34:
In file included from ../../../../../3rdparty/asio/include/asio.hpp:21:
In file included from ../../../../../3rdparty/asio/include/asio/basic_datagram_socket.hpp:20:
In file included from ../../../../../3rdparty/asio/include/asio/basic_socket.hpp:40:
In file included from ../../../../../3rdparty/asio/include/asio/detail/reactive_socket_service.hpp:22:
In file included from ../../../../../3rdparty/asio/include/asio/buffer.hpp:27:
In file included from ../../../../../3rdparty/asio/include/asio/detail/string_view.hpp:23:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/experimental/string_view:11:2: error: 
      "<experimental/string_view> has been removed. Use <string_view> instead."
#error "<experimental/string_view> has been removed. Use <string_view> instead."
 ^
In file included from ../../../../../src/emu/http.cpp:12:
In file included from ../../../../../src/lib/util/server_ws_impl.hpp:8:
In file included from ../../../../../src/osd/asio.h:34:
In file included from ../../../../../3rdparty/asio/include/asio.hpp:21:
In file included from ../../../../../3rdparty/asio/include/asio/basic_datagram_socket.hpp:20:
In file included from ../../../../../3rdparty/asio/include/asio/basic_socket.hpp:40:
In file included from ../../../../../3rdparty/asio/include/asio/detail/reactive_socket_service.hpp:22:
In file included from ../../../../../3rdparty/asio/include/asio/buffer.hpp:27:
../../../../../3rdparty/asio/include/asio/detail/string_view.hpp:31:12: error: 
      no member named 'experimental' in namespace 'std'
using std::experimental::basic_string_view;
      ~~~~~^
../../../../../3rdparty/asio/include/asio/detail/string_view.hpp:32:12: error: 
      no member named 'experimental' in namespace 'std'
using std::experimental::string_view;
      ~~~~~^


... multiple errors of the same kind here .....

                                   ^
In file included from ../../../../../src/emu/http.cpp:12:
In file included from ../../../../../src/lib/util/server_ws_impl.hpp:8:
In file included from ../../../../../src/osd/asio.h:34:
In file included from ../../../../../3rdparty/asio/include/asio.hpp:78:
In file included from ../../../../../3rdparty/asio/include/asio/ip/basic_resolver.hpp:27:
In file included from ../../../../../3rdparty/asio/include/asio/ip/basic_resolver_iterator.hpp:27:
../../../../../3rdparty/asio/include/asio/ip/basic_resolver_entry.hpp:53:36: error: 
      no type named 'string_view' in namespace 'asio'; did you mean
      'std::string_view'?
      ASIO_STRING_VIEW_PARAM host, ASIO_STRING_VIEW_PARAM service)
                                   ^~~~~~~~~~~~~~~~~~~~~~
                                   std::string_view
In file included from ../../../../../src/emu/http.cpp:12:
In file included from ../../../../../src/lib/util/server_ws_impl.hpp:8:
In file included from ../../../../../src/osd/asio.h:34:
In file included from ../../../../../3rdparty/asio/include/asio.hpp:21:
In file included from ../../../../../3rdparty/asio/include/asio/basic_datagram_socket.hpp:20:
In file included from ../../../../../3rdparty/asio/include/asio/basic_socket.hpp:40:
In file included from ../../../../../3rdparty/asio/include/asio/detail/reactive_socket_service.hpp:22:
In file included from ../../../../../3rdparty/asio/include/asio/buffer.hpp:27:
../../../../../3rdparty/asio/include/asio/detail/string_view.hpp:40:33: note: 
      expanded from macro 'ASIO_STRING_VIEW_PARAM'
# define ASIO_STRING_VIEW_PARAM asio::string_view
                                ^~~~~~
In file included from ../../../../../src/emu/http.cpp:1:
In file included from ../../../../../src/emu/emu.h:29:
In file included from /Users/charel/Desktop/mame/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/emucore.h:37:
In file included from /Users/charel/Desktop/mame/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/emu/emualloc.h:16:
In file included from /Users/charel/Desktop/mame/build/projects/sdl/mame/gmake-osx-clang/../../../../../src/osd/osdcore.h:28:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:500:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:770:37: note: 
      'std::string_view' declared here
typedef basic_string_view<char>     string_view;
                                    ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Compiling src/mame/drivers/jackie.cpp...
2 warnings and 20 errors generated.
make[2]: *** [../../../../osx_clang/obj/x64/Release/src/emu/http.o] Error 1
make[1]: *** [emu] Error 2
make[1]: *** Waiting for unfinished jobs....
Compiling src/mame/drivers/intellec4.cpp...
Compiling src/mame/drivers/lordgun.cpp...
Compiling src/mame/drivers/ipc.cpp...
Compiling src/mame/machine/cammu.cpp...
Compiling src/mame/drivers/pgm.cpp...
Compiling src/mame/drivers/ipds.cpp...
Compiling src/mame/drivers/isbc.cpp...
Compiling src/mame/machine/interpro_arbga.cpp...
Compiling src/mame/drivers/pgm2.cpp...
Compiling src/mame/machine/interpro_ioga.cpp...
Compiling src/mame/drivers/isbc8010.cpp...
Compiling src/mame/machine/interpro_mcga.cpp...
Compiling src/mame/drivers/isbc8030.cpp...
Compiling src/mame/drivers/pgm3.cpp...
Compiling src/mame/machine/interpro_sga.cpp...
Compiling src/mame/drivers/spoker.cpp...
Compiling src/mame/drivers/rex6000.cpp...
Compiling src/mame/machine/igs022.cpp...
Archiving libinterpro.a...
Compiling src/mame/drivers/sdk51.cpp...
Compiling src/mame/drivers/sdk80.cpp...
Compiling src/mame/machine/igs025.cpp...
Compiling src/mame/machine/igs028.cpp...
Compiling src/mame/machine/igs036crypt.cpp...
Compiling src/mame/drivers/sdk85.cpp...
Compiling src/mame/drivers/sdk86.cpp...
Compiling src/mame/machine/imds2ioc.cpp...
Compiling src/mame/machine/pgm2_memcard.cpp...
Compiling src/mame/machine/pgmcrypt.cpp...
Compiling src/mame/machine/pgmprot_igs025_igs012.cpp...
Compiling src/mame/machine/pgmprot_igs025_igs022.cpp...
Compiling src/mame/machine/imm6_76.cpp...
Compiling src/mame/machine/pgmprot_igs025_igs028.cpp...
Compiling src/mame/machine/pgmprot_igs027a_type1.cpp...
Compiling src/mame/machine/pgmprot_igs027a_type2.cpp...
Compiling src/mame/machine/isbc_208.cpp...
Compiling src/mame/machine/isbc_215g.cpp...
Compiling src/mame/machine/pgmprot_igs027a_type3.cpp...
Compiling src/mame/machine/pgmprot_orlegend.cpp...
Archiving libintel.a...
Compiling src/mame/video/goldstar.cpp...
Compiling src/mame/video/igs017_igs031.cpp...
Compiling src/mame/video/iqblock.cpp...
Compiling src/mame/video/lordgun.cpp...
Compiling src/mame/video/pgm.cpp...
Compiling src/mame/video/pgm2.cpp...
Archiving libigs.a...
make: *** [macosx_x64_clang] Error 2
Um, are you compiling in C++17 mode? That shouldn't happen with C++14 mode selected which is what's supposed to happen. We haven't changed ASIO since the last release, so it must be a change to your tools or build environment. You may be able to install a compatible version of ASIO system-wide and set USE_SYSTEM_ASIO=1 and see what happens. (We haven't moved to C++17 yet because we don't have good support for it across platforms/toolchains yet.)
Is Xcode 10.2 released now? I thought it was still beta.
Posted By: Carbon Re: Compilation of MAME 0.208 fails on macOS - 03/27/19 03:16 PM
Released yesterday alongside 10.14.4.

It occurs on both my iMac and Macbook Pro and apart of updating macOS and Xcode I did not change anything since I compiled MAME successfully last month.
Yep same issue here. Just updated to 10.14.4 and Xcode yesterday and haven't changed anything else. Since moving to Mojave I don't even have a dev environment setup other than the stuff needed for MAME heh.
Same issue here, although I'm still on 10.14.3, Xcode updated to 10.2 a couple of days prior via the App Store (10.14.4 is sitting in the software update cue...)
Ok, I'll get the update tonight and figure out what's going on.
There is a permanent fix in Github now; if you can pull from there and build it'll work with Xcode 10.2 (and should continue to work with older Xcode).

If you'd rather not do that, open 3rdparty/asio/include/asio/detail/string_view.hpp in your favorite editor.

On line 19, immediately after "#if defined(ASIO_HAS_STD_STRING_VIEW)" add this new line:

#undef ASIO_HAS_EXPERIMENTAL_STRING_VIEW

Save the file and things should build fine.
Posted By: Carbon Re: Compilation of MAME 0.208 fails on macOS - 03/28/19 05:54 AM
Getting a different error now:

Code
In file included from ../../../../../3rdparty/asio/include/asio/basic_socket.hpp:40:
In file included from ../../../../../3rdparty/asio/include/asio/detail/reactive_socket_service.hpp:22:
In file included from ../../../../../3rdparty/asio/include/asio/buffer.hpp:27:
In file included from ../../../../../3rdparty/asio/include/asio/detail/string_view.hpp:24:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/experimental/string_view:11:2: error: 
      "<experimental/string_view> has been removed. Use <string_view> instead."
#error "<experimental/string_view> has been removed. Use <string_view> instead."
 ^
In file included from ../../../../../src/emu/http.cpp:12:
In file included from ../../../../../src/lib/util/server_ws_impl.hpp:8:
In file included from ../../../../../src/osd/asio.h:34:
In file included from ../../../../../3rdparty/asio/include/asio.hpp:21:
In file included from ../../../../../3rdparty/asio/include/asio/basic_datagram_socket.hpp:20:
In file included from ../../../../../3rdparty/asio/include/asio/basic_socket.hpp:40:
In file included from ../../../../../3rdparty/asio/include/asio/detail/reactive_socket_service.hpp:22:
In file included from ../../../../../3rdparty/asio/include/asio/buffer.hpp:27:
../../../../../3rdparty/asio/include/asio/detail/string_view.hpp:32:12: error: no member named
      'experimental' in namespace 'std'
using std::experimental::basic_string_view;
      ~~~~~^
../../../../../3rdparty/asio/include/asio/detail/string_view.hpp:33:12: error: no member named
      'experimental' in namespace 'std'
using std::experimental::string_view;
      ~~~~~^
In file included from ../../../../../src/emu/http.cpp:12:
In file included from ../../../../../src/lib/util/server_ws_impl.hpp:8:
In file included from ../../../../../src/osd/asio.h:34:
In file included from ../../../../../3rdparty/asio/include/asio.hpp:21:
Grabbed the latest off GitHub earlier and it worked for me. I tried adding the line to the string_view file and pick up where my other compile left off but it failed with the same error Carbon got above. The brand new source from GitHub (in a separate directory and everything) worked great though.
Posted By: Carbon Re: Compilation of MAME 0.208 fails on macOS - 03/28/19 10:06 AM
Yeah, I applied the patch manually.
Posted By: Llaffer Re: Compilation of MAME 0.208 fails on macOS - 03/30/19 08:52 PM
I tried a clean pull from the 208 release source and manually added the line in string_view.hpp.

I'm using the new dev tools that was released with Xcode 10.2.

These are the errors that I'm getting:

Code
Compiling src/osd/modules/lib/osdlib_macosx.cpp...
In file included from ../../../../../src/osd/modules/lib/osdlib_macosx.cpp:26:
In file included from /Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:19:
In file included from /Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:43:
/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:13:5: error: 
      'DEPLOYMENT_RUNTIME_SWIFT' is not defined, evaluates to 0
      [-Werror,-Wundef]
#if DEPLOYMENT_RUNTIME_SWIFT
    ^
In file included from ../../../../../src/osd/modules/lib/osdlib_macosx.cpp:26:
In file included from /Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:19:
In file included from /Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:43:
In file included from /Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:18:
/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:13:5: error: 
      'DEPLOYMENT_RUNTIME_SWIFT' is not defined, evaluates to 0
      [-Werror,-Wundef]
#if DEPLOYMENT_RUNTIME_SWIFT
    ^
/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:19:5: error: 
      'DEPLOYMENT_RUNTIME_SWIFT' is not defined, evaluates to 0
      [-Werror,-Wundef]
#if DEPLOYMENT_RUNTIME_SWIFT
    ^
/Library/Frameworks/CoreFoundation.framework/Headers/CFAvailability.h:168:5: error: 
      'DEPLOYMENT_RUNTIME_SWIFT' is not defined, evaluates to 0
      [-Werror,-Wundef]
#if DEPLOYMENT_RUNTIME_SWIFT
    ^
In file included from ../../../../../src/osd/modules/lib/osdlib_macosx.cpp:26:
In file included from /Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:19:
In file included from /Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:43:
/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:44:6: error: 
      '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Werror,-Wundef]
#if !__BIG_ENDIAN__ && !__LITTLE_ENDIAN__
     ^
/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:48:5: error: 
      '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Werror,-Wundef]
#if __BIG_ENDIAN__ && __LITTLE_ENDIAN__
    ^
/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:441:5: error: 
      '__LLP64__' is not defined, evaluates to 0 [-Werror,-Wundef]
#if __LLP64__
    ^
/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:646:5: error: 
      'DEPLOYMENT_RUNTIME_SWIFT' is not defined, evaluates to 0
      [-Werror,-Wundef]
#if DEPLOYMENT_RUNTIME_SWIFT
    ^
/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:673:5: error: 
      'DEPLOYMENT_RUNTIME_SWIFT' is not defined, evaluates to 0
      [-Werror,-Wundef]
#if DEPLOYMENT_RUNTIME_SWIFT
    ^
In file included from ../../../../../src/osd/modules/lib/osdlib_macosx.cpp:26:
In file included from /Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:19:
In file included from /Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:49:
In file included from /Library/Frameworks/CoreFoundation.framework/Headers/CFCalendar.h:16:
In file included from /Library/Frameworks/CoreFoundation.framework/Headers/CFTimeZone.h:18:
/Library/Frameworks/CoreFoundation.framework/Headers/CFString.h:152:5: error: 
      'DEPLOYMENT_RUNTIME_SWIFT' is not defined, evaluates to 0
      [-Werror,-Wundef]
#if DEPLOYMENT_RUNTIME_SWIFT
    ^
In file included from ../../../../../src/osd/modules/lib/osdlib_macosx.cpp:26:
In file included from /Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:24:
In file included from /Library/Frameworks/AE.framework/Headers/AE.h:20:
In file included from /Library/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:39:
In file included from /Library/Frameworks/CarbonCore.framework/Headers/Script.h:17:
/Library/Frameworks/CarbonCore.framework/Headers/IntlResources.h:197:5: error: 
      '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Werror,-Wundef]
#if __BIG_ENDIAN__
    ^
In file included from ../../../../../src/osd/modules/lib/osdlib_macosx.cpp:26:
In file included from /Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from /Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:24:
In file included from /Library/Frameworks/AE.framework/Headers/AE.h:20:
In file included from /Library/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:67:
/Library/Frameworks/CarbonCore.framework/Headers/Math64.h:47:7: error: 
      'MATH64_USE_INLINE' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if MATH64_USE_INLINE
      ^
/Library/Frameworks/CarbonCore.framework/Headers/Math64.h:69:7: error: 
      'MATH64_USE_INLINE' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if MATH64_USE_INLINE
      ^
/Library/Frameworks/CarbonCore.framework/Headers/Math64.h:96:7: error: 
      'MATH64_USE_INLINE' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if MATH64_USE_INLINE
      ^
/Library/Frameworks/CarbonCore.framework/Headers/Math64.h:123:7: error: 
      'MATH64_USE_INLINE' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if MATH64_USE_INLINE
      ^
/Library/Frameworks/CarbonCore.framework/Headers/Math64.h:148:7: error: 
      'MATH64_USE_INLINE' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if MATH64_USE_INLINE
      ^
/Library/Frameworks/CarbonCore.framework/Headers/Math64.h:204:7: error: 
      'MATH64_USE_INLINE' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if MATH64_USE_INLINE
      ^
/Library/Frameworks/CarbonCore.framework/Headers/Math64.h:230:7: error: 
      'MATH64_USE_INLINE' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if MATH64_USE_INLINE
      ^
/Library/Frameworks/CarbonCore.framework/Headers/Math64.h:264:7: error: 
      'MATH64_USE_INLINE' is not defined, evaluates to 0 [-Werror,-Wundef]
  #if MATH64_USE_INLINE
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [../../../../osx_clang/obj/x64/Release/ocore_sdl/src/osd/modules/lib/osdlib_macosx.o] Error 1
make[1]: *** [ocore_sdl] Error 2
make: *** [macosx_x64_clang] Error 2


Thoughts? Thanks.
Did you run Xcode after installing it and let it do the additional downloads? Because none of those errors are MAME related.
Posted By: Llaffer Re: Compilation of MAME 0.208 fails on macOS - 03/31/19 01:31 AM
I thought that I did. I'll try it again.
Posted By: Llaffer Re: Compilation of MAME 0.208 fails on macOS - 03/31/19 04:36 PM
I switched back to the older tools that I've been using for the last few months and got past that and getting the same errors that Carbon got.

I changed the added line to:

Code
#undef ASIO_HAS_STD_EXPERIMENTAL_STRING_VIEW


and it was able to get past that point and continue to build.

If this builds I'll try installing the new tools again and build to see if I still get the errors above or if that also builds.
Posted By: Llaffer Re: Compilation of MAME 0.208 fails on macOS - 04/01/19 12:23 AM
Here's my update: With the updated #undef line above and the old tools, I could get it to build. But with the new tools, I get the errors that I previously posted at the top of page 2.
Posted By: Llaffer Re: Compilation of MAME 0.208 fails on macOS - 05/05/19 04:49 AM
Here's an update from what I've learned.

I got access to a mac running standard 10.14.4 and everything builds fine.

So seems something with 10.14.5 beta is breaking the compiler. But at least I have something where I can do builds now reliably without having to revert to an older set of dev tools.
Yeah, I'm running the beta and MAME builds fine every time, so there's something weird and specific to your system going on. I'm glad you figured something out at least.
© Forums