Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined symbol: _ZTIN5boost6python15instance_holderE #217

Open
K-i-n-gC-r-i-m-s-o-n99 opened this issue Aug 16, 2024 · 1 comment
Open

Comments

@K-i-n-gC-r-i-m-s-o-n99
Copy link

I am getting the error message "undefined symbol: _ZTIN5boost6python15instance_holderE" when I try to import the libraries of libra:

from liblibra_core import *
from libra_py import *
import os
import sys
import time
import numpy as np
import matplotlib.pyplot as plt

The issue appears to be related to Boost.Python and is most probably an incompatibility between the Boost.Python library used to compile the C. How can this be resolved?

@alexvakimov
Copy link
Member

The general recommendation is to stick to the instructions as much as possible (e.g. sequence of installations and the versions of the packages). If things do not work, one can try re-installing the Miniconda or re-creating the Conda environment needed to build Libra.
However, before radical changes, consider re-running cmake ../ from the _build directory before recompiling the code - this is needed when new files (both .cpp and especially .h) are added to the code. Simply running the make -j4 would be using the older Makefile which may not have the relevant source files listed. Then the compilation may go normally, but the linking will not be complete - this is where the "undefined symbol: X" errors come from.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants