Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Installing TBB on RHEL Server?

Nav
New Contributor I
3,192 Views
I've downloaded tbb30_20100406oss_lin.tgz and extracted it, but there's no gmake file. How do I install it?

I'm connecting to an RHEL Server through ssh, from a Fedora 12 OS. Am trying to install TBB on the RHEL Server. I've extracted the files to /opt/intel/tbb, but there's no gmake, and I understand I would need to set the path by executing tbbvars.sh. Which tbbvars.sh should I execute and how? By typing "source tbbvars.sh"? It doesn't work. When I do so, the server connection gets closed.
Help?
0 Kudos
1 Solution
Vladimir_P_1234567890
3,192 Views
Hi Nav, you can look at Kevin's blog to setup tbb environment. here is the link.
--Vladimir

View solution in original post

0 Kudos
12 Replies
Vladimir_P_1234567890
3,193 Views
Hi Nav, you can look at Kevin's blog to setup tbb environment. here is the link.
--Vladimir
0 Kudos
Nav
New Contributor I
3,192 Views
Thanks, but the blog post does not answer my question of how to run gmake or make when the downloaded tgz file does not have any make or gmake in it.
Anyone know how?

--edit--
Ok, so I understand that it's a pre-built version that I have. So I just have to paste it into /opt/intel/tbb?
I haven't run gmake on the server, so I'm assuming that the tbbvars.sh of the pre-built version is the 'right' tbbvars.sh.
(Actually I tried sourcing it, but it didn't work)

--EDIT--
I got it working. Thanks :)
So there was no need to run gmake for a pre-built file. I just had to place it in the opt/intel/tbb folder, and execute the tbbvars.sh file that was there in bin/intel64 folder. Of course I had to substitute the installation directory in the tbbvars.sh file. Sweet!
0 Kudos
Vladimir_P_1234567890
3,192 Views
great.
We do not have `make install` functionality. I guess you've asked about it.
--Vladimir
0 Kudos
Nav
New Contributor I
3,192 Views
Thanks, I'm aware that there isn't any make install, but I do remember runing a gmake for installing TBB through source (long time back).

Problem: I've tried installing the same TBB on another server and followed the same procedures that made it work last time, but this time after I source the tbbvars.sh in intel64/cc4.1.0_libc2.4_kernel2.6.16.21 and try to compile my program, it gives this error:

g++ -ltbb -o /home/aaa/tbb/pfor /home/aaa/tbb/pfor.cpp
/opt/intel/tbb/tbb30_20100406oss/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21/libtbb.so.2: file not recognized: File format not recognized
collect2: ld returned 1 exit status

Sourcing the tbbvars.sh in intel64/cc3.4.3_libc2.3.4_kernel2.6.9 does not work either
Any idea what can be done here? It's the same RHEL 5, but I've installed GCC 4.5 on this server.

0 Kudos
Nav
New Contributor I
3,192 Views
Erm.......help?
0 Kudos
Vladimir_P_1234567890
3,192 Views
was the file untarred on this machine or just copied from another one?
can the file be broken?
does it have enough permissions?
what does ldd command tell about it?
0 Kudos
Nav
New Contributor I
3,192 Views
was the file untarred on this machine or just copied from another one?
It was untarred on this server


can the file be broken?
I used an scp command to copy the tgz file from one server to another. If it was broken I don't think it'd have untarred. So I guess it isn't broken


