six-leo / google-breakpad

Automatically exported from code.google.com/p/google-breakpad
0 stars 0 forks source link

crash_report fails to link on Mac OS X #375

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Check out Breakpad (I used the current version, r556) and attempt to compile 
it under Mac OS X 10.6.

What is the expected output? What do you see instead?

Expected: The frameworks compile.

Instead:

Ld 
build/crash_report.build/Release/crash_report.build/Objects-normal/ppc/crash_rep
ort normal ppc
cd 
/Users/nicholas/Documents/Development/Pester/Breakpad/breakpad/src/tools/mac/cra
sh_report
setenv MACOSX_DEPLOYMENT_TARGET 10.4
/Developer/usr/bin/g++-4.0 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -
L/Users/nicholas/Documents/Development/Pester/Breakpad/breakpad/src/tools/mac/cr
ash_report/build/Release -
F/Users/nicholas/Documents/Development/Pester/Breakpad/breakpad/src/tools/mac/cr
ash_report/build/Release -filelist 
/Users/nicholas/Documents/Development/Pester/Breakpad/breakpad/src/tools/mac/cra
sh_report/build/crash_report.build/Release/crash_report.build/Objects-
normal/ppc/crash_report.LinkFileList -mmacosx-version-min=10.4 -lcrypto 
-framework Foundation -o 
/Users/nicholas/Documents/Development/Pester/Breakpad/breakpad/src/tools/mac/cra
sh_report/build/crash_report.build/Release/crash_report.build/Objects-
normal/ppc/crash_report

ld: warning: object file compiled with -mlong-branch which is no longer needed. 
To remove this warning, recompile without -mlong-branch: 
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/crt1.o
ld: warning: object file compiled with -mlong-branch which is no longer needed. 
To remove this warning, recompile without -mlong-branch: 
/Developer/usr/bin/../lib/gcc/powerpc-apple-darwin10/4.0.1/crt3.o
Undefined symbols:
  "google_breakpad::CFIRuleParser::Parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
      google_breakpad::BasicSourceLineResolver::Module::ParseCFIRuleSet(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, 
google_breakpad::CFIFrameInfo*) constin basic_source_line_resolver.o
  "bool google_breakpad::CFIFrameInfo::FindCallerRegs<unsigned long long>(google_breakpad::CFIFrameInfo::RegisterValueMap<unsigned long long> const&, 
google_breakpad::MemoryRegion const&, 
google_breakpad::CFIFrameInfo::RegisterValueMap<unsigned long long>*) const", 
referenced from:
      google_breakpad::SimpleCFIWalker<unsigned long long, MDRawContextAMD64>::FindCallerRegisters(google_breakpad::MemoryRegion const&, google_breakpad::CFIFrameInfo 
const&, MDRawContextAMD64 const&, int, MDRawContextAMD64*, int*) constin 
stackwalker_amd64.o
  "vtable for google_breakpad::CFIFrameInfoParseHandler", referenced from:
      __ZTVN15google_breakpad24CFIFrameInfoParseHandlerE$non_lazy_ptr in basic_source_line_resolver.o
  "bool google_breakpad::CFIFrameInfo::FindCallerRegs<unsigned int>(google_breakpad::CFIFrameInfo::RegisterValueMap<unsigned int> const&, google_breakpad::MemoryRegion 
const&, google_breakpad::CFIFrameInfo::RegisterValueMap<unsigned int>*) const", 
referenced from:
      google_breakpad::SimpleCFIWalker<unsigned int, MDRawContextX86>::FindCallerRegisters(google_breakpad::MemoryRegion const&, google_breakpad::CFIFrameInfo const&, 
MDRawContextX86 const&, int, MDRawContextX86*, int*) constin stackwalker_x86.o
      google_breakpad::StackwalkerARM::GetCallerFrame(google_breakpad::CallStack const*)in stackwalker_arm.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

Original issue reported on code.google.com by nriley on 25 Mar 2010 at 4:01

GoogleCodeExporter commented 9 years ago
I'm also having this problem r569.  Here's the output from Xcode:

