Closed claudio-ICL closed 1 year ago
Hey @claudio-ICL
the error you're getting seems to be
_array.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZSt28__throw_bad_array_new_lengthv
If you have swig installed on your system you can try building it from source, which possibly will resolve your linking issue (I can't really say for certain sadly)
you can try building from source like this
git clone https://github.com/X-DataInitiative/tick
cd tick
python3 setup.py build_ext --inplace
I should add if you're using python3.10 or higher you might have an issue which is resolved in an open PR
Hi @PhilipDeegan
Thanks for helping!
I am indeed trying to build from source. I do have SWIG and I am using Python 3.6.
Re-building with python setup.py build_ext --inplace
gives:
Error executing check_mkl.py - mkl not found running build_ext copying build/lib.linux-x86_64-3.6/tick/array/build/_array.cpython-36m-x86_64-linux-gnu.so -> tick/array/build copying build/lib.linux-x86_64-3.6/tick/base/build/_base.cpython-36m-x86_64-linux-gnu.so -> tick/base/build copying build/lib.linux-x86_64-3.6/tick/array_test/build/_array_test.cpython-36m-x86_64-linux-gnu.so -> tick/array_test/build copying build/lib.linux-x86_64-3.6/tick/random/build/_crandom.cpython-36m-x86_64-linux-gnu.so -> tick/random/build copying build/lib.linux-x86_64-3.6/tick/base_model/build/_base_model.cpython-36m-x86_64-linux-gnu.so -> tick/base_model/build copying build/lib.linux-x86_64-3.6/tick/linear_model/build/_linear_model.cpython-36m-x86_64-linux-gnu.so -> tick/linear_model/build copying build/lib.linux-x86_64-3.6/tick/hawkes/simulation/build/_hawkes_simulation.cpython-36m-x86_64-linux-gnu.so -> tick/hawkes/simulation/build copying build/lib.linux-x86_64-3.6/tick/hawkes/model/build/_hawkes_model.cpython-36m-x86_64-linux-gnu.so -> tick/hawkes/model/build copying build/lib.linux-x86_64-3.6/tick/hawkes/inference/build/_hawkes_inference.cpython-36m-x86_64-linux-gnu.so -> tick/hawkes/inference/build copying build/lib.linux-x86_64-3.6/tick/prox/build/_prox.cpython-36m-x86_64-linux-gnu.so -> tick/prox/build copying build/lib.linux-x86_64-3.6/tick/preprocessing/build/_preprocessing.cpython-36m-x86_64-linux-gnu.so -> tick/preprocessing/build copying build/lib.linux-x86_64-3.6/tick/robust/build/_robust.cpython-36m-x86_64-linux-gnu.so -> tick/robust/build copying build/lib.linux-x86_64-3.6/tick/survival/build/_survival.cpython-36m-x86_64-linux-gnu.so -> tick/survival/build copying build/lib.linux-x86_64-3.6/tick/solver/build/_solver.cpython-36m-x86_64-linux-gnu.so -> tick/solver/build
It seems that the check for mkl fails. Can this be the reason? Can you help with that?
The MKL error is ignorable I think, you seem to have all the libraries built
cereal is a submodule in the repo
you can get it with
git submodule update --init
alternatively you can get things like this when cloning with
git clone $URL --recursive
Thanks @PhilipDeegan! All solved now :)
To sum up,
This is what worked on my Ubuntu 22.04.1 LTS, where the yml
file file is attached: tick.yml.txt
git clone git@github.com:X-DataInitiative/tick.git
git submodule update --init
conda env create -f ./tick.yml
conda develop -n tick .
conda activate tick
sudo apt-get install swig
sudo apt-get install -y autotools-dev automake gawk bison flex
Test: python -c "import dill;"
python setup.py build_ext --inplace
Test: python -c "import tick;"
I believe we can close this issue.
I am installing
tick
on Ubuntu 22.04 withpip install tick
. Installation was successful (but it requiredswig
). Unfortunately, importing fromtick.hawkes
does not seem to work, because in the__init__
oftick.array
we try to importarray
from.build
and this is not found. Please see attached. Could you please adise how to resolve the issue?error.txt