permissions and ldd
[aaa@bbb tbb]$ cd /opt/intel/tbb/tbb30_20100406oss/bin/intel64/cc4.1.0_libc2.4_kernel2.6.16.21/
[aaa@bbb cc4.1.0_libc2.4_kernel2.6.16.21]$ source tbbvars.sh
[aaa@bbb bin]$ echo $CPATH
/opt/intel/tbb/tbb30_20100406oss/include
[aaa@bbb bin]$ echo $LD_LIBRARY_PATH
/opt/intel/tbb/tbb30_20100406oss/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21
[aaa@bbb bin]$ cd /opt/intel/tbb/tbb30_20100406oss/lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21
[aaa@bbb cc4.1.0_libc2.4_kernel2.6.16.21]$ ls -lrth
total 2.2M
-rwxr-xr-x 1 aaa aaa 331K Apr 21 19:51 libtbb.so.2
-rwxr-xr-x 1 aaa aaa 20 Apr 21 19:51 libtbb.so
-rwxr-xr-x 1 aaa aaa 143K Apr 21 19:51 libtbbmalloc.so.2
-rwxr-xr-x 1 aaa aaa 26 Apr 21 19:51 libtbbmalloc.so
-rwxr-xr-x 1 aaa aaa 18K Apr 21 19:51 libtbbmalloc_proxy.so.2
-rwxr-xr-x 1 aaa aaa 32 Apr 21 19:51 libtbbmalloc_proxy.so
-rwxr-xr-x 1 aaa aaa 26K Apr 21 19:51 libtbbmalloc_proxy_debug.so.2
-rwxr-xr-x 1 aaa aaa 38 Apr 21 19:51 libtbbmalloc_proxy_debug.so
-rwxr-xr-x 1 aaa aaa 224K Apr 21 19:51 libtbbmalloc_debug.so.2
-rwxr-xr-x 1 aaa aaa 32 Apr 21 19:51 libtbbmalloc_debug.so
-rwxr-xr-x 1 aaa aaa 1.5M Apr 21 19:51 libtbb_debug.so.2
-rwxr-xr-x 1 aaa aaa 26 Apr 21 19:51 libtbb_debug.so
drwxr-xr-x 2 aaa aaa 4.0K Apr 21 19:51 irml
[aaa@bbb cc4.1.0_libc2.4_kernel2.6.16.21]$ ldd libtbb.so
lddlibc4: cannot read header from `./libtbb.so'
[aaa@bbb cc4.1.0_libc2.4_kernel2.6.16.21]$ ldd libtbb.so.2
not a dynamic executable
[aaa@bbb cc4.1.0_libc2.4_kernel2.6.16.21]$


Tried reinstalling too. Problem persists even for the files in this folder: cc3.4.3_libc2.3.4_kernel2.6.9
0 Kudos
Vladimir_P_1234567890
3,192 Views
Everything looks correct. The only thing I can imagine that your system is 32 bit one. what does `uname -a`command show?
--Vladimir
0 Kudos
Nav
New Contributor I
3,192 Views
uname -a for the server on which TBB does not work:
Linux bbb 2.6.18-92.el5PAE #1 SMP Tue Apr 29 13:31:02 EDT 2008 i686 i686 i386 GNU/Linux

uname -a for the server on which TBB does work:
Linux lll 2.6.18-92.el5 #1 SMP Tue Apr 29 13:16:15 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux

Okay, I'm a bit surprised at why it wouldn't work with a 32 bit OS. Is the only solution that I install a 64 bit OS?

besides, the ldd command shows a different result for the server on which TBB works:
[aaa@lll cc3.4.3_libc2.3.4_kernel2.6.9]$ ldd libtbb.so
not a dynamic executable
[aaa@llll cc3.4.3_libc2.3.4_kernel2.6.9]$ ldd libtbb.so.2
libdl.so.2 => /lib64/libdl.so.2 (0x00002aad3a7d2000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aad3a9d6000)
librt.so.1 => /lib64/librt.so.1 (0x00002aad3abf0000)
libm.so.6 => /lib64/libm.so.6 (0x00002aad3adfa000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002aad3b07d000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002aad3b37d000)
libc.so.6 => /lib64/libc.so.6 (0x00002aad3b58c000)
/lib64/ld-linux-x86-64.so.2 (0x0000003677000000)



0 Kudos
Vladimir_P_1234567890
3,192 Views
Quoting Nav

Okay, I'm a bit surprised at why it wouldn't work with a 32 bit OS. Is the only solution that I install a 64 bit OS?



You need to set environment to the 32 bit libraries

/opt/intel/tbb/tbb30_20100406oss/bin/ia32/cc4.1.0_libc2.4_kernel2.6.16.21

--Vladimir

0 Kudos
Nav
New Contributor I
3,192 Views
Works! :)
Thank you so much :)
0 Kudos
wcharlot
Beginner
3,192 Views
I got the same issue. This is helpful really. :)
0 Kudos
Reply