Sounds like you're working with a very confused build environment there, so things are bound to break The game is no longer intended to use MacPorts or Homebrew, but in this case you might be OK. I can't really say because it's not a tested or supported configuration anymore (for a lot of reasons).iconv might exist in libraries/osx, but that doesn't mean tinygettext has to use it, iconv also comes bundled with OS X - and if you have Homebrew installed, some scripts will pick up its libraries too. So unless you modified the tinygettext build scripts or Makefiles to pick up the correct iconv, maybe it's using a different one than you expect. The same goes for ICU, a very basic version comes bundled with OS X, so you would need to modify premake scripts or the Makefiles to use Homebrew's version, which could have its own dependencies in turn. Of course, it's easy to check what the compiler is doing, by building with "make verbose=1" or passing -v directly to the compiler and closely inspecting the linker invocations. __ZN4L10nD2Ev is the mangled symbol name, c++filt will tell you the human readable name. Most likely it's failing at some earlier step, perhaps an unresolved dependency, you should post the entire build log since it's easy to miss something. In fact, if you do, use "make clean && make verbose=1", to get the full verbose output up to the error. You can save it to a file with something like "make verbose=1 > build_output.txt 2>&1"