kitti
kitti copied to clipboard
compilation error for module.so under Ubuntu 17.10
Got the following two error from setup.py
:
- kitti/bp/module.cpp:580:10: fatal error: numpy/arrayobject.h: No such file or directory
#include "numpy/arrayobject.h"
- kitti/bp/module.cpp:586:10: fatal error: opencv2/opencv.hpp: No such file or directory
#include "opencv2/opencv.hpp"
solved by:
- installing opencv libraries
sudo apt install libopencv-dev
- installing numpy
pip install numpy
and the following changes to setup.py
diff --git a/setup.py b/setup.py
index 83c228c..cde6e6d 100644
--- a/setup.py
+++ b/setup.py
@@ -2,16 +2,22 @@ from setuptools import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
+import numpy
+import subprocess
+
+proc_libs = subprocess.check_output("pkg-config --libs opencv".split())
+proc_incs = subprocess.check_output("pkg-config --cflags opencv".split())
+libs = [lib for lib in str(proc_libs, "utf-8").split()]
ext_modules = []
ext_modules.append(Extension(
"kitti.bp.module",
["kitti/bp/module.pyx", "kitti/bp/interp.cpp", "kitti/bp/stereo.cpp", "kitti/bp/bp.cpp"],
- include_dirs=["kitti/bp", "/opt/opencv/include"],
+ include_dirs=[numpy.get_include(), "kitti/bp", "/opt/opencv/include"],
library_dirs=["/opt/opencv/lib"],
libraries=["opencv_core", "opencv_imgproc"],
language="c++",
- extra_compile_args=["-w", "-O3"]))
+ extra_compile_args=["-w", "-O3"].append(libs)))
setup(
name="kitti",
Just wanted to share the fix