c++ - Why are libraries not found, even though they are clearly on the -L path? -


i have following linking command (sorry it's length, tried leave original possible, except shortening paths):

cc
cmakefiles/main.dir/main.cpp.o -o main -l/me/libs/cgal/lib -l/me/libs/tbb/tbb-2017_u7/build/linux_intel64_gcc_cc5.3.0_libc2.19_kernel3.12.61_release -rdynamic -lmpfr -lgmp /me/libs/cgal/lib/libcgal_imageio.a /me/libs/cgal/lib/libcgal.a -lboost_thread -lboost_system -lz /me/libs/cgal/lib/libcgal_imageio.a /me/libs/cgal/lib/libcgal.a -lboost_thread -lboost_system -lz -ltbb -ltbbmalloc -wl,-rpath,/me/libs/cgal/lib:/me/libs/tbb/tbb-2017_u7/build/linux_intel64_gcc_cc5.3.0_libc2.19_kernel3.12.61_release

it tell me:

/usr/bin/ld: cannot find -ltbb

/usr/bin/ld: cannot find -ltbbmalloc

most relevant problem have -l/me/libs/tbb/tbb-2017_u7/build/linux_intel64_gcc_cc5.3.0_libc2.19_kernel3.12.61_release , -ltbb - ltbbmalloc. in -l directory, there libtbb.so , libtbbmalloc.so.

but why libraries not found linker, though exist in directory given -l?

edit1: asked check file command. following answers:

  • the *.o file elf 64-bit lsb relocatable, x86-64, version 1 (gnu/linux), not stripped
  • the libtbb.so.2 elf 64-bit lsb shared object, x86-64, version 1 (sysv), dynamically linked, not stripped

seems not same, have no idea whether it's compatible. basically, compiled same compiler. i'm not sure whether build system of tbb might have sneaked in other options.

edit2: asked use strace. short excerpt shows:

open("/me/libs/tbb/tbb-2017_u7/build/linux_intel64_cc_cc5.3.0_libc2.19_kernel3.12.61_release/libtbb.so", o_rdonly) = 12 [pid 102330] open("/me/libs/tbb/tbb-2017_u7/build/linux_intel64_cc_cc5.3.0_libc2.19_kernel3.12.61_release/libtbb.so", o_rdonly) = 11 [pid 102330] open("libtbb.so.2", o_rdonly) = -1 enoent (no such file or directory) [pid 102330] open("/me/libs/cgal/lib/libtbb.so.2", o_rdonly) = -1 enoent (no such file or directory) [pid 102330] open("/me/libs/tbb/tbb-2017_u7/build/linux_intel64_cc_cc5.3.0_libc2.19_kernel3.12.61_release/libtbb.so.2", o_rdonly) = 11 

it seems checks files , finds 1 looking for.


Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -