xiaoyuxie / google-breakpad

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

Problems while launching make on MinGW #659

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1.Get MinGW last version on windows 7
2.lauching ./configure (it's work)
3.lauching make

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

Expect normal output of make with some warnings.
What I get:
    make: *** [src/processor/basic_code_modules.o] Error 1

What version of the product are you using? On what operating system?

Latest (fresh) checkout of google-breakpad.
Windows 7 Entreprise , Service Pack 1,OS 64bits

Please provide any additional information below.

$ make
depbase=`echo src/processor/basic_code_modules.o | sed 
's|[^/]*$|.deps/&|;s|\.o$||'`;\
        g++ -DHAVE_CONFIG_H -I. -I./src  -I./src   -Werror=missing-braces -Werror=non-virtual-dtor -Werror=overloaded-virtual -Werror
=reorder -Werror=sign-compare -Werror=unused-variable -Werror=vla  -g -O2 -MT 
src/processor/basic_code_modules.o -MD -MP -MF $depbase
.Tpo -c -o src/processor/basic_code_modules.o 
src/processor/basic_code_modules.cc &&\
        mv -f $depbase.Tpo $depbase.Po
In file included from c:\mingw\lib\gcc\mingw32\4.8.1\include\stdint.h:9:0,
                 from c:\mingw\include\wchar.h:406,
                 from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\cwchar:44,
                 from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\postypes.h:40,
                 from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\char_traits.h:40,
                 from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\string:40,
                 from ./src/google_breakpad/processor/code_module.h:38,
                 from src/processor/basic_code_modules.cc:41:
c:\mingw\include\stdint.h:31:14: error: conflicting declaration 'typedef int 
int32_t'
 typedef int  int32_t;
              ^
In file included from ./src/google_breakpad/processor/code_modules.h:38:0,
                 from ./src/processor/basic_code_modules.h:44,
                 from src/processor/basic_code_modules.cc:37:
./src/google_breakpad/common/breakpad_types.h:65:17: error: 'int32_t' has a 
previous declaration as 'typedef long int int32_t'
 typedef __int32 int32_t;
                 ^
In file included from c:\mingw\lib\gcc\mingw32\4.8.1\include\stdint.h:9:0,
                 from c:\mingw\include\wchar.h:406,
                 from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\cwchar:44,
                 from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\postypes.h:40,
                 from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\bits\char_traits.h:40,
                 from c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\string:40,
                 from ./src/google_breakpad/processor/code_module.h:38,
                 from src/processor/basic_code_modules.cc:41:
c:\mingw\include\stdint.h:32:20: error: conflicting declaration 'typedef 
unsigned int uint32_t'
 typedef unsigned   uint32_t;
                    ^
In file included from ./src/google_breakpad/processor/code_modules.h:38:0,
                 from ./src/processor/basic_code_modules.h:44,
                 from src/processor/basic_code_modules.cc:37:
./src/google_breakpad/common/breakpad_types.h:66:26: error: 'uint32_t' has a 
previous declaration as 'typedef long unsigned int uint3
2_t'
 typedef unsigned __int32 uint32_t;
                          ^
make: *** [src/processor/basic_code_modules.o] Error 1

Original issue reported on code.google.com by Amine.Ai...@gmail.com on 10 Jul 2015 at 10:16

GoogleCodeExporter commented 9 years ago
mingw isn't a very well-supported build configuration for us, but this should 
be as simple as changing this #if to include mingw:
https://code.google.com/p/google-breakpad/source/browse/trunk/src/google_breakpa
d/common/breakpad_types.h#52

Probably just make that "#if _MSC_VER >= 1600 || __GNUC__"

Original comment by ted.mielczarek on 10 Jul 2015 at 12:10

GoogleCodeExporter commented 9 years ago
You might find the patch set at https://breakpad.appspot.com/2734002/ useful.

Note well the caveat about strtok_r mentioned there.

Original comment by b152fee4...@gmail.com on 10 Jul 2015 at 1:55

GoogleCodeExporter commented 9 years ago
The patch resolved my problem thanks, but now i have another problem :

$ make
depbase=`echo src/processor/basic_source_line_resolver.o | sed 
's|[^/]*$|.deps/&|;s|\.o$||'`;\
        g++ -DHAVE_CONFIG_H -I. -I./src  -I./src   -Werror=missing-braces -Werror=non-virtual-dtor -Werror=overloaded-virtual -Werror
=reorder -Werror=sign-compare -Werror=unused-variable -Werror=vla  -g -O2 -MT 
src/processor/basic_source_line_resolver.o -MD -MP -MF
$depbase.Tpo -c -o src/processor/basic_source_line_resolver.o 
src/processor/basic_source_line_resolver.cc &&\
        mv -f $depbase.Tpo $depbase.Po
In file included from ./src/processor/source_line_resolver_base_types.h:50:0,
                 from ./src/processor/basic_source_line_resolver_types.h:45,
                 from src/processor/basic_source_line_resolver.cc:48:
./src/processor/windows_frame_info.h: In static member function 'static 
google_breakpad::WindowsFrameInfo* google_breakpad::WindowsFr
ameInfo::ParseFromString(std::string, int&, uint64_t&, uint64_t&)':
./src/processor/windows_frame_info.h:133:66: error: '_strtoui64' was not 
declared in this scope
     rva                           = strtoull(tokens[1],  NULL, 16);
                                                                  ^
src/processor/basic_source_line_resolver.cc: In static member function 'static 
bool google_breakpad::SymbolParseHelper::ParseFunction
(char*, uint64_t*, uint64_t*, long int*, char**)':
src/processor/basic_source_line_resolver.cc:505:51: error: '_strtoui64' was not 
declared in this scope
   *address = strtoull(tokens[0], &after_number, 16);
                                                   ^
src/processor/basic_source_line_resolver.cc: In static member function 'static 
bool google_breakpad::SymbolParseHelper::ParseLine(cha
r*, uint64_t*, uint64_t*, long int*, long int*)':
src/processor/basic_source_line_resolver.cc:537:52: error: '_strtoui64' was not 
declared in this scope
   *address  = strtoull(tokens[0], &after_number, 16);
                                                    ^
src/processor/basic_source_line_resolver.cc: In static member function 'static 
bool google_breakpad::SymbolParseHelper::ParsePublicSy
mbol(char*, uint64_t*, long int*, char**)':
src/processor/basic_source_line_resolver.cc:586:51: error: '_strtoui64' was not 
declared in this scope
   *address = strtoull(tokens[0], &after_number, 16);
                                                   ^
make: *** [src/processor/basic_source_line_resolver.o] Error 1

Original comment by Amine.Ai...@gmail.com on 10 Jul 2015 at 3:33