[cfe-dev] building LLVM/Clang on Windows 7 x64 using MinGW/MSYS

Dennis Cote DennisC at harding.ca
Fri Oct 18 13:28:34 PDT 2013


Hi,

 

Thanks for the patch. It fixed the link error on lli.exe using the 64
bit tools. The build proceeded to the 82% mark and then failed with a
couple of new errors from the assembler.

 

c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w6
4-mingw32/bin/as.exe:
CMakeFiles/clangDynamicASTMatchers.dir/Registry.cpp.obj: too many
sections (39110)

C:\Users\DennisC\AppData\Local\Temp\cc811i4n.s: Assembler messages:

C:\Users\DennisC\AppData\Local\Temp\cc811i4n.s: Fatal error: can't write
CMakeFiles/clangDynamicASTMatchers.dir/Registry.cpp.obj: File too big

c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w6
4-mingw32/bin/as.exe:
CMakeFiles/clangDynamicASTMatchers.dir/Registry.cpp.obj: too many
sections (39110)

C:\Users\DennisC\AppData\Local\Temp\cc811i4n.s: Fatal error: can't close
CMakeFiles/clangDynamicASTMatchers.dir/Registry.cpp.obj: File too big

tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.d
ir/build.make:130: recipe for target
`tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.
dir/Registry.cpp.obj' failed

make[2]: ***
[tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.
dir/Registry.cpp.obj] Error 1

CMakeFiles/Makefile2:10926: recipe for target
`tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.
dir/all' failed

make[1]: ***
[tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.
dir/all] Error 2

