Search code examples
linuxx86-64google-breakpad

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


I am trying to build 32-bit breakpad on a 64-bit Linux system but I am getting the build error. I did the following as explained here.

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

make

In make, I am getting the following error:

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

Then I looked into the ./configure output and saw that it could be the problem with a.out.h because of the following output:

checking a.out.h usability... no

checking a.out.h presence... no

checking for a.out.h... no

Anyone else face this problem? Am I missing something?


Solution

  • Looks like a bug in the 32bit breakpad build.

    I've submitted a patch to the project; in the interim, you can simply edit src/common/stabs_reader.h and replace:

    #include <a.out.h>
    

    with

    #include <linux/a.out.h>
    

    and configuring with:

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