Skip to content

Instantly share code, notes, and snippets.

@zachgoldstein
Created February 3, 2015 00:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zachgoldstein/21367cf10f61d9c6ae96 to your computer and use it in GitHub Desktop.
Save zachgoldstein/21367cf10f61d9c6ae96 to your computer and use it in GitHub Desktop.
C++ std lib error.
➜ gosnow git:(master) ✗ go build -o static -ldflags "-linkmode external -extldflags -static" ./gosnow.go
# command-line-arguments
Undefined symbols for architecture x86_64:
"std::string::_Rep::_M_destroy(std::allocator<char> const&)", referenced from:
_sc_blueprint_free in libsnowcrash.a(CBlueprint.o)
std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >::~vector() in libsnowcrash.a(CBlueprint.o)
std::vector<snowcrash::ResourceGroup, std::allocator<snowcrash::ResourceGroup> >::~vector() in libsnowcrash.a(CBlueprint.o)
snowcrash::Resource::~Resource() in libsnowcrash.a(CBlueprint.o)
snowcrash::Payload::~Payload() in libsnowcrash.a(CBlueprint.o)
snowcrash::Parameter::~Parameter() in libsnowcrash.a(CBlueprint.o)
std::vector<std::string, std::allocator<std::string> >::~vector() in libsnowcrash.a(CBlueprint.o)
...
"std::string::_Rep::_S_empty_rep_storage", referenced from:
_sc_blueprint_new in libsnowcrash.a(CBlueprint.o)
_sc_blueprint_free in libsnowcrash.a(CBlueprint.o)
std::vector<std::pair<std::string, std::string>, std::allocator<std::pair<std::string, std::string> > >::~vector() in libsnowcrash.a(CBlueprint.o)
std::vector<snowcrash::ResourceGroup, std::allocator<snowcrash::ResourceGroup> >::~vector() in libsnowcrash.a(CBlueprint.o)
snowcrash::Resource::~Resource() in libsnowcrash.a(CBlueprint.o)
snowcrash::Payload::~Payload() in libsnowcrash.a(CBlueprint.o)
snowcrash::Parameter::~Parameter() in libsnowcrash.a(CBlueprint.o)
...
"std::logic_error::~logic_error()", referenced from:
std::domain_error::~domain_error() in libsnowcrash.a(CBlueprint.o)
std::domain_error::~domain_error() in libsnowcrash.a(CBlueprint.o)
std::domain_error::~domain_error() in libsnowcrash.a(CBlueprint.o)
std::invalid_argument::~invalid_argument() in libsnowcrash.a(CBlueprint.o)
std::invalid_argument::~invalid_argument() in libsnowcrash.a(CBlueprint.o)
std::invalid_argument::~invalid_argument() in libsnowcrash.a(CBlueprint.o)
std::length_error::~length_error() in libsnowcrash.a(CBlueprint.o)
...
"std::runtime_error::~runtime_error()", referenced from:
std::range_error::~range_error() in libsnowcrash.a(CBlueprint.o)
std::range_error::~range_error() in libsnowcrash.a(CBlueprint.o)
std::range_error::~range_error() in libsnowcrash.a(CBlueprint.o)
std::overflow_error::~overflow_error() in libsnowcrash.a(CBlueprint.o)
std::overflow_error::~overflow_error() in libsnowcrash.a(CBlueprint.o)
std::overflow_error::~overflow_error() in libsnowcrash.a(CBlueprint.o)
std::underflow_error::~underflow_error() in libsnowcrash.a(CBlueprint.o)
...
"std::ios_base::Init::Init()", referenced from:
__GLOBAL__I_a in libsnowcrash.a(CBlueprint.o)
"std::ios_base::Init::~Init()", referenced from:
__GLOBAL__I_a in libsnowcrash.a(CBlueprint.o)
"std::__throw_out_of_range(char const*)", referenced from:
_sc_metadata_handle in libsnowcrash.a(CBlueprint.o)
_sc_resource_group_handle in libsnowcrash.a(CBlueprint.o)
_sc_resource_handle in libsnowcrash.a(CBlueprint.o)
_sc_payload_handle in libsnowcrash.a(CBlueprint.o)
_sc_parameter_handle in libsnowcrash.a(CBlueprint.o)
_sc_value_handle in libsnowcrash.a(CBlueprint.o)
_sc_header_handle in libsnowcrash.a(CBlueprint.o)
...
"std::terminate()", referenced from:
___clang_call_terminate in libsnowcrash.a(CBlueprint.o)
"operator delete(void*)", referenced from:
_sc_blueprint_free in libsnowcrash.a(CBlueprint.o)
std::domain_error::~domain_error() in libsnowcrash.a(CBlueprint.o)
std::invalid_argument::~invalid_argument() in libsnowcrash.a(CBlueprint.o)
std::length_error::~length_error() in libsnowcrash.a(CBlueprint.o)
std::out_of_range::~out_of_range() in libsnowcrash.a(CBlueprint.o)
std::range_error::~range_error() in libsnowcrash.a(CBlueprint.o)
std::overflow_error::~overflow_error() in libsnowcrash.a(CBlueprint.o)
...
"operator new(unsigned long)", referenced from:
_sc_blueprint_new in libsnowcrash.a(CBlueprint.o)
"___cxa_begin_catch", referenced from:
___clang_call_terminate in libsnowcrash.a(CBlueprint.o)
"___gxx_personality_v0", referenced from:
Dwarf Exception Unwind Info (__eh_frame) in libsnowcrash.a(CBlueprint.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
@zachgoldstein
Copy link
Author

➜ Release git:(master) otool -L libsnowcrash.dylib
libsnowcrash.dylib:
/usr/local/lib/libsnowcrash.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 60.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 2577.0.0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment