# OSX Experimental build problems

**URL:** <https://discourse.cataclysmdda.org/t/osx-experimental-build-problems/10593>\
**Category:** The Garage\
**Created:** [September 26, 2015, 2:14am UTC](https://discourse.cataclysmdda.org/t/osx-experimental-build-problems/10593 "2015-09-26T02:14:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Telkoth](https://avatars.discourse-cdn.com/v4/letter/t/5f9b8f/32.png) [@Telkoth](https://discourse.cataclysmdda.org/u/Telkoth)\
**Post date:** [September 26, 2015, 2:14am UTC](https://discourse.cataclysmdda.org/t/osx-experimental-build-problems/10593/1 "2015-09-26T02:14:39Z")

</div>

I’m running into trouble building the experimental ver on OSX. I was able to make the regular version using the compile guide no problems.  
Can anyone point me in the right direction. Cheers

Following the guide found here: [https://github.com/CleverRaven/Cataclysm-DDA/blob/master/COMPILING.md](https://github.com/CleverRaven/Cataclysm-DDA/blob/master/COMPILING.md)

When I used the brew command I got the following errors: (brew install homebrew/games/cataclysm --HEAD)

==\> Installing cataclysm from homebrew/homebrew-games  
==\> Cloning [https://github.com/CleverRaven/Cataclysm-DDA.git](https://github.com/CleverRaven/Cataclysm-DDA.git)  
Updating /Library/Caches/Homebrew/cataclysm–git  
==\> Checking out branch master  
==\> make NATIVE=osx RELEASE=1 CXX=clang++ LD=clang++ CXXFLAGS= CLANG=1  
#include “creature.h”  
^  
1 error generated.  
make[1]: \*\*\* [obj/creature\_test.o] Error 1  
make: \*\*\* [tests] Error 2

READ THIS: [https://git.io/brew-troubleshooting](https://git.io/brew-troubleshooting)  
If reporting this issue please do so at (not Homebrew/homebrew):  
[https://github.com/homebrew/homebrew-games/issues](https://github.com/homebrew/homebrew-games/issues)

When I used the make command I got the following errors: (make NATIVE=osx RELEASE=1 CXX=clang++ LD=clang++ CXXFLAGS= CLANG=1)

make NATIVE=osx RELEASE=1 CXX=clang++ LD=clang++ CXXFLAGS= CLANG=1  
#define VERSION "0.C-6526-g06e5513"  
mkdir -p obj  
clang++ -DRELEASE -DMACOSX -DLOCALIZE -c src/action.cpp -o obj/action.o  
In file included from src/action.cpp:1:  
src/action.h:11:6: error: ISO C++ forbids forward references to ‘enum’ types  
enum action\_id : int {  
^  
src/action.h:11:16: error: expected unqualified-id  
enum action\_id : int {  
^  
In file included from src/action.cpp:2:  
In file included from src/output.h:4:  
In file included from src/color.h:5:  
src/json.h:37:30: error: expected ‘;’ at end of declaration list  
const char \*c\_str() const noexcept { return what(); }  
^  
;  
src/json.h:216:9: warning: ‘auto’ type specifier is a C++11 extension  
[-Wc++11-extensions]  
auto read(T &thing) -\> decltype(thing.str(), true)  
^  
src/json.h:216:9: error: ‘auto’ not allowed in function return type  
auto read(T &thing) -\> decltype(thing.str(), true)  
^~~~  
src/json.h:216:28: error: expected ‘;’ at end of declaration list  
auto read(T &thing) -\> decltype(thing.str(), true)  
^  
;  
src/json.h:216:54: error: too many arguments provided to function-like macro  
invocation  
auto read(T &thing) -\> decltype(thing.str(), true)  
^  
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/…/include/c++/v1/\_\_config:559:9: note:  
macro ‘decltype’ defined here  
#define decltype(x) **typeof** (x)  
^  
In file included from src/action.cpp:2:  
In file included from src/output.h:4:  
In file included from src/color.h:5:  
src/json.h:230:48: error: too many arguments provided to function-like macro  
invocation  
auto read(T &v) -\> decltype(v.front(), true) {  
^  
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/…/include/c++/v1/\_\_config:559:9: note:  
macro ‘decltype’ defined here  
#define decltype(x) **typeof** (x)  
^  
In file included from src/action.cpp:2:  
In file included from src/output.h:4:  
In file included from src/color.h:5:  
src/json.h:413:9: warning: ‘auto’ type specifier is a C++11 extension  
[-Wc++11-extensions]  
auto write(const T &thing) -\> decltype(thing.str(), (void)0)  
^  
src/json.h:413:9: error: ‘auto’ not allowed in function return type  
auto write(const T &thing) -\> decltype(thing.str(), (void)0)  
^~~~  
src/json.h:413:35: error: expected ‘;’ at end of declaration list  
auto write(const T &thing) -\> decltype(thing.str(), (void)0)  
^  
;  
src/json.h:413:61: error: too many arguments provided to function-like macro  
invocation  
auto write(const T &thing) -\> decltype(thing.str(), (void)0)  
^  
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/…/include/c++/v1/\_\_config:559:9: note:  
macro ‘decltype’ defined here  
#define decltype(x) **typeof** (x)  
^  
In file included from src/action.cpp:2:  
In file included from src/output.h:4:  
In file included from src/color.h:5:  
src/json.h:438:71: error: too many arguments provided to function-like macro  
invocation  
auto write(T const &container) -\> decltype(container.front(), (void)0)  
^  
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/…/include/c++/v1/\_\_config:559:9: note:  
macro ‘decltype’ defined here  
#define decltype(x) **typeof** (x)  
^  
In file included from src/action.cpp:2:  
In file included from src/output.h:4:  
In file included from src/color.h:5:  
src/json.h:473:13: error: no matching member function for call to 'member’  
member(name);  
^ ~~~~~  
src/json.h:471:36: note: candidate function template not viable: requires 2  
arguments, but 1 was provided  
template void member(const std::string &name, cons…  
^  
src/json.h:830:39: warning: rvalue references are a C++11 extension  
[-Wc++11-extensions]  
JsonSerializer(JsonSerializer &&) = default;  
^  
src/json.h:830:45: warning: defaulted function definitions are a C++11 extension  
[-Wc++11-extensions]  
JsonSerializer(JsonSerializer &&) = default;  
^  
src/json.h:831:50: warning: defaulted function definitions are a C++11 extension  
[-Wc++11-extensions]  
JsonSerializer(const JsonSerializer &) = default;  
^  
src/json.h:832:50: warning: rvalue references are a C++11 extension  
[-Wc++11-extensions]  
JsonSerializer &operator=(JsonSerializer &&) = default;  
^  
src/json.h:832:56: warning: defaulted function definitions are a C++11 extension  
[-Wc++11-extensions]  
JsonSerializer &operator=(JsonSerializer &&) = default;  
^  
src/json.h:833:61: warning: defaulted function definitions are a C++11 extension  
[-Wc++11-extensions]  
JsonSerializer &operator=(const JsonSerializer &) = default;  
^  
src/json.h:869:43: warning: rvalue references are a C++11 extension  
[-Wc++11-extensions]  
JsonDeserializer(JsonDeserializer &&) = default;  
^  
src/json.h:869:49: warning: defaulted function definitions are a C++11 extension  
[-Wc++11-extensions]  
JsonDeserializer(JsonDeserializer &&) = default;  
^  
src/json.h:870:54: warning: defaulted function definitions are a C++11 extension  
[-Wc++11-extensions]  
JsonDeserializer(const JsonDeserializer &) = default;  
^  
src/json.h:871:54: warning: rvalue references are a C++11 extension  
[-Wc++11-extensions]  
JsonDeserializer &operator=(JsonDeserializer &&) = default;  
^  
src/json.h:871:60: warning: defaulted function definitions are a C++11 extension  
[-Wc++11-extensions]  
JsonDeserializer &operator=(JsonDeserializer &&) = default;  
^  
src/json.h:872:65: warning: defaulted function definitions are a C++11 extension  
[-Wc++11-extensions]  
JsonDeserializer &operator=(const JsonDeserializer &) = default;  
^  
In file included from src/action.cpp:2:  
In file included from src/output.h:4:  
src/color.h:401:45: warning: ‘override’ keyword is a C++11 extension  
[-Wc++11-extensions]  
void serialize(JsonOut &json) const override;  
^  
src/color.h:402:40: warning: ‘override’ keyword is a C++11 extension  
[-Wc++11-extensions]  
void deserialize(JsonIn &jsin) override;  
^  
src/color.h:433:45: error: a space is required between consecutive right angle  
brackets (use ‘\> \>’)  
std::list\<std::pair\<std::string, std::string\>\> get\_note\_color\_names();  
^~  
\> \>  
In file included from src/action.cpp:2:  
src/output.h:12:6: error: ISO C++ forbids forward references to ‘enum’ types  
enum direction : unsigned;  
^  
src/output.h:12:16: error: expected unqualified-id  
enum direction : unsigned;  
^  
src/output.h:77:6: error: ISO C++ forbids forward references to ‘enum’ types  
enum game\_message\_type : int {  
^  
src/output.h:77:24: error: expected unqualified-id  
enum game\_message\_type : int {  
^  
src/output.h:241:14: error: expected identifier or '{'  
enum : int { iMaxSteps = 8 };  
^  
src/output.h:241:9: warning: declaration does not declare anything  
[-Wmissing-declarations]  
enum : int { iMaxSteps = 8 };  
^  
src/output.h:243:33: warning: defaulted function definitions are a C++11  
extension [-Wc++11-extensions]  
scrollingcombattext() = default;  
^  
src/output.h:250:27: error: field has incomplete type 'direction’  
direction oDir;  
^  
src/output.h:12:6: note: forward declaration of 'direction’  
enum direction : unsigned;  
^  
fatal error: too many errors emitted, stopping now [-ferror-limit=]  
18 warnings and 20 errors generated.  
make: \*\*\* [obj/action.o] Error 1

---

<div class="post-metadata">

**Author:** ![BevapDin](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.cataclysmdda.org/bevapdin/32/228_2.png) [@BevapDin](https://discourse.cataclysmdda.org/u/BevapDin)\
**Post date:** [September 26, 2015, 3:07pm UTC](https://discourse.cataclysmdda.org/t/osx-experimental-build-problems/10593/2 "2015-09-26T15:07:53Z")

</div>

> src/action.h:11:6: error: ISO C++ forbids forward references to 'enum' types

This looks like your compiler does not understand the C++11 stuff.

As far as I know, you have to add [tt]OSX\_MIN=10.7[/tt] to the make command. It’s done in the other (successful) builds, e.g. [http://smf.cataclysmdda.com/index.php?topic=9106.msg207567#msg207567](http://smf.cataclysmdda.com/index.php?topic=9106.msg207567#msg207567)

---

<div class="post-metadata">

**Author:** ![Telkoth](https://avatars.discourse-cdn.com/v4/letter/t/5f9b8f/32.png) [@Telkoth](https://discourse.cataclysmdda.org/u/Telkoth)\
**Post date:** [September 27, 2015, 3:00am UTC](https://discourse.cataclysmdda.org/t/osx-experimental-build-problems/10593/3 "2015-09-27T03:00:10Z")

</div>

Figured it out. Seems I forgot to Link gettext with homebrew. Im an idiot. Sorry
