I'm trying to install the OpenCL beta on a 32-bit Fedora variant known as Scientific Linux SL Release 4.0 (Beryllium). It's a nice 4-core machine, but I don't have root access, and its software is in need of major upgrade. Anyway, when I run the compiler, clc, I get the message:
./clc: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ./clc)
ATI_Stream_SDK_Installation_Notes.pdf does mention that libstdc++.so.5 should be present. I recently installed GCC 4.4 from source in my $HOME directory, so I looked there, but only found libstdc++.so.6. I thought that that might include GLIBC_2.4, so I used "strings":
strings $HOME/apps/mygcc/lib/libstdc++.so.6 | grep GLIBC
Alas, no matches for GLIBC_2.4; only GLIBC_2.[1-3[.2-3]] and GLIBCXX_3.4[.1-12] (IYSWIM).
I've hunted for libcompat-libstdc++-33-3.2.3-61.i386.rpm and(?) compat-libstdc++-33-3.2.3-61.x86_64.rpm packages, found things like that, fought with rpm for non-root, failed etc.
What is the mystery of GLIBC_2.4? What features does the OpenCL compiler use from there? More seriously, is compiling another, older version of GCC my best bet? If so, could you point me towards one?
OpenSUSE 11.0 and Ubuntu 8.04 with GCC version 4.3 or later are the Linux distributions supported for the current SDK.
One thing you can try doing though, is to recompile your libstdc++ and see.
Thanks for the reply omkaranathan. Yes I am aware of the supported distributions. The advice I mentioned (from ATI_Stream_SDK_Installation_Notes.pdf) regarding libstdc++.so.5 relates to its absence in the unsupported distro: RedHat Enterprise Linux 5.1.
There is no reason to recompile GCC 4.4's libstdc++ without further modifications as I will receive exactly the same libstdc++.so.6 Perhaps there's a GCC compile switch to enable GLIBC_2.4?
Can anyone else offer advice?