Wind River Support Network


LIN6-7384 : Link problem with boost on mips64

Created: May 12, 2014    Updated: Dec 3, 2018
Resolved Date: May 22, 2014
Found In Version:
Fix Version:
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Userspace


There is a known cross-compile issue with the Boost v1.54 libraries which result in a linker error: undefined reference to `boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'


I am able to reproduce this with WRL6 on at least MIPS64 targets.

Steps to Reproduce

$ configure --enable-board=qemumips64 \
      --enable-rootfs=glibc_std --enable-kernel=standard \
      --with-layer=wr-kernel/kernel-dev --with-package=gdb,boost \
      --enable-jobs=2 --enable-parallel-pkgbuilds=4 \
      --enable-rm-work=yes --enable-rm-oldimgs=yes --enable-reconfig \
      --with-sstate-dir=/path/to/sstate --with-rcpl-version=0006
$ make export-sdk

Install the SDK and source the script as usual.

Attempt to build the attached test case and you will see the following:

$ make
mips64-wrs-linux-g++  -meb -mabi=64 -mhard-float --sysroot=/opt/windriver/qemumips64-glibc_std-standard-60p6/sysroots/mips64-wrs-linux  -O2 -pipe -g -feliminate-unused-debug-types -fpermissive  -c -o test.o test.cpp
mips64-wrs-linux-g++  -meb -mabi=64 -mhard-float --sysroot=/opt/windriver/qemumips64-glibc_std-standard-60p6/sysroots/mips64-wrs-linux -Wl,-O1  -o test test.o -lboost_thread -lpthread
/opt/windriver/qemumips64-glibc_std-standard-60p6/sysroots/mips64-wrs-linux/usr/lib64/../lib64/ undefined reference to `boost::atomics::detail::lockpool::get_lock_for(void const volatile*)'
collect2: error: ld returned 1 exit status
make: *** [test] Error 1

Other Downloads

Live chat