breakpad 32 位构建在 64 位 Linux 系统上失败

breakpad 32-bit build fails on a 64-bit Linux system

我正在尝试在 64 位 Linux 系统上构建 32 位 breakpad,但出现构建错误。我按照 here.

的解释执行了以下操作

./configure CXXFLAGS=-m32 CFLAGS=-m32 CPPFLAGS=-m32

make

在 make 中,出现以下错误:

src/common/stabs_reader.cc: In member function ‘bool google_breakpad::StabsReader::Process()’:

src/common/stabs_reader.cc:98:35: error: ‘N_UNDF’ was not declared in this scope

 } else if (iterator_->type == N_UNDF && unitized_) {
                               ^

Makefile:4678: recipe for target 'src/common/stabs_reader.o' failed

make: *** [src/common/stabs_reader.o] Error 1

然后我查看了 ./configure 输出,发现可能是 a.out.h 的问题,因为输出如下:

checking a.out.h usability... no

checking a.out.h presence... no

checking for a.out.h... no

还有其他人遇到过这个问题吗?我错过了什么吗?

看起来像是 32 位 breakpad 构建中的错误。

我已经提交了该项目的补丁;在此期间,您只需编辑 src/common/stabs_reader.h 并替换:

#include <a.out.h>

#include <linux/a.out.h>

并配置为:

env ac_cv_header_a_out_h=yes CXXFLAGS=-m32 CFLAGS=-m32 CPPFLAGS=-m32 ./configure