Ld build/Debug/crash_report normal i386
cd /Users/grant/Development/google-breakpad/src/tools/mac/crash_report
setenv MACOSX_DEPLOYMENT_TARGET 10.4
/Developer/usr/bin/g++-4.0 -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
-L/Users/grant/Development/google-breakpad/src/tools/mac/crash_report/build/Debu
g
-F/Users/grant/Development/google-breakpad/src/tools/mac/crash_report/build/Debu
g
-filelist
/Users/grant/Development/google-breakpad/src/tools/mac/crash_report/build/crash_
report.build/Debug/crash_report.build/Objects-normal/i386/crash_report.LinkFileL
ist
-mmacosx-version-min=10.4 -lcrypto -framework Foundation -o
/Users/grant/Development/google-breakpad/src/tools/mac/crash_report/build/Debug/
crash_report

Undefined symbols:
  "bool google_breakpad::CFIFrameInfo::FindCallerRegs<unsigned
int>(google_breakpad::CFIFrameInfo::RegisterValueMap<unsigned int> const&,
google_breakpad::MemoryRegion const&,
google_breakpad::CFIFrameInfo::RegisterValueMap<unsigned int>*) const", 
referenced from:
      google_breakpad::SimpleCFIWalker<unsigned int,
MDRawContextX86>::FindCallerRegisters(google_breakpad::MemoryRegion const&,
google_breakpad::CFIFrameInfo const&, MDRawContextX86 const&, int, 
MDRawContextX86*,
int*) constin stackwalker_x86.o
      google_breakpad::StackwalkerARM::GetCallerFrame(google_breakpad::CallStack
const*)in stackwalker_arm.o
  "google_breakpad::Tokenize(char*, char const*, int, __gnu_debug_def::vector<char*,
std::allocator<char*> >*)", referenced from:
      google_breakpad::BasicSourceLineResolver::Module::ParseLine(char*) in
basic_source_line_resolver.o
      google_breakpad::BasicSourceLineResolver::Module::ParseFunction(char*)  in
basic_source_line_resolver.o
      google_breakpad::BasicSourceLineResolver::Module::ParseFile(char*) in
basic_source_line_resolver.o
      google_breakpad::BasicSourceLineResolver::Module::ParsePublicSymbol(char*)  in
basic_source_line_resolver.o
      google_breakpad::WindowsFrameInfo::ParseFromString(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, int&, unsigned long long&, 
unsigned
long long&)in basic_source_line_resolver.o
  "vtable for google_breakpad::CFIFrameInfoParseHandler", referenced from:
      __ZTVN15google_breakpad24CFIFrameInfoParseHandlerE$non_lazy_ptr in
basic_source_line_resolver.o
  "bool google_breakpad::CFIFrameInfo::FindCallerRegs<unsigned long
long>(google_breakpad::CFIFrameInfo::RegisterValueMap<unsigned long long> 
const&,
google_breakpad::MemoryRegion const&,
google_breakpad::CFIFrameInfo::RegisterValueMap<unsigned long long>*) const",
referenced from:
      google_breakpad::SimpleCFIWalker<unsigned long long,
MDRawContextAMD64>::FindCallerRegisters(google_breakpad::MemoryRegion const&,
google_breakpad::CFIFrameInfo const&, MDRawContextAMD64 const&, int,
MDRawContextAMD64*, int*) constin stackwalker_amd64.o
  "google_breakpad::StringToVector(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, __gnu_debug_def::vector<char, 
std::allocator<char>
>&)", referenced from:
      google_breakpad::WindowsFrameInfo::ParseFromString(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, int&, unsigned long long&, 
unsigned
long long&)in basic_source_line_resolver.o
  "google_breakpad::CFIRuleParser::Parse(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)", referenced from:

google_breakpad::BasicSourceLineResolver::Module::ParseCFIRuleSet(std::basic_str
ing<char,
std::char_traits<char>, std::allocator<char> > const&,
google_breakpad::CFIFrameInfo*) constin basic_source_line_resolver.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

Original comment by glimb...@gmail.com on 9 Apr 2010 at 8:03

GoogleCodeExporter commented 9 years ago
I fixed this in r578. The XCode project never got updated to include some new
CFI-related source files.

Original comment by ted.mielczarek on 29 Apr 2010 at 6:20