mapillary / mapillary/OpenSfM

Install Error with Debian

Open
#1,026 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
3.8k
Forks
899
PR merge metrics
No merged PRs in 30d

Description

Configuring for python 3.11...
-- Found AMD library: /usr/lib/x86_64-linux-gnu/libamd.so
-- Found AMD header in: /usr/include/suitesparse
-- Found CAMD library: /usr/lib/x86_64-linux-gnu/libcamd.so
-- Found CAMD header in: /usr/include/suitesparse
-- Found COLAMD library: /usr/lib/x86_64-linux-gnu/libcolamd.so
-- Found COLAMD header in: /usr/include/suitesparse
-- Found CCOLAMD library: /usr/lib/x86_64-linux-gnu/libccolamd.so
-- Found CCOLAMD header in: /usr/include/suitesparse
-- Found CHOLMOD library: /usr/lib/x86_64-linux-gnu/libcholmod.so
-- Found CHOLMOD header in: /usr/include/suitesparse
-- Found CXSPARSE library: /usr/lib/x86_64-linux-gnu/libcxsparse.so
-- Found SuiteSparseQR library: /usr/lib/x86_64-linux-gnu/libspqr.so
-- Found SuiteSparseQR header in: /usr/include/suitesparse
-- Found Intel Thread Building Blocks (TBB) library: /usr/lib/x86_64-linux-gnu/libtbb.so, assuming SuiteSparseQR was compiled with TBB.
-- Found Intel Thread Building Blocks (TBB) Malloc library: /usr/lib/x86_64-linux-gnu/libtbbmalloc.so
-- Found SuiteSparse_config library: /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so
-- Found SuiteSparse_config header in: /usr/include/suitesparse
-- Adding librt: /usr/lib/x86_64-linux-gnu/librt.a to SuiteSparse_config libraries (required on Linux & Unix [not OSX] if SuiteSparse is compiled with timing).
-- Found METIS library: /usr/lib/x86_64-linux-gnu/libmetis.so.
-- Found SuiteSparse: TRUE (found version "5.12.0")
-- Found METIS: /usr/include (found suitable version "5.1.0", minimum required is "5.1.0")
-- Found AMD headers in: /usr/include/suitesparse
-- Found AMD library: /usr/lib/x86_64-linux-gnu/libamd.so
-- Found CAMD headers in: /usr/include/suitesparse
-- Found CAMD library: /usr/lib/x86_64-linux-gnu/libcamd.so
-- Found CCOLAMD headers in: /usr/include/suitesparse
-- Found CCOLAMD library: /usr/lib/x86_64-linux-gnu/libccolamd.so
-- Found CHOLMOD headers in: /usr/include/suitesparse
-- Found CHOLMOD library: /usr/lib/x86_64-linux-gnu/libcholmod.so
-- Found COLAMD headers in: /usr/include/suitesparse
-- Found COLAMD library: /usr/lib/x86_64-linux-gnu/libcolamd.so
-- Found SPQR headers in: /usr/include/suitesparse
-- Found SPQR library: /usr/lib/x86_64-linux-gnu/libspqr.so
-- Found Config headers in: /usr/include/suitesparse
-- Found Config library: /usr/lib/x86_64-linux-gnu/libsuitesparseconfig.so
-- Found Intel Thread Building Blocks (TBB) library (2021.8 / ) include location: . Assuming SuiteSparseQR was compiled with TBB.
-- Adding librt to SuiteSparse_config libraries (required on Linux & Unix [not OSX] if SuiteSparse is compiled with timing).
-- Found METIS: /usr/include (found version "5.1.0")
-- Found SuiteSparse: /usr/include/suitesparse (found suitable version "5.12.0", minimum required is "5.12.0") found components: AMD CAMD CCOLAMD CHOLMOD COLAMD SPQR Config
-- Found required Ceres dependency: Eigen version 3.4.0 in /usr/share/eigen3/cmake
-- Found required Ceres dependency: glog
-- Found required Ceres dependency: gflags
-- Found Ceres version: 2.2.0 installed in: /usr/local with components: [EigenSparse, SparseLinearAlgebraLibrary, LAPACK, SuiteSparse, SchurSpecializations]
-- No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available.
-- Found installed version of gflags: /usr/lib/x86_64-linux-gnu/cmake/gflags
-- Detected gflags version: 2.2.2
-- Found OpenCV: /usr/local (found version "4.8.0")
-- Found OpenCV: /usr/local (found version "4.8.0") found components: core imgproc calib3d imgcodecs
-- pybind11 v2.2.4
-- Configuring done
-- Generating done
-- Build files have been written to: /home/jdiaz031/Downloads/OpenSfM/cmake_build
Compiling extension...
[ 3%] Built target gtest
[ 7%] Built target akaze
[ 8%] Building CXX object foundation/CMakeFiles/foundation.dir/src/types.cc.o
[ 37%] Built target vl
[ 39%] Built target test_main
In file included from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:16,
from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/attr.h:13,
from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pybind11.h:43,
from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/numpy.h:12,
from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/foundation/python_types.h:2,
from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/foundation/src/types.cc:1:
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/detail/internals.h: In function ‘pybind11::detail::internals& pybind11::detail::get_internals()’:
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/detail/internals.h:194:27: warning: ‘void PyEval_InitThreads()’ is deprecated [-Wdeprecated-declarations]
194 | PyEval_InitThreads();
| ~~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/python3.11/Python.h:95,
from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/detail/common.h:112,
from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pytypes.h:12,
from /home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:13:
/usr/include/python3.11/ceval.h:132:37: note: declared here
132 | Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
| ^~~~~~~~~~~~~~~~~~
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h: In function ‘std::string pybind11::detail::error_string()’:
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:441:36: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
441 | " " + handle(frame->f_code->co_filename).caststd::string() +
| ^~
In file included from /usr/include/python3.11/Python.h:42:
/usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:441:75: error: expected primary-expression before ‘>’ token
441 | " " + handle(frame->f_code->co_filename).caststd::string() +
| ^
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:441:77: error: expected primary-expression before ‘)’ token
441 | " " + handle(frame->f_code->co_filename).caststd::string() +
| ^
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:443:29: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
443 | handle(frame->f_code->co_name).caststd::string() + "\n";
| ^~
/usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:443:64: error: expected primary-expression before ‘>’ token
443 | handle(frame->f_code->co_name).caststd::string() + "\n";
| ^
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:443:66: error: expected primary-expression before ‘)’ token
443 | handle(frame->f_code->co_name).caststd::string() + "\n";
| ^
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/cast.h:444:26: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
444 | frame = frame->f_back;
| ^~
/usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pybind11.h: In function ‘pybind11::function pybind11::get_type_overload(const void*, const detail::type_info*, const char*)’:
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pybind11.h:1890:49: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘frame’; did you mean ‘cframe’?
1890 | PyFrameObject *frame = PyThreadState_Get()->frame;
| ^~~~~
| cframe
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pybind11.h:1891:41: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
1891 | if (frame && (std::string) str(frame->f_code->co_name) == name &&
| ^~
/usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pybind11.h:1892:14: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
1892 | frame->f_code->co_argcount > 0) {
| ^~
/usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pybind11.h:1895:18: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
1895 | frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
| ^~
/usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
In file included from /usr/include/python3.11/Python.h:38:
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pybind11.h:1895:52: error: invalid use of incomplete type ‘PyFrameObject’ {aka ‘struct _frame’}
1895 | frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
| ^~
/usr/include/python3.11/pyport.h:24:38: note: in definition of macro ‘_Py_CAST’
24 | #define _Py_CAST(type, expr) ((type)(expr))
| ^~~~
/usr/include/python3.11/cpython/tupleobject.h:30:38: note: in expansion of macro ‘_PyTuple_CAST’
30 | #define PyTuple_GET_ITEM(op, index) (_PyTuple_CAST(op)->ob_item[index])
| ^~~~~~~~~~~~~
/home/jdiaz031/Downloads/OpenSfM/opensfm/src/third_party/pybind11/include/pybind11/pybind11.h:1895:30: note: in expansion of macro ‘PyTuple_GET_ITEM’
1895 | frame->f_locals, PyTuple_GET_ITEM(frame->f_code->co_varnames, 0));
| ^~~~~~~~~~~~~~~~
/usr/include/python3.11/pytypedefs.h:22:16: note: forward declaration of ‘PyFrameObject’ {aka ‘struct _frame’}
22 | typedef struct _frame PyFrameObject;
| ^~~~~~
make[2]: *** [foundation/CMakeFiles/foundation.dir/build.make:76: foundation/CMakeFiles/foundation.dir/src/types.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:434: foundation/CMakeFiles/foundation.dir/all] Error 2
make: *** [Makefile:101: all] Error 2
Traceback (most recent call last):
File "/home/jdiaz031/Downloads/OpenSfM/setup.py", line 60, in
build_c_extension()
File "/home/jdiaz031/Downloads/OpenSfM/setup.py", line 54, in build_c_extension
subprocess.check_call(
File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '-j8']' returned non-zero exit status 2.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Python 3.11 build output and the bundled files opensfm/src/third_party/pybind11/include/pybind11/cast.h and pybind11.h, where compilation fails while building foundation/src/types.cc. Re-run the extension build on Debian with Python 3.11 and compare the compatibility errors. Done means the C++ extension configures and compiles successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, debian, python
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.