So I'm using NVIDIA's Jetson toolchain in a Docker container.
The toolchain seems to have a folder structure like this:
gcc-4.8.5-aarch64
install
aarch-unknown-linux-gnu
bin
include
lib
lib64
sysroot
etc
lib
sbin
usr
var
bin
include
lib
libexec
share
There are nested directories with three lib dirs. I can compile my libraries e.g. Boost
and PCL
just fine but linking PCL
to my application gives:
/install/bin/../lib/gcc/aarch64-unknown-linux-gnu/4.8.5/../../../..
/aarch64-unknown-linux-gnu/bin/ld: warning: libgomp.so.1, needed by
/install/aarch64-unknown-linux-gnu/sysroot/lib/libpcl_common.so, not
found (try using -rpath or -rpath-link)
/install/aarch64-unknown-linux-gnu/sysroot/lib/libpcl_common.so: undefined reference to `GOMP_loop_dynamic_next@GOMP_1.0'
The library is there:
./gcc-4.8.5-aarch64/install/aarch64-unknown-linux-gnu/lib64/libgomp.so.1
I have just extracted the toolchain tarball and set CMake SYSROOT to the enclosed sysroot
. I'm still wondering if that's how it's supposed to by used. Should I, for example, move libgomp.so.1
and other libraries from their current locations to the sysroot
dir?
What is the correct way to make linker find libgomp.so.1
here?