llvm-2.2 cannot be successfully built with 'make ENABLE_OPTIMIZED=1'

My platform is RedHat Enterprise 5, as shown below:

[wuxi@ppidellsc1420 lib]$ uname -a

Linux ppidellsc1420 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux

and I install gcc-4.2.3, as shown below:

[wuxi@ppidellsc1420 lib]$ g++ -v

Using built-in specs.

Target: i686-pc-linux-gnu

Configured with: …/gcc-4.2.3/configure --prefix=/home/wuxi/gcc-4.2-install/

Thread model: posix

gcc version 4.2.3

I follow the command:

CXX=PATH_TO_MY_G++ …/llvm/configure –prefix=/usr/local

To configure llvm

And next when I use ‘make ENABLE_OPTIMIZED=0’, it can successfully build llvm, with the warning that I may get 10 times slower…

But when I use ‘make ENABLE_OPTMIZED=1’, the compilation fails with the message:

/home/wuxi/llvm-2.2/llvm-objects-opt/Release/bin/tblgen: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9’ not found (required by /home/wuxi/llvm-2.2/llvm-objects-opt/Release/bin/tblgen)

I have checked by libstdc++, with a higher version:

[wuxi@ppidellsc1420 lib]$ rpm -q libstdc++

libstdc+±4.1.1-52.el5

Well… as libstdc++ is published with gcc… I am wondering which version of gcc I should use ?

Any suggestion on this problem ? Thanks very much

Hi,

But when I use 'make ENABLE_OPTMIZED=1', the compilation fails with the

spelling mistake: should be ENABLE_OPTIMIZED not ENABLE_OPTMIZED.

message:

         /home/wuxi/llvm-2.2/llvm-objects-opt/Release/bin/tblgen:
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by
/home/wuxi/llvm-2.2/llvm-objects-opt/Release/bin/tblgen)

The directory name shows that this is still an optimized build.

As for the error itself, I have no idea.

Ciao,

Duncan.

The full message is shown here, sorry for the spelling mistake, I did not
make the mistake when I built the llvm:

[wuxi@ppidellsc1420 llvm-objects-opt]$ make ENABLE_OPTIMIZED=1
make[1]: Entering directory
`/home/wuxi/llvm-2.2/llvm-objects-opt/lib/System'
...
/home/wuxi/llvm-2.2/llvm-objects-opt/Release/bin/tblgen: /usr/lib/libstdc++.
so.6: version `GLIBCXX_3.4.9' not found (required by
/home/wuxi/llvm-2.2/llvm-objects-opt/Release/bin/tblgen)
make[1]: ***
[/home/wuxi/llvm-2.2/llvm-objects-opt/lib/VMCore/Release/Intrinsics.gen.tmp]
Error 1
make[1]: Leaving directory `/home/wuxi/llvm-2.2/llvm-objects-opt/lib/VMCore'
make: *** [all] Error 1

The directory name shows that this is still an optimized build.
As for the error itself, I have no idea

Anyway... the debug build works well and I have written a simple program,
use llvm-gcc-4.2 to generate bit code, and run the bit code directly via
lli.

Thanks

I follow the command:

         CXX=PATH_TO_MY_G++ ../llvm/configure –prefix=/usr/local

To configure llvm

And next when I use ‘make ENABLE_OPTIMIZED=0’, it can successfully build llvm, with the warning that I may get 10 times slower…

But when I use ‘make ENABLE_OPTMIZED=1’, the compilation fails with the message:

         /home/wuxi/llvm-2.2/llvm-objects-opt/Release/bin/tblgen: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /home/wuxi/llvm-2.2/llvm-objects-opt/Release/bin/tblgen)

try putting your self built newer gcc & libstdc++ in the environment

export PATH=/home/wuxi/gcc-4.2-install/bin:${PATH}
export LD_LIBRARY_PATH=/home/wuxi/gcc-4.2-install/lib:${LD_LIBRARY_PATH}

the systems /usr/lib/libstdc++.so.6 doesn't work with the newer GCC.

Tobias