TBB interface ld issue

81 views
Skip to first unread message

JxW

unread,
May 10, 2016, 10:23:30 PM5/10/16
to deal.II User Group
Deal.II is compiled by running candi, with self-compiled mpich3.2 and gcc5.2 under my home directory. But it fails to compile any program. For example, this is the error message when compiling step-1:
.../deal.II-v8.4.0/lib/libdeal_II.g.so.8.4.0: undefined reference to `tbb::interface5::internal::task_base::destroy(tbb::task&)'
collect2: error: ld returned 1 exit status

The version of tbb being used is 4.4, also self-compiled. The following message indicates that dealii has picked up the newer version (instead of the system one):
$ ldd .../deal.II-toolchain/deal.II-v8.4.0/lib/libdeal_II.g.so.8.4.0 | grep tbb
        libtbb
.so.2 => .../tbb44_20160413oss/build/linux_intel64_gcc_cc5.2.0_libc2.12_kernel2.6.32_release/libtbb.so.2 (0x00002ba8b9bc8000)


And compiling a test program for tbb is of no problem. The cmake version being used is 3.5.1.

The issue has been bugging me for quite a while. What could potentially be the problem?

Bruno Turcksin

unread,
May 11, 2016, 7:51:50 AM5/11/16
to deal.II User Group
Hi,

do you have multiple versions of tbb installed? Maybe deal.II was compiled with one version of tbb but you have another one in your path.

Best,

Bruno

Denis Davydov

unread,
May 12, 2016, 7:54:09 AM5/12/16
to deal.II User Group
Without an intention to lead you away from Candi, but if you won't figure out what is the problem, 
you may try to use Spack https://github.com/LLNL/spack to build deal.II (spack install dealii).
By default, it only needs C/Fortran compilers, the rest will be built without using anything that is already installed on the system, 
the linking is done with Rpath so ideally there should be no way to break the installation by other TBB's sitting somewhere in
your path.

Regards,
Denis.
Reply all
Reply to author
Forward
0 new messages