Makefile:136: recipe for target `all' failed

make: *** [all] Error 2

 

Does anyone have any ideas about what might be causing the
Registry.cpp.obj file to have too many sections?

 

There were several warnings and notes generated when compiling
Registry.cpp. The full output from the build step are copied below.

 

[ 82%] Building CXX object
tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.d
ir/Registry.cpp.obj

In file included from
C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
.h:50:0,

                 from
C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Var
iantValue.h:22,

                 from
C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Dia
gnostics.h:21,

                 from
C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Reg
istry.h:20,

                 from
c:/cmd_line_tools/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp:
15:

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h: In member function 'bool clang::ast_matchers::in

ternal::ASTMatchFinder::matchesChildOf(const T&, const
clang::ast_matchers::internal::DynTypedMatcher&,
clang::ast_matchers::interna

l::BoundNodesTreeBuilder*,
clang::ast_matchers::internal::ASTMatchFinder::TraversalKind,
clang::ast_matchers::internal::ASTMatchFind

er::BindKind)':

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:688:9: warning: typedef 'unsupported_type_for_rec

ursive_matching' locally defined but not used [-Wunused-local-typedefs]

         unsupported_type_for_recursive_matching);

         ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:57:39: note: in definition of macro 'TOOLING_COMP

ILE_ASSERT'

   typedef CompileAssert<(bool(Expr))> Msg[bool(Expr) ? 1 : -1]

                                       ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h: In member function 'bool clang::ast_matchers::in

ternal::ASTMatchFinder::matchesDescendantOf(const T&, const
clang::ast_matchers::internal::DynTypedMatcher&, clang::ast_matchers::in

ternal::BoundNodesTreeBuilder*,
clang::ast_matchers::internal::ASTMatchFinder::BindKind)':

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:705:9: warning: typedef 'unsupported_type_for_rec

ursive_matching' locally defined but not used [-Wunused-local-typedefs]

         unsupported_type_for_recursive_matching);

         ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:57:39: note: in definition of macro 'TOOLING_COMP

ILE_ASSERT'

   typedef CompileAssert<(bool(Expr))> Msg[bool(Expr) ? 1 : -1]

                                       ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h: In member function 'bool clang::ast_matchers::in

ternal::ASTMatchFinder::matchesAncestorOf(const T&, const
clang::ast_matchers::internal::DynTypedMatcher&,
clang::ast_matchers::inte

rnal::BoundNodesTreeBuilder*,
clang::ast_matchers::internal::ASTMatchFinder::AncestorMatchMode)':

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:718:28: warning: typedef 'only_Decl_or_Stmt_allow

ed_for_recursive_matching' locally defined but not used
[-Wunused-local-typedefs]

 
only_Decl_or_Stmt_allowed_for_recursive_matching);

                            ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:57:39: note: in definition of macro 'TOOLING_COMP

ILE_ASSERT'

   typedef CompileAssert<(bool(Expr))> Msg[bool(Expr) ? 1 : -1]

                                       ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h: In member function 'clang::ast_matchers::interna

l::PolymorphicMatcherWithParam0<MatcherT, ReturnTypesF>::operator
clang::ast_matchers::internal::Matcher<From>() const':

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:863:28: warning: typedef 'right_polymorphic_conve

rsion' locally defined but not used [-Wunused-local-typedefs]

                            right_polymorphic_conversion);

                            ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:57:39: note: in definition of macro 'TOOLING_COMP

ILE_ASSERT'

   typedef CompileAssert<(bool(Expr))> Msg[bool(Expr) ? 1 : -1]

                                       ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h: In member function 'clang::ast_matchers::interna

l::PolymorphicMatcherWithParam1<MatcherT, P1, ReturnTypesF>::operator
clang::ast_matchers::internal::Matcher<From>() const':

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:881:28: warning: typedef 'right_polymorphic_conve

rsion' locally defined but not used [-Wunused-local-typedefs]

                            right_polymorphic_conversion);

                            ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:57:39: note: in definition of macro 'TOOLING_COMP

ILE_ASSERT'

   typedef CompileAssert<(bool(Expr))> Msg[bool(Expr) ? 1 : -1]

                                       ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h: In member function 'clang::ast_matchers::interna

l::PolymorphicMatcherWithParam2<MatcherT, P1, P2,
ReturnTypesF>::operator clang::ast_matchers::internal::Matcher<From>()
const':

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:902:28: warning: typedef 'right_polymorphic_conve

rsion' locally defined but not used [-Wunused-local-typedefs]

                            right_polymorphic_conversion);

                            ^

C:/cmd_line_tools/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers
Internal.h:57:39: note: in definition of macro 'TOOLING_COMP

ILE_ASSERT'

   typedef CompileAssert<(bool(Expr))> Msg[bool(Expr) ? 1 : -1]

                                       ^

c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w6
4-mingw32/bin/as.exe: CMakeFiles/clangDynamicASTMatchers.dir

/Registry.cpp.obj: too many sections (39110)

C:\Users\DennisC\AppData\Local\Temp\cc811i4n.s: Assembler messages:

C:\Users\DennisC\AppData\Local\Temp\cc811i4n.s: Fatal error: can't write
CMakeFiles/clangDynamicASTMatchers.dir/Registry.cpp.obj: Fi

le too big

c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w6
4-mingw32/bin/as.exe: CMakeFiles/clangDynamicASTMatchers.dir

/Registry.cpp.obj: too many sections (39110)

C:\Users\DennisC\AppData\Local\Temp\cc811i4n.s: Fatal error: can't close
CMakeFiles/clangDynamicASTMatchers.dir/Registry.cpp.obj: Fi

le too big

tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.d
ir/build.make:130: recipe for target `tools/clang/lib/ASTMat

chers/Dynamic/CMakeFiles/clangDynamicASTMatchers.dir/Registry.cpp.obj'
failed

make[2]: ***
[tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.
dir/Registry.cpp.obj] Error 1

CMakeFiles/Makefile2:10926: recipe for target
`tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.
dir/all' faile

d

make[1]: ***
[tools/clang/lib/ASTMatchers/Dynamic/CMakeFiles/clangDynamicASTMatchers.
dir/all] Error 2

Makefile:136: recipe for target `all' failed

make: *** [all] Error 2

 

Thanks for any help you can offer.

 

Dennis Cote

 

From: G M [mailto:gmisocpp at gmail.com] 
Sent: October 10, 2013 8:26 PM
To: cfe-dev; Dennis Cote
Subject: [cfe-dev] building LLVM/Clang on Windows 7 x64 using MinGW/MSYS

 

Does this patch fix the problem for you?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131018/c81c6a4e/attachment.html>


More information about the cfe-dev mailing list