google / ion

Ion
Apache License 2.0
1.43k stars 92 forks source link

Build fails on OS X 10.11.4 / Xcode 7.3 #17

Open cwillisf opened 8 years ago

cwillisf commented 8 years ago

Output from build.sh ends with:

[741/759] LINK tests/iongfxprofile_test, POSTBUILDS
FAILED: c++ -mmacosx-version-min=10.8 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -arch x86_64 -L. -stdlib=libc++ -o tests/iongfxprofile_test obj/ion/gfxprofile/tests/iongfxprofile_test.gpuprofiler_test.o libionprofile.a libionport.a libiongtest_vanilla.a libiongfxprofile.a libiongfx_for_tests.a libionanalytics.a libionbase.a libionb64.a libionzlib.a libiongfx.a libgraphicsmanager.a libstatetable.a libionportgfx.a libionmath.a libtracinghelper.a libionjsoncpp.a libionportgfx_for_tests.a libionbase_for_tests.a libiongtest_safeallocs_no_main.a libionmath_for_tests.a  -lc++ -framework AGL -framework Cocoa -framework OpenGL -framework AppKit
Undefined symbols for architecture x86_64:
  "std::__1::basic_istream<char, std::__1::char_traits<char> >& std::__1::getline<char, std::__1::char_traits<char>, std::__1::allocator<char> >(std::__1::basic_istream<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char)", referenced from:
      Json::Reader::parse(std::__1::basic_istream<char, std::__1::char_traits<char> >&, Json::Value&, bool) in libionjsoncpp.a(ionjsoncpp.json_reader.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
ERROR: Build failed.

In case it's relevant:

$ c++ -v
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Full build output: build-output.txt

GoatHunter commented 8 years ago

@cwillisf I've encountered this issue, there's a missing include in json_reader.cpp - #include <istream> They already fixed it on the jsoncpp in GitHub, but the submodule Ion points is an outdated version in Google's repositories