Hi,<br><br>Thanks for getting back to me.<br><br>I don't actually need opt dynamically linked but I do want shared libraries. If run make without "SHARED_LIBRARY=1" I don't appear to get any shared 
libraries built or installed. <br><br>Is LLVM built as shared libraries supported? If so what's the correct build procedure? <br><br>-- James<br><br><div class="gmail_quote">On 2 March 2010 21:51, Jeffrey Yasskin <span dir="ltr"><<a href="mailto:jyasskin@google.com">jyasskin@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">I suspect my change adding --enable-shared broke you, since that<br>
configure option didn't exist before last week (r97119).<br>
SHARED_LIBRARY is not one of the variables you're supposed to be able<br>
to set on make's command line<br>
(<a href="http://llvm.org/docs/MakefileGuide.html#variables" target="_blank">http://llvm.org/docs/MakefileGuide.html#variables</a>). What are you<br>
using it for? What happens if you remove it?<br>
<div><div></div><div class="h5"><br>
On Tue, Mar 2, 2010 at 1:35 PM, James Williams <<a href="mailto:junk@giantblob.com">junk@giantblob.com</a>> wrote:<br>
> Hi,<br>
><br>
> Until recently I've been building LLVM with SHARED_LIBRARY=1. However, sith<br>
> current svn, build now fails with unresolved symbols building opt. I've done<br>
> a clean checkout, configure and make so it's not down to any local changes<br>
> I've made.<br>
><br>
> I'm building with:<br>
> ./configure --enable-assertions \<br>
> --enable-expensive-checks=no \<br>
> --enable-pic \<br>
> --enable-targets=host-only \<br>
> --enable-shared \<br>
> --enable-jit<br>
> make SHARED_LIBRARY=1<br>
><br>
> failure is:<br>
> llvm[2]: Linking Release executable opt (without symbols)<br>
> /home/src/llvm-trunk/llvm/tools/opt/Release/opt.o: In function `T.1603':<br>
> opt.cpp:(.text+0x510): undefined reference to<br>
> `llvm::createStripDeadPrototypesPass()'<br>
> opt.cpp:(.text+0x525): undefined reference to<br>
> `llvm::createDeadTypeEliminationPass()'<br>
> opt.cpp:(.text+0x54a): undefined reference to<br>
> `llvm::createConstantMergePass()'<br>
> opt.cpp:(.text+0x57d): undefined reference to<br>
> `llvm::createGlobalOptimizerPass()'<br>
> opt.cpp:(.text+0x5a7): undefined reference to<br>
> `llvm::createDeadArgEliminationPass()'<br>
> opt.cpp:(.text+0x5e6): undefined reference to `llvm::createPruneEHPass()'<br>
> opt.cpp:(.text+0x64d): undefined reference to<br>
> `llvm::createArgumentPromotionPass(unsigned int)'<br>
> opt.cpp:(.text+0x668): undefined reference to<br>
> `llvm::createFunctionAttrsPass()'<br>
> opt.cpp:(.text+0x688): undefined reference to `llvm::createGlobalDCEPass()'<br>
> /home/src/llvm-trunk/llvm/tools/opt/Release/opt.o: In function `(anonymous<br>
> namespace)::AddOptimizationPasses(llvm::PassManager&,<br>
> llvm::FunctionPassManager&, unsigned int)':<br>
> opt.cpp:(.text+0x6e7): undefined reference to<br>
> `llvm::createFunctionInliningPass(int)'<br>
> opt.cpp:(.text+0x781): undefined reference to<br>
> `llvm::createAlwaysInlinerPass()'<br>
> /home/src/llvm-trunk/llvm/tools/opt/Release/opt.o: In function `T.1601':<br>
> opt.cpp:(.text+0x1f1f): undefined reference to<br>
> `llvm::createArgumentPromotionPass(unsigned int)'<br>
> opt.cpp:(.text+0x1f24): undefined reference to<br>
> `llvm::createStructRetPromotionPass()'<br>
> ...... more failures ....<br>
><br>
> Should I expect this configuration to work?<br>
><br>
> Thanks,<br>
> -- James Williams<br>
><br>
</div></div>> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
><br>
<br>
</blockquote></div><br>