[LLVMdev] Build LLVM as a DLL on Windows x86

Kevin Kelley kevin at kelleysoft.com
Mon Nov 14 03:57:14 PST 2011


On 11/13/2011 8:57 PM, NAKAMURA Takumi wrote:
> AFAIK, on msys, trunk and release_30 is almost fine. 
> http://bb.pgr.jp/builders/clang-i686-msys Though, here is no builder 
> on win32 with --enable-shared. 

I'm having a problem now, building Release Candidate 3 on msys
(using msysGit environment, which I find the easiest to set up and keep 
isolated);
with --enable-optimized --enable-shared, I get errors that look like this:

llvm[1]: Linking all LLVMLibs together for LLVM-3.0
llvm[1]: Collecting global symbols of LLVM-3.0
llvm[1]: Linking all libs together for static libstdc++.a
llvm[1]: Making dummy -lstdc++ to lib
llvm[1]: Collecting global symbols of stdc++
llvm[1]: Generating exports for LLVM-3.0
llvm[1]: Generating LLVM-3.0.def
llvm[1]: Linking Release Shared Library LLVM-3.0.dll
c:/dev/llvm/build-rc3/Release/lib/libLLVMCodeGen.a(RegAllocPBQP.o):fake:(.text$_
ZN4PBQP5Graph7addNodeERKNS_6VectorE[PBQP::Graph::addNode(PBQP::Vector 
const&)]+0
x9c): undefined reference to 
`std::_List_node_base::_M_hook(std::_List_node_base
*)'
c:/dev/llvm/build-rc3/Release/lib/libLLVMCodeGen.a(RegAllocPBQP.o):fake:(.text$_
ZN4PBQP19HeuristicSolverImplINS_10Heuristics6BriggsEE15computeSolutionEv[PBQP::H
euristicSolverImpl<PBQP::Heuristics::Briggs>::computeSolution()]+0x76): 
undefine
d reference to `std::_List_node_base::_M_hook(std::_List_node_base*)'
c:/dev/llvm/build-rc3/Release/lib/libLLVMCodeGen.a(RegAllocPBQP.o):fake:(.text$_
ZN4PBQP19HeuristicSolverImplINS_10Heuristics6BriggsEE5setupEv[PBQP::HeuristicSol
verImpl<PBQP::Heuristics::Briggs>::setup()]+0xcd): undefined reference 
to `std::
_List_node_base::_M_hook(std::_List_node_base*)'
c:/dev/llvm/build-rc3/Release/lib/libLLVMCodeGen.a(RegAllocPBQP.o):fake:(.text$_
ZN4PBQP19HeuristicSolverImplINS_10Heuristics6BriggsEE5setupEv[PBQP::HeuristicSol
verImpl<PBQP::Heuristics::Briggs>::setup()]+0x210): undefined reference 
to `std:
:_List_node_base::_M_hook(std::_List_node_base*)'

... and so on.

I last built with RC1 and it went fine; this thread prompted me to test 
RC3, and I got this.
It looks a little bit like stdlib-style problems, so I added the 
--enable-embed-stdcxx, but
got the same result.  All the errors seem to be coming from 
register-allocator stuff, has
something changed there recently?

Kevin



More information about the llvm-dev mailing list