qcr/gtsam-quadrics

Library crashes with "Illegal Instruction (core dumped)"

btalb opened this issue ยท 4 comments

btalb commented

There seems to be an issue with the built wheels not being truly system independent. Example failure:

ben@ben-pc:~$ ipython3 
Python 3.8.10 (default, Jun 22 2022, 20:18:18)    
Type 'copyright', 'credits' or 'license' for more information
IPython 8.4.0 -- An enhanced Interactive Python. Type '?' for help.
                                                  
In [1]: import gtsam                              

In [2]: a = gtsam.Pose3()                         

In [3]: b = gtsam.Pose3()                         

In [4]: a.between(b)                              
Illegal instruction (core dumped)

Need to figure out what is going on here.

In the meantime, installation from a source distribution will get around the issue:

  • ensure system dependencies are installed:
    • CMake >= 3.18 (follow instructions here)
    • Boost (sudo apt install libboost-all-dev)
  • use (note this will take a while):
    pip install gtsam_quadrics --no-binary :all:
    

Hi @btalb

Is there any update on this? I'm finding the same issue with the quadricslam repo.

btalb commented

Hey Bruce, unfortunately I don't think there will be an update on this for a while (I'm on leave for a few months).

The above steps should work for the quadricslam repo, just ensure they are done in this order:

  1. Install gtsam_quadrics by building from source using pip install gtsam_quadrics --no-binary :all:
  2. Then install quadricslam normally via pip install quadricslam (it should use the already installed version of gtsam_quadrics)

Hi Ben (@btalb). Thanks for your reply, much appreciated. I'm trying 1. but get the error:

"Could not build wheels for gtsam_quadrics, which is required to install pyproject.toml-based projects"

I tried some different versions of python/pip. Do you think it's maybe just a version issue?

btalb commented

I believe it may be to do with how your Python installation is setup.

Start with a fresh Python environment (e.g. python -m venv my_venv), ensure it's activated, then go from there. Also watch out for this annoying Ubuntu bug (qcr/quadricslam#4).

Sorry I can't do much deeper debugging.