[C++-sig] undefined symbol: _ZTIN5boost6python15instance_holderE
Mario Lang
mlang at delysid.org
Tue May 19 14:54:15 CEST 2015
David Aldrich <David.Aldrich at EMEA.NEC.COM> writes:
> I have an application that uses Boost Python. It links and runs fine on Centos 5 systems but fails on an Ubuntu 14.04 LTS system.
>
> The code that uses Boost Python is compiled using:
>
> g++ -c -Wall -m64 -DPYTHON_ENABLE -I../Kernel -I/usr/include/python2.7 -I/usr/include/ -O3 main.cpp -o _gnuRelease/main.o
>
> and linked into a static library using:
>
> g++ -o _gnuRelease/mylib -Wl,-whole-archive,-export-dynamic ../Kernel/_gnuRelease/libKernel.a -L/usr/lib/x86_64-linux-gnu -lboost_python-py27 -lpython2.7 -Wl,--no-whole-archive -ldl
>
> When the library is linked to my main program and run I see error:
>
> undefined symbol: _ZTIN5boost6python15instance_holderE ( typeinfo for boost::python::instance_holder )
>
> Please can someone suggest how to fix this?
Does your main program link with boost_python?
You didn't paste the link command of main, which would have been helpful
here.
Also, if you link with boost_python, does it match the Python version in
use (2 vs 3)?
--
CYa,
⡍⠁⠗⠊⠕
More information about the Cplusplus-sig
mailing list