LLVM build failures

I'm seeing a lot of build failures recently:

(1) on x86-64 linux, gcc 4.1.2:
...
llvm[3]: Compiling Hello.cpp for Debug build (PIC)
llvm[3]: Linking Debug Loadable Module LLVMHello.so
/usr/bin/ld: .../llvm/build/llvm/lib/Transforms/Hello/Debug/.libs/Hello.o: relocation R_X86_64_PC32 against `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
...

(2) on alpha, gcc 4.2.4. The "unknown component name: alphacodegen"
didn't use to occur.
...
make[2]: Leaving directory `.../llvm/build/llvm/tools/llvm-link'
llvm-config: unknown component name: alphacodegen
make[2]: Entering directory `.../llvm/build/llvm/tools/lli'
llvm[2]: Compiling lli.cpp for Debug build
llvm-config: unknown component name: alphacodegen
llvm[2]: Linking Debug executable lli
.../llvm/build/llvm/tools/lli/Debug/lli.o: In function `ForceCodegenLinking':
.../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:32: undefined reference to `llvm::createSimpleRegisterAllocator()'
.../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:33: undefined reference to `llvm::createLocalRegisterAllocator()'
.../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:34: undefined reference to `llvm::createBigBlockRegisterAllocator()'
.../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:35: undefined reference to `llvm::createLinearScanRegisterAllocator()'
.../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:37: undefined reference to `llvm::createSimpleRegisterCoalescer()'
(lots more of these)

(3) similar problem on sparc64, gcc 4.3.1:
...
make[2]: Leaving directory `.../llvm/build/llvm/tools/llvm-link'
llvm-config: unknown component name: sparccodegen
make[2]: Entering directory `.../llvm/build/llvm/tools/lli'
llvm[2]: Compiling lli.cpp for Debug build
llvm-config: unknown component name: sparccodegen
llvm[2]: Linking Debug executable lli
.../llvm/build/llvm/tools/lli/Debug/lli.o: In function `ForceCodegenLinking':
.../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:32: undefined reference to `llvm::createSimpleRegisterAllocato
r()'
.../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:33: undefined reference to `llvm::createLocalRegisterAllocator()'
.../llvm/build/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h:34: undefined reference to `llvm::createBigBlockRegisterAllocator()'
(lots more of these)

Not sure when these started failing - sometime within
the last two weeks.

Ciao,

Duncan.

Hi Duncan,

(1) on x86-64 linux, gcc 4.1.2:

I'm not seeing those in x86-64 with gcc 4.3 on my system.

However, I was seeing build failures on x86-32 with gcc 4.1, related to
undefined references. These were caused by the -finlines-visibility-hidden
introduced by r55557. I reverted that patch, could you check if you're still
seeing all these failures?

Gr.

Matthijs

> (1) on x86-64 linux, gcc 4.1.2:
I'm not seeing those in x86-64 with gcc 4.3 on my system.

However, I was seeing build failures on x86-32 with gcc 4.1, related to
undefined references. These were caused by the -finlines-visibility-hidden
introduced by r55557. I reverted that patch, could you check if you're still
seeing all these failures?

x86-64 now compiles, thanks!

Ciao,

Duncan.