Hello
I've downloaded ati-stream-sdk-v2.0-lnx32.tgz and when I try to compile I get the following error:
$> make
.....
g++ -o build/debug/x86/cal_idct build/debug/x86//cal_idct.o build/debug/x86//Timer.o build/debug/x86//Samples.o -m32 -lpthread -ldl -L/usr/X11R6/lib -laticalrt -laticalcl -L../../../../lib/x86
/usr/bin/ld: cannot find -laticalrt
I've search the system for aticalrt.* but didn't find anything. Any suggestions ?
cheers
Luca
ps I have Fedora 12 (32bit system)
aticalrt*.so are part of fglrx or catalyst. you need them if you want compile CAL samples or run OpenCL samples on GPU.
try dive into opencl subdirectory and make only opencl samples. it should work.
thnx. I can compile the stuff inside ~/ati-stream-sdk-v2.0-lnx32/samples/opencl
I've added the ~/ati-stream-sdk-v2.0-lnx32/lib/x86 to LD_LIBRARY_PATH
However when I try to run, for example, CLInfo I get
ERROR: cl::Platform::get() (1)
or
$> ./NBody
Error: clGetPlatformIDs failed. Error code : unknown error code
Any suggestion what might be the problem ?
Originally posted by: jeanluca thnx. I can compile the stuff inside ~/ati-stream-sdk-v2.0-lnx32/samples/opencl
I've added the ~/ati-stream-sdk-v2.0-lnx32/lib/x86 to LD_LIBRARY_PATH
However when I try to run, for example, CLInfo I get
ERROR: cl:latform::get() (1)
or
$> ./NBody Error: clGetPlatformIDs failed. Error code : unknown error code
Any suggestion what might be the problem ?
You must register the OpenCL ICD; otherwise, samples and other applications will fail to execute if this is not done. To register the ICD:
a. If one does not exist, create a folder /usr/lib/OpenCL/vendors.
b. Create the /usr/lib/OpenCL/vendors folder, if does not already exist.
c. Symlink [INSTALLDIR]/x86/libatiocl32.so into the vendors folder:
sudo ln -sf [INSTALLDIR]/x86/libatiocl32.so /usr/lib/OpenCL/vendors/libatiocl32.so
d. For 64-bit installations, you also must symlink [INSTALLDIR]/x86_64/libatiocl64.so to the vendors folder:
sudo ln -sf [INSTALLDIR]/x86_64/libatiocl64.so /usr/lib/OpenCL/vendors/libatiocl64.so
Samples and other applications will fail to execute if this is not done.
Please read installer note for more information.
I think I already did that (in a different way):
$> ldd CLInfo
linux-gate.so.1 => (0x00c85000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00a30000)
libdl.so.2 => /lib/libdl.so.2 (0x00a29000)
libOpenCL.so => /home/luca/ati-stream-sdk-v2.0-lnx32/lib/x86/libOpenCL.so (0x00147000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0014d000)
libm.so.6 => /lib/libm.so.6 (0x00a4c000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00612000)
libc.so.6 => /lib/libc.so.6 (0x008b2000)
/lib/ld-linux.so.2 (0x00890000)
librt.so.1 => /lib/librt.so.1 (0x00a8d000)
and inside /home/luca/ati-stram-sdk-v2.0-lnx32/lib/x86 is also libatiocl32.so (I have that path set in LD_LIBRARY_PATH)
Is that what you mean ? If not, could you give me a link to the install documentation?
no you must create that symlink because libOpenCL.so search for driver in that location.
check, did it and changed my LD_LIBRARY_PATH. Now it works!
thx a lot, cheers
ps: are a) and b) not the same ?