[LLVMdev] make SHARED_LIBRARY=1 broken?

Jeffrey Yasskin
Tue, 02 Mar 2010 21:51:07 -0000

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
>
>