xiaoyuxie / google-breakpad

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

update README for new dev workflow #667

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
./configure; make

What is the expected output? What do you see instead?
The build is expected to complete, but you first get:
src/client/linux/crash_generation/crash_generation_client.cc:40:51: fatal 
error: third_party/lss/linux_syscall_support.h: No such file or directory
compilation terminated.
make: *** [src/client/linux/crash_generation/crash_generation_client.o] Error 1

This is fixed by creating src/third_party/lss and adding 
linux_syscall_support.h from here: 
https://google-coredumper.googlecode.com/svn/trunk/src/linux_syscall_support.h

Then build fails on:
src/client/linux/handler/exception_handler.cc:425:42: error: too many arguments 
to function ‘int sys_prctl(int, long int)’
In file included from ./src/common/memory.h:51:0,
                 from ./src/client/linux/dump_writer_common/thread_info.h:37,
                 from ./src/client/linux/minidump_writer/linux_dumper.h:51,
                 from ./src/client/linux/minidump_writer/minidump_writer.h:41,
                 from ./src/client/linux/handler/exception_handler.h:42,
                 from src/client/linux/handler/exception_handler.cc:66:
./src/third_party/lss/linux_syscall_support.h:2116:1: note: declared here

which can be fixed by replacing instances of sys_prctl by the standard prctl 
call.

After that, the build succeeds, but I didn't check if all worked OK.

What version of the product are you using? On what operating system?
Latest version from master from here: 
https://chromium.googlesource.com/breakpad/breakpad, on commit 
5f520807ca93f0d95a1e72864f574f4ec19f6188

Please provide any additional information below.
Patch attached. Probably a cleaner way to fix all this.

Original issue reported on code.google.com by alex...@gmail.com on 10 Sep 2015 at 12:54

Attachments:

GoogleCodeExporter commented 9 years ago
third_party/lss is from a different repository. Previously with SVN, it was 
getting pulled into the local repo via svn:externals, but that probably no 
longer works with the recent migration to git. Preferably, we should get lss 
from upstream, and not check a local copy into Breakpad.

Original comment by thestig@chromium.org on 10 Sep 2015 at 2:40

GoogleCodeExporter commented 9 years ago
correct, you need to use gclient to sync all the repos now

i've posted an update for the README:
https://codereview.chromium.org/1335483002

Original comment by vapier@chromium.org on 10 Sep 2015 at 4:31

GoogleCodeExporter commented 9 years ago
Thanks for looking into this and updating the README.

Works without any issues since LSS is grabbed from somewhere else and the 
definition of sys_prctl() is correct:
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
mkdir breakpad && cd breakpad
../depot_tools/fetch breakpad
./configure 
make

Original comment by alex...@gmail.com on 10 Sep 2015 at 5:54

GoogleCodeExporter commented 9 years ago

Original comment by thestig@chromium.org on 10 Sep 2015 at 6:04

GoogleCodeExporter commented 9 years ago
I too am having the same issue that alex initially had with the 

"fatal error: third_party/lss/linux_syscall_support.h: No such file or 
directory"

Would you please clearly list the steps to resolve this issue.

OS: Linux Mint 17.2 Rafaela

Original comment by trent.ru...@gmail.com on 19 Sep 2015 at 12:10

GoogleCodeExporter commented 9 years ago
re: comment 5 - read the README? 
https://chromium.googlesource.com/breakpad/breakpad/+/master/README

Original comment by thestig@chromium.org on 19 Sep 2015 at 12:17