LLVM 1.5 Release Plan

Dear LLVMers,

Here is the current, tentative schedule for LLVM 1.5:

1. We are hoping to have all relevant features and bug fixes into mainline CVS by Friday of this week. For those of you with commit access, please plan to have all of your changes for LLVM 1.5 committed by 9 am (CST) this Friday. If you need more time, please email the list.

2. On Friday, I will be making the 1.5 release branch based off of mainline. During the next week, I'll be rolling LLVM tarballs and testing them.

If other developers (especially those for platforms which we don't have here at UIUC) could test the release branch, we would be most appreciative. I will send out another email detailing when the release branch is finished and how to get it out of CVS.

We're aiming to have 1.5 out by the end of next week if all goes well.

Thanks to everyone who has submitted code to LLVM for 1.5.

-- John T.

Hello all,

If other developers (especially those for platforms which we don't have
here at UIUC) could test the release branch, we would be most
appreciative. I will send out another email detailing when the release
branch is finished and how to get it out of CVS.

I've just tried building CVS/HEAD of llvm using gcc 4.0.0 that I have
installed to /opt/gcc and got the following error quite late in the
process:

make[3]: Entering directory `/root/devel/llvm-obj/lib/Target/X86'
llvm[3]: Building X86.td register information header with tblgen/root/devel/llvm-obj/Debug/bin/tblgen: relocation error: /root/devel/llvm-obj/De
bug/bin/tblgen: symbol _ZNSs4_Rep26_M_set_length_and_sharableEj, version GLIBCXX_3.4 not defined in file libstdc++.so.6 with link time reference
make[3]: *** [/root/devel/llvm-obj/lib/Target/X86/Debug/X86GenRegisterInfo.h.inc.tmp] Error 127
make[3]: Leaving directory `/root/devel/llvm-obj/lib/Target/X86'
make[2]: *** [X86/.makeall] Error 2
make[2]: Leaving directory `/root/devel/llvm-obj/lib/Target'
make[1]: *** [Target/.makeall] Error 2
make[1]: Leaving directory `/root/devel/llvm-obj/lib'
make: *** [all] Error 1

Best regards,
Oleg.

Hello all,

Hello all,

If other developers (especially those for platforms which we don't have
here at UIUC) could test the release branch, we would be most
appreciative. I will send out another email detailing when the release
branch is finished and how to get it out of CVS.

I've just tried building CVS/HEAD of llvm using gcc 4.0.0 that I have
installed to /opt/gcc and got the following error quite late in the
process:

That looks like GCC 4.0 either has a bug or is installed wrong. I think that it's trying to link with the wrong libstdc++.

-Chris

make[3]: Entering directory `/root/devel/llvm-obj/lib/Target/X86'
llvm[3]: Building X86.td register information header with tblgen/root/devel/llvm-obj/Debug/bin/tblgen: relocation error: /root/devel/llvm-obj/De
bug/bin/tblgen: symbol _ZNSs4_Rep26_M_set_length_and_sharableEj, version GLIBCXX_3.4 not defined in file libstdc++.so.6 with link time reference
make[3]: *** [/root/devel/llvm-obj/lib/Target/X86/Debug/X86GenRegisterInfo.h.inc.tmp] Error 127
make[3]: Leaving directory `/root/devel/llvm-obj/lib/Target/X86'
make[2]: *** [X86/.makeall] Error 2
make[2]: Leaving directory `/root/devel/llvm-obj/lib/Target'
make[1]: *** [Target/.makeall] Error 2
make[1]: Leaving directory `/root/devel/llvm-obj/lib'
make: *** [all] Error 1

Best regards,
Oleg.

_______________________________________________
LLVM Developers mailing list
LLVMdev@cs.uiuc.edu http://llvm.cs.uiuc.edu
http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev

-Chris

Hello Chris,

Nope. tblgen in particular is a very simple C++ program consisting of the code in lib/Support, lib/System and utils/TableGen. Maybe you compiled one of the libraries with GCC 3.4 and the rest with 4.0 or something?

-Chris

Oleg Smolsky wrote:

I've just tried building CVS/HEAD of llvm using gcc 4.0.0 that I have
installed to /opt/gcc

... then you should either add /opt/gcc/lib to /etc/ld.so.conf and rerun ldconfig, or add /opt/gcc/lib to your LD_LIBRARY_PATH . However, GCC 4.x definitely has issues building LLVM, at least on ia64. If you want to use LLVM in anger, I'd stick with 3.4 for now.

  Duraid

Hello Duraid,

I've just tried building CVS/HEAD of llvm using gcc 4.0.0 that I
have installed to /opt/gcc

... then you should either add /opt/gcc/lib to /etc/ld.so.conf and
rerun ldconfig, or add /opt/gcc/lib to your LD_LIBRARY_PATH .
However, GCC 4.x definitely has issues building LLVM, at least on
ia64.

Oh, that helped, thanks. I wonder though, why could I build other
smaller apps.... May be it's due to static libraries.....

If you want to use LLVM in anger, I'd stick with 3.4 for now.

Yes, I'd like to, but debian's version segfaults on llvm.....

Best regards,
Oleg.

Oleg Smolsky wrote:

If you want to use LLVM in anger, I'd stick with 3.4 for now.

Yes, I'd like to, but debian's version segfaults on llvm.....

You might like to try the following:

1) get a recent binutils CVS snapshot e.g.:
http://strawberry.resnet.mtu.edu/pub/gcc/binutils/snapshots/binutils.tar.bz2
2) build it
3) get the GCC 3.4.3 release
4) configure it, being sure to add --with-as=/the/as/you/just/built and --with-ld=/the/ld/you/just/built
5) use the resulting gcc/g++ to build LLVM

Doing this works fine on x86 and ia64, and using the recent binutils will cut your LLVM build time by 20% if you're doing a debug build.* If you're lazy like me and keep relinking large binaries because that's the easy thing to do, this can save you a fair bit of time.

Unfortunately, the really fast way to build LLVM is to avoid GCC/GNU binutils completely. It's been a while since I did it last, but on a 4-way HP-UX system I could build LLVM in under 2 minutes. A comparable 2-way Linux system, on the other hand, takes about 10 minutes. This probably has a lot to do with the architecture in question, though. I'd be curious to know what build times with MSVC are like.

  Duraid

P.S. For the GCC spies^Wgurus out there: At least on x86 and ia64, GCC often compiles C++ codes _quicker_ than other compilers, but this really doesn't seem to be the case with LLVM. Does anyone have any idea what it might be about LLVM that's tickling GCC the wrong way?

Oleg,

I've been building LLVM successfully on Linux with 4.0.0 since it was
released. However, I did run into exactly the same problem you were
having. The problem is shared libraries. Somewhere in your system,
you're attempting to mix and match a 3.4 compiled library with a 4.0
compiled library and that's not allowed so you get the runtime error. As
Chris pointed out, and the error message states, the error is with the
libstdc++.so .6 library. The system is trying to load libstdc++.so at
runtime and its version is 4.0.0. However, when you compiled tblgen at
least one of those files was compiled with 3.4 header files. You need to
ensure that your INCLUDES (during configuration) points to the g++ 4.0.0
headers, not the system ones or the ones from your 3.4 bootstrap
compiler.

Reid.