[LLVMdev] make SHARED_LIBRARY=1 broken?

James Williams junk at giantblob.com
Tue Mar 2 14:13:29 PST 2010


Hi,

Thanks for getting back to me.

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.

Is LLVM built as shared libraries supported? If so what's the correct build
procedure?

-- James

On 2 March 2010 21:51, Jeffrey Yasskin <jyasskin at google.com> wrote:

> I suspect my change adding --enable-shared broke you, since that
> configure option didn't exist before last week (r97119).
> SHARED_LIBRARY is not one of the variables you're supposed to be able
> to set on make's command line
> (http://llvm.org/docs/MakefileGuide.html#variables). What are you
> using it for? What happens if you remove it?
>
> On Tue, Mar 2, 2010 at 1:35 PM, James Williams <junk at giantblob.com> wrote:
> > Hi,
> >
> > Until recently I've been building LLVM with SHARED_LIBRARY=1. However,
> sith
> > current svn, build now fails with unresolved symbols building opt. I've
> done
> > a clean checkout, configure and make so it's not down to any local
> changes
> > I've made.
> >
> > I'm building with:
> > ./configure --enable-assertions \
> > --enable-expensive-checks=no \
> > --enable-pic \
> > --enable-targets=host-only \
> > --enable-shared \
> > --enable-jit
> > make SHARED_LIBRARY=1
> >
> > failure is:
> > llvm[2]: Linking Release executable opt (without symbols)
> > /home/src/llvm-trunk/llvm/tools/opt/Release/opt.o: In function `T.1603':
> > opt.cpp:(.text+0x510): undefined reference to
> > `llvm::createStripDeadPrototypesPass()'
> > opt.cpp:(.text+0x525): undefined reference to
> > `llvm::createDeadTypeEliminationPass()'
> > opt.cpp:(.text+0x54a): undefined reference to
> > `llvm::createConstantMergePass()'
> > opt.cpp:(.text+0x57d): undefined reference to
> > `llvm::createGlobalOptimizerPass()'
> > opt.cpp:(.text+0x5a7): undefined reference to
> > `llvm::createDeadArgEliminationPass()'
> > opt.cpp:(.text+0x5e6): undefined reference to `llvm::createPruneEHPass()'
> > opt.cpp:(.text+0x64d): undefined reference to
> > `llvm::createArgumentPromotionPass(unsigned int)'
> > opt.cpp:(.text+0x668): undefined reference to
> > `llvm::createFunctionAttrsPass()'
> > opt.cpp:(.text+0x688): undefined reference to
> `llvm::createGlobalDCEPass()'
> > /home/src/llvm-trunk/llvm/tools/opt/Release/opt.o: In function
> `(anonymous
> > namespace)::AddOptimizationPasses(llvm::PassManager&,
> > llvm::FunctionPassManager&, unsigned int)':
> > opt.cpp:(.text+0x6e7): undefined reference to
> > `llvm::createFunctionInliningPass(int)'
> > opt.cpp:(.text+0x781): undefined reference to
> > `llvm::createAlwaysInlinerPass()'
> > /home/src/llvm-trunk/llvm/tools/opt/Release/opt.o: In function `T.1601':
> > opt.cpp:(.text+0x1f1f): undefined reference to
> > `llvm::createArgumentPromotionPass(unsigned int)'
> > opt.cpp:(.text+0x1f24): undefined reference to
> > `llvm::createStructRetPromotionPass()'
> > ...... more failures ....
> >
> > Should I expect this configuration to work?
> >
> > Thanks,
> > -- James Williams
> >
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100302/2c0f925f/attachment.html>


More information about the llvm-dev mailing list