Closed kenylai closed 2 years ago
Thank you for reporting this issue. We pushed a fix to branch fix-gcc-4-8-5
. Please let us know if this solves your issue.
The problem was related to gcc Bug #57712, which seems to be fixed in gcc >7.1. When compiling the code on gcc 4.8.5, I also ran into gcc Bug #55914 which was solved in gcc >= 4.9. The proposed changes should allow to compile the repo with gcc 4.8.5, although note that latest COLMAP requires gcc 4.9 or above.
Hi @Phil26AT Thanks for your great work! my gcc version is 7.5 ubuntu16.04, I also meet the same problem.
@wolf943134497 Can you please try out the branch fix-gcc-4-8-5
and report the full error log if any?
@Skydes Thanks for your quick reply. I try out the branch fix-gcc-4-8-5, but I meet the glog problem, so I use the main branch, and just change the pixsfm/base/src/parallel_optimizer.h file as the branch fix-gcc-4-8-5 did. error log: Obtaining file:///home/rui/gwm/proj/pixsfm/pixel-perfect-sfm Installing collected packages: pixsfm Running setup.py develop for pixsfm ERROR: Command errored out with exit status 1: command: /home/rui/anaconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py'"'"'; file='"'"'/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' develop --no-deps cwd: /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/ Complete output (377 lines): running develop running egg_info writing pixsfm.egg-info/PKG-INFO writing dependency_links to pixsfm.egg-info/dependency_links.txt writing top-level names to pixsfm.egg-info/top_level.txt reading manifest file 'pixsfm.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'pixsfm.egg-info/SOURCES.txt' running build_ext -- Found installed version of Eigen: /usr/local/share/eigen3/cmake -- Found required Ceres dependency: Eigen version 3.3.7 in /usr/local/include/eigen3 -- Found installed version of glog: /usr/local/lib/cmake/glog -- Detected glog version: 0.6.0 -- Found required Ceres dependency: glog -- Found installed version of gflags: /usr/local/lib/cmake/gflags -- Detected gflags version: 2.2.2 -- Found required Ceres dependency: gflags -- Found Ceres version: 1.14.0 installed in: /usr/local with components: [EigenSparse, SparseLinearAlgebraLibrary, LAPACK, SuiteSparse, CXSparse, SchurSpecializations, OpenMP, Multithreading] -- Found Boost: /usr/include (found version "1.58.0") found components: program_options filesystem system unit_test_framework -- Found Eigen -- Includes : /usr/local/include/eigen3 -- Found FreeImage -- Includes : /usr/include -- Libraries : /usr/lib/x86_64-linux-gnu/libfreeimage.so -- Found Glog -- Includes : /usr/local/include -- Libraries : /usr/local/lib/libglog.so CMake Warning (dev) at /usr/local/share/cmake-3.17/Modules/FindOpenGL.cmake:305 (message): Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when available. Run "cmake --help-policy CMP0072" for policy details. Use the cmake_policy command to set the policy and suppress this warning.
FindOpenGL found both a legacy GL library:
OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
and GLVND libraries for OpenGL and GLX:
OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
/usr/local/share/colmap/COLMAPConfig.cmake:102 (find_package)
CMakeLists.txt:35 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found Glew
-- Includes : /usr/include
-- Libraries : /usr/lib/x86_64-linux-gnu/libGLEW.so
Compiling with AVX2 support.
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Found Boost: /usr/include (found version "1.58.0") found components: system serialization
-- pybind11 v2.8.1
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/build/temp.linux-x86_64-3.6
[ 43%] Built target pixsfm
Scanning dependencies of target pypixsfm
[ 50%] Building CXX object pixsfm/CMakeFiles/pypixsfm.dir/features/bindings.cc.o
[ 50%] Building CXX object pixsfm/CMakeFiles/pypixsfm.dir/keypoint_adjustment/bindings.cc.o
[ 53%] Building CXX object pixsfm/CMakeFiles/pypixsfm.dir/bundle_adjustment/bindings.cc.o
[ 56%] Building CXX object pixsfm/CMakeFiles/pypixsfm.dir/localization/bindings.cc.o
[ 59%] Building CXX object pixsfm/CMakeFiles/pypixsfm.dir/residuals/bindings.cc.o
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/dynamic_patch_interpolator.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:12:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h: In function ‘__m256 pixsfm::_mm256_loadu_ps_T(const float*)’:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:45:50: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
inline __m256 _mm256_loadu_ps_T(const float* data) {
^
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/residuals/src/feature_reference.h:8,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/residuals/bindings.cc:9:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h: In function ‘__m256 pixsfm::_mm256_loadu_ps_T(const float*)’:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:45:50: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
inline __m256 _mm256_loadu_ps_T(const float* data) {
^
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:24,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/src/bundle_adjustment_options.h:19,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:7:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h: In function ‘__m256 pixsfm::_mm256_loadu_ps_T(const float*)’:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:45:50: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
inline __m256 _mm256_loadu_ps_T(const float* data) {
^
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/dynamic_patch_interpolator.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/src/nearest_references.h:10,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:7:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h: In function ‘__m256 pixsfm::_mm256_loadu_ps_T(const float*)’:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:45:50: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
inline __m256 _mm256_loadu_ps_T(const float* data) {
^
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:24,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/topological_keypoint_optimizer.h:16,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/featuremetric_keypoint_optimizer.h:2,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:8:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h: In function ‘__m256 pixsfm::_mm256_loadu_ps_T(const float*)’:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:45:50: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
inline __m256 _mm256_loadu_ps_T(const float* data) {
^
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featureset.h:26:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremanager.h:18,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:13:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<half_float::half>’:
/usr/include/c++/7/type_traits:710:12: required from ‘struct std::is_polymorphic<pixsfm::FeatureMap<half_float::half> >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/third-party/pybind11/include/pybind11/pybind11.h:1321:30: required from ‘class pybind11::class_<pixsfm::FeatureMap<half_float::half> >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:84:7: required from ‘void pixsfm::BindFeatureTemplate(pybind11::module&, std::__cxx11::string) [with dtype = half_float::half; pybind11::module = pybind11::module_; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:290:41: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<half_float::half>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<half_float::half>::reference_pyarray_’ [-Wattributes]
class FeatureMap {
^~~~~~~~~~
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<double>’:
/usr/include/c++/7/type_traits:710:12: required from ‘struct std::is_polymorphic<pixsfm::FeatureMap<double> >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/third-party/pybind11/include/pybind11/pybind11.h:1321:30: required from ‘class pybind11::class_<pixsfm::FeatureMap<double> >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:84:7: required from ‘void pixsfm::BindFeatureTemplate(pybind11::module&, std::__cxx11::string) [with dtype = double; pybind11::module = pybind11::module_; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:291:40: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<double>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<double>::reference_pyarray_’ [-Wattributes]
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<float>’:
/usr/include/c++/7/type_traits:710:12: required from ‘struct std::is_polymorphic<pixsfm::FeatureMap<float> >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/third-party/pybind11/include/pybind11/pybind11.h:1321:30: required from ‘class pybind11::class_<pixsfm::FeatureMap<float> >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:84:7: required from ‘void pixsfm::BindFeatureTemplate(pybind11::module&, std::__cxx11::string) [with dtype = float; pybind11::module = pybind11::module_; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:292:39: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<float>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<float>::reference_pyarray_’ [-Wattributes]
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/src/nearest_references.h:11:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:7:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<half_float::half>’:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/src/single_query_bundle_optimizer.h:76:26: required from ‘bool pixsfm::SingleQueryBundleOptimizer::RunQuery(Eigen::Ref<Eigen::Matrix<double, 4, 1> >&, Eigen::Ref<Eigen::Matrix<double, 3, 1> >&, colmap::Camera&, std::vector<Eigen::Matrix<double, 3, 1> >&, pixsfm::FeatureMap<dtype>&, RefType&, std::vector<unsigned int>*, std::vector<bool>*) [with dtype = half_float::half; RefType = std::vector<pixsfm::Reference>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:17:3: required from ‘void pixsfm::BindSingleQueryBundleOptimizer(pybind11::class_<T>&) [with dtype = half_float::half; T = pixsfm::SingleQueryBundleOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:99:47: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<half_float::half>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<half_float::half>::reference_pyarray_’ [-Wattributes]
class FeatureMap {
^~~~~~~~~~
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<float>’:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/src/single_query_bundle_optimizer.h:76:26: required from ‘bool pixsfm::SingleQueryBundleOptimizer::RunQuery(Eigen::Ref<Eigen::Matrix<double, 4, 1> >&, Eigen::Ref<Eigen::Matrix<double, 3, 1> >&, colmap::Camera&, std::vector<Eigen::Matrix<double, 3, 1> >&, pixsfm::FeatureMap<dtype>&, RefType&, std::vector<unsigned int>*, std::vector<bool>*) [with dtype = float; RefType = std::vector<pixsfm::Reference>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:17:3: required from ‘void pixsfm::BindSingleQueryBundleOptimizer(pybind11::class_<T>&) [with dtype = float; T = pixsfm::SingleQueryBundleOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:100:45: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<float>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<float>::reference_pyarray_’ [-Wattributes]
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<double>’:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/src/single_query_bundle_optimizer.h:76:26: required from ‘bool pixsfm::SingleQueryBundleOptimizer::RunQuery(Eigen::Ref<Eigen::Matrix<double, 4, 1> >&, Eigen::Ref<Eigen::Matrix<double, 3, 1> >&, colmap::Camera&, std::vector<Eigen::Matrix<double, 3, 1> >&, pixsfm::FeatureMap<dtype>&, RefType&, std::vector<unsigned int>*, std::vector<bool>*) [with dtype = double; RefType = std::vector<pixsfm::Reference>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:17:3: required from ‘void pixsfm::BindSingleQueryBundleOptimizer(pybind11::class_<T>&) [with dtype = double; T = pixsfm::SingleQueryBundleOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:101:46: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<double>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<double>::reference_pyarray_’ [-Wattributes]
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/src/bundle_adjustment_options.h:19:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:7:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<half_float::half>’:
/usr/include/c++/7/bits/stl_pair.h:215:11: required from ‘struct std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> >’
/usr/include/c++/7/ext/aligned_buffer.h:85:34: required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> > >’
/usr/include/c++/7/bits/hashtable_policy.h:248:43: required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> > >’
/usr/include/c++/7/bits/hashtable_policy.h:279:12: required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> >, true>’
/usr/include/c++/7/bits/hashtable_policy.h:2007:60: required from ‘struct std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> >, true> > >’
/usr/include/c++/7/bits/hashtable.h:173:11: required from ‘class std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/7/bits/unordered_map.h:104:18: required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half>, std::hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> > > >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featureset.h:96:24: required from ‘class pixsfm::FeatureSet<half_float::half>’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/src/reference_extractor.h:129:23: required from ‘pixsfm::Refs pixsfm::ReferenceExtractor::Run(const std::vector<int>&, const colmap::Reconstruction*, pixsfm::FeatureSet<dtype>&) [with dtype = half_float::half; pixsfm::Refs = std::unordered_map<long unsigned int, pixsfm::Reference>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:30:3: required from ‘void pixsfm::BindReferenceExtractor(pybind11::class_<T>&) [with dtype = half_float::half; T = pixsfm::ReferenceExtractor]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:174:36: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<half_float::half>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<half_float::half>::reference_pyarray_’ [-Wattributes]
class FeatureMap {
^~~~~~~~~~
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<float>’:
/usr/include/c++/7/bits/stl_pair.h:215:11: required from ‘struct std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> >’
/usr/include/c++/7/ext/aligned_buffer.h:85:34: required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> > >’
/usr/include/c++/7/bits/hashtable_policy.h:248:43: required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> > >’
/usr/include/c++/7/bits/hashtable_policy.h:279:12: required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> >, true>’
/usr/include/c++/7/bits/hashtable_policy.h:2007:60: required from ‘struct std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> >, true> > >’
/usr/include/c++/7/bits/hashtable.h:173:11: required from ‘class std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/7/bits/unordered_map.h:104:18: required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float>, std::hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> > > >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featureset.h:96:24: required from ‘class pixsfm::FeatureSet<float>’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/src/reference_extractor.h:129:23: required from ‘pixsfm::Refs pixsfm::ReferenceExtractor::Run(const std::vector<int>&, const colmap::Reconstruction*, pixsfm::FeatureSet<dtype>&) [with dtype = float; pixsfm::Refs = std::unordered_map<long unsigned int, pixsfm::Reference>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:30:3: required from ‘void pixsfm::BindReferenceExtractor(pybind11::class_<T>&) [with dtype = float; T = pixsfm::ReferenceExtractor]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:175:34: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<float>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<float>::reference_pyarray_’ [-Wattributes]
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<double>’:
/usr/include/c++/7/bits/stl_pair.h:215:11: required from ‘struct std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> >’
/usr/include/c++/7/ext/aligned_buffer.h:85:34: required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> > >’
/usr/include/c++/7/bits/hashtable_policy.h:248:43: required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> > >’
/usr/include/c++/7/bits/hashtable_policy.h:279:12: required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> >, true>’
/usr/include/c++/7/bits/hashtable_policy.h:2007:60: required from ‘struct std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> >, true> > >’
/usr/include/c++/7/bits/hashtable.h:173:11: required from ‘class std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> > >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/7/bits/unordered_map.h:104:18: required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double>, std::hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> > > >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featureset.h:96:24: required from ‘class pixsfm::FeatureSet<double>’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/src/reference_extractor.h:129:23: required from ‘pixsfm::Refs pixsfm::ReferenceExtractor::Run(const std::vector<int>&, const colmap::Reconstruction*, pixsfm::FeatureSet<dtype>&) [with dtype = double; pixsfm::Refs = std::unordered_map<long unsigned int, pixsfm::Reference>]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:30:3: required from ‘void pixsfm::BindReferenceExtractor(pybind11::class_<T>&) [with dtype = double; T = pixsfm::ReferenceExtractor]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:176:35: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<double>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<double>::reference_pyarray_’ [-Wattributes]
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/topological_keypoint_optimizer.h:16:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/featuremetric_keypoint_optimizer.h:2,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:8:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<half_float::half>’:
/usr/include/c++/7/bits/stl_pair.h:215:11: required from ‘struct std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> >’
/usr/include/c++/7/ext/aligned_buffer.h:85:34: required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> > >’
/usr/include/c++/7/bits/hashtable_policy.h:248:43: required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> > >’
/usr/include/c++/7/bits/hashtable_policy.h:279:12: required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> >, true>’
/usr/include/c++/7/bits/hashtable_policy.h:2007:60: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/7/bits/unordered_map.h:104:18: required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half>, std::hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<half_float::half> > > >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featureset.h:96:24: required from ‘class pixsfm::FeatureSet<half_float::half>’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/third-party/pybind11/include/pybind11/pybind11.h:1377:45: required from ‘pybind11::class_<type_, options>& pybind11::class_<type_, options>::def(const char*, Func&&, const Extra& ...) [with Func = bool (pixsfm::FeatureMetricKeypointOptimizer::*)(std::unordered_map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 2, 1> >*, const pixsfm::Graph*, const std::vector<long unsigned int>&, const std::vector<bool>&, pixsfm::FeatureSet<half_float::half>&); Extra = {}; type_ = pixsfm::FeatureMetricKeypointOptimizer; options = {}]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:19:3: required from ‘void pixsfm::BindParallelSolve(pybind11::class_<T>&) [with dtype = half_float::half; T = pixsfm::FeatureMetricKeypointOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:27:26: required from ‘void pixsfm::BindKeypointOptimizer(pybind11::class_<Type>&) [with T = pixsfm::FeatureMetricKeypointOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:83:34: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<half_float::half>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<half_float::half>::reference_pyarray_’ [-Wattributes]
class FeatureMap {
^~~~~~~~~~
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<float>’:
/usr/include/c++/7/bits/stl_pair.h:215:11: required from ‘struct std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> >’
/usr/include/c++/7/ext/aligned_buffer.h:85:34: required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> > >’
/usr/include/c++/7/bits/hashtable_policy.h:248:43: required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> > >’
/usr/include/c++/7/bits/hashtable_policy.h:279:12: required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> >, true>’
/usr/include/c++/7/bits/hashtable_policy.h:2007:60: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/7/bits/unordered_map.h:104:18: required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float>, std::hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<float> > > >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featureset.h:96:24: required from ‘class pixsfm::FeatureSet<float>’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/third-party/pybind11/include/pybind11/pybind11.h:1377:45: required from ‘pybind11::class_<type_, options>& pybind11::class_<type_, options>::def(const char*, Func&&, const Extra& ...) [with Func = bool (pixsfm::FeatureMetricKeypointOptimizer::*)(std::unordered_map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 2, 1> >*, const pixsfm::Graph*, const std::vector<long unsigned int>&, const std::vector<bool>&, pixsfm::FeatureSet<float>&); Extra = {}; type_ = pixsfm::FeatureMetricKeypointOptimizer; options = {}]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:19:3: required from ‘void pixsfm::BindParallelSolve(pybind11::class_<T>&) [with dtype = float; T = pixsfm::FeatureMetricKeypointOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:28:27: required from ‘void pixsfm::BindKeypointOptimizer(pybind11::class_<Type>&) [with T = pixsfm::FeatureMetricKeypointOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:83:34: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<float>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<float>::reference_pyarray_’ [-Wattributes]
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h: In instantiation of ‘class pixsfm::FeatureMap<double>’:
/usr/include/c++/7/bits/stl_pair.h:215:11: required from ‘struct std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> >’
/usr/include/c++/7/ext/aligned_buffer.h:85:34: required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> > >’
/usr/include/c++/7/bits/hashtable_policy.h:248:43: required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> > >’
/usr/include/c++/7/bits/hashtable_policy.h:279:12: required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> >, true>’
/usr/include/c++/7/bits/hashtable_policy.h:2007:60: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/c++/7/bits/unordered_map.h:104:18: required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double>, std::hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, pixsfm::FeatureMap<double> > > >’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featureset.h:96:24: required from ‘class pixsfm::FeatureSet<double>’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/third-party/pybind11/include/pybind11/pybind11.h:1377:45: required from ‘pybind11::class_<type_, options>& pybind11::class_<type_, options>::def(const char*, Func&&, const Extra& ...) [with Func = bool (pixsfm::FeatureMetricKeypointOptimizer::*)(std::unordered_map<std::__cxx11::basic_string<char>, Eigen::Matrix<double, -1, 2, 1> >*, const pixsfm::Graph*, const std::vector<long unsigned int>&, const std::vector<bool>&, pixsfm::FeatureSet<double>&); Extra = {}; type_ = pixsfm::FeatureMetricKeypointOptimizer; options = {}]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:19:3: required from ‘void pixsfm::BindParallelSolve(pybind11::class_<T>&) [with dtype = double; T = pixsfm::FeatureMetricKeypointOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:29:28: required from ‘void pixsfm::BindKeypointOptimizer(pybind11::class_<Type>&) [with T = pixsfm::FeatureMetricKeypointOptimizer]’
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:83:34: required from here
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:32:7: warning: ‘pixsfm::FeatureMap<double>’ declared with greater visibility than the type of its field ‘pixsfm::FeatureMap<double>::reference_pyarray_’ [-Wattributes]
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:15,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:24,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/topological_keypoint_optimizer.h:16,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/featuremetric_keypoint_optimizer.h:2,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:8:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: In function ‘void pixsfm::_mm256_storeu_pd_T(double*, const __m256d&)’:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:890:1: error: inlining failed in call to always_inline ‘void _mm256_storeu_pd(double*, __m256d)’: target specific option mismatch
_mm256_storeu_pd (double *__P, __m256d __A)
^~~~~~~~~~~~~~~~
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:24,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/topological_keypoint_optimizer.h:16,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/featuremetric_keypoint_optimizer.h:2,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:8:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:22:19: note: called from here
_mm256_storeu_pd(data, val);
~~~~~~~~~~~~~~~~^~~~~~~~~~~
pixsfm/CMakeFiles/pypixsfm.dir/build.make:121: recipe for target 'pixsfm/CMakeFiles/pypixsfm.dir/keypoint_adjustment/bindings.cc.o' failed
make[2]: *** [pixsfm/CMakeFiles/pypixsfm.dir/keypoint_adjustment/bindings.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:15,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/dynamic_patch_interpolator.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:12:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: In function ‘void pixsfm::_mm256_storeu_pd_T(double*, const __m256d&)’:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:890:1: error: inlining failed in call to always_inline ‘void _mm256_storeu_pd(double*, __m256d)’: target specific option mismatch
_mm256_storeu_pd (double *__P, __m256d __A)
^~~~~~~~~~~~~~~~
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/dynamic_patch_interpolator.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/bindings.cc:12:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:22:19: note: called from here
_mm256_storeu_pd(data, val);
~~~~~~~~~~~~~~~~^~~~~~~~~~~
pixsfm/CMakeFiles/pypixsfm.dir/build.make:108: recipe for target 'pixsfm/CMakeFiles/pypixsfm.dir/features/bindings.cc.o' failed
make[2]: *** [pixsfm/CMakeFiles/pypixsfm.dir/features/bindings.cc.o] Error 1
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:15,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/dynamic_patch_interpolator.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/src/nearest_references.h:10,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:7:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: In function ‘void pixsfm::_mm256_storeu_pd_T(double*, const __m256d&)’:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:890:1: error: inlining failed in call to always_inline ‘void _mm256_storeu_pd(double*, __m256d)’: target specific option mismatch
_mm256_storeu_pd (double *__P, __m256d __A)
^~~~~~~~~~~~~~~~
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/dynamic_patch_interpolator.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/src/nearest_references.h:10,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/localization/bindings.cc:7:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:22:19: note: called from here
_mm256_storeu_pd(data, val);
~~~~~~~~~~~~~~~~^~~~~~~~~~~
pixsfm/CMakeFiles/pypixsfm.dir/build.make:147: recipe for target 'pixsfm/CMakeFiles/pypixsfm.dir/localization/bindings.cc.o' failed
make[2]: *** [pixsfm/CMakeFiles/pypixsfm.dir/localization/bindings.cc.o] Error 1
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:15,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/residuals/src/feature_reference.h:8,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/residuals/bindings.cc:9:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: In function ‘void pixsfm::_mm256_storeu_pd_T(double*, const __m256d&)’:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:890:1: error: inlining failed in call to always_inline ‘void _mm256_storeu_pd(double*, __m256d)’: target specific option mismatch
_mm256_storeu_pd (double *__P, __m256d __A)
^~~~~~~~~~~~~~~~
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/residuals/src/feature_reference.h:8,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/residuals/bindings.cc:9:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:22:19: note: called from here
_mm256_storeu_pd(data, val);
~~~~~~~~~~~~~~~~^~~~~~~~~~~
pixsfm/CMakeFiles/pypixsfm.dir/build.make:160: recipe for target 'pixsfm/CMakeFiles/pypixsfm.dir/residuals/bindings.cc.o' failed
make[2]: *** [pixsfm/CMakeFiles/pypixsfm.dir/residuals/bindings.cc.o] Error 1
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:15,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:24,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/src/bundle_adjustment_options.h:19,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:7:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: In function ‘void pixsfm::_mm256_storeu_pd_T(double*, const __m256d&)’:
/usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:890:1: error: inlining failed in call to always_inline ‘void _mm256_storeu_pd(double*, __m256d)’: target specific option mismatch
_mm256_storeu_pd (double *__P, __m256d __A)
^~~~~~~~~~~~~~~~
In file included from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/interpolation.h:22:0,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featurepatch.h:20,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/features/src/featuremap.h:24,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/src/bundle_adjustment_options.h:19,
from /home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/bundle_adjustment/bindings.cc:7:
/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/pixsfm/base/src/cubic_hermite_spline_simd.h:22:19: note: called from here
_mm256_storeu_pd(data, val);
~~~~~~~~~~~~~~~~^~~~~~~~~~~
pixsfm/CMakeFiles/pypixsfm.dir/build.make:134: recipe for target 'pixsfm/CMakeFiles/pypixsfm.dir/bundle_adjustment/bindings.cc.o' failed
make[2]: *** [pixsfm/CMakeFiles/pypixsfm.dir/bundle_adjustment/bindings.cc.o] Error 1
CMakeFiles/Makefile2:421: recipe for target 'pixsfm/CMakeFiles/pypixsfm.dir/all' failed
make[1]: *** [pixsfm/CMakeFiles/pypixsfm.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
/home/rui/anaconda3/lib/python3.6/site-packages/setuptools/command/easy_install.py:159: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
EasyInstallDeprecationWarning,
/home/rui/anaconda3/lib/python3.6/site-packages/setuptools/command/install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
setuptools.SetuptoolsDeprecationWarning,
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py", line 126, in <module>
package_data={'': ['configs/*.yaml']},
File "/home/rui/anaconda3/lib/python3.6/site-packages/setuptools/__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/rui/anaconda3/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/rui/anaconda3/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/rui/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/rui/anaconda3/lib/python3.6/site-packages/setuptools/command/develop.py", line 34, in run
self.install_for_development()
File "/home/rui/anaconda3/lib/python3.6/site-packages/setuptools/command/develop.py", line 114, in install_for_development
self.run_command('build_ext')
File "/home/rui/anaconda3/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/rui/anaconda3/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py", line 55, in run
self.build_extension(ext)
File "/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py", line 99, in build_extension
cwd=self.build_temp)
File "/home/rui/anaconda3/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j6']' returned non-zero exit status 2.
----------------------------------------
ERROR: Command errored out with exit status 1: /home/rui/anaconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py'"'"'; file='"'"'/home/rui/gwm/proj/pixsfm/pixel-perfect-sfm/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' develop --no-deps Check the logs for full command output.
Thanks
Hi @wolf943134497, there seems to be an error with SIMD vectorization. For a quick fix you can try to install the library with AVX2_ENABLED=OFF pip install -e .
.
As to why these compile errors occur, do you know if your CPU supports AVX? On Linux you can check this with grep avx /proc/cpuinfo
.
Hi @Phil26AT @Skydes Thanks for your suggestions! I use the branch fix-gcc-4-8-5, and just fix the glog problem, now pixsfm installed successfully. Thanks!
HI @Phil26AT , I try out the branch fix-gcc-4-8-5 and run pip install -e . ,but found errors:
[ 93%] Built target pypixsfm
[ 96%] Linking CXX shared module ../../../pixsfm/_pixsfm.cpython-37m-x86_64-linux-gnu.so
/usr/bin/ld: /usr/local/lib/libpython3.7m.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libpython3.7m.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
pixsfm/CMakeFiles/_pixsfm.dir/build.make:128: recipe for target '../../pixsfm/_pixsfm.cpython-37m-x86_64-linux-gnu.so' failed
make[2]: [../../pixsfm/_pixsfm.cpython-37m-x86_64-linux-gnu.so] Error 1
CMakeFiles/Makefile2:311: recipe for target 'pixsfm/CMakeFiles/_pixsfm.dir/all' failed
make[1]: [pixsfm/CMakeFiles/_pixsfm.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: [all] Error 2
/usr/local/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'long_description_content_type'
warnings.warn(msg)
Traceback (most recent call last):
File "
Closing this for now.
Modify line10 in CMakelist.txt ‘set(CMAKE_CXX_STANDARD 14)’,change 11 to 14. This works for me.
Building CXX object pixsfm/CMakeFiles/pypixsfm.dir/keypoint_adjustment/bindings.cc.o In file included from /work/pixel-perfect-sfm/pixsfm/keypoint_adjustment/src/featuremetric_keypoint_optimizer.h:8:0, from /work/pixel-perfect-sfm/pixsfm/keypoint_adjustment/bindings.cc:8: /work/pixel-perfect-sfm/pixsfm/base/src/parallel_optimizer.h:90:6: error: prototype for ‘std::unordered_map<long unsigned int, decltype (static_cast<Optimizer>(nullptr)->.RunSubset<Ns ...>(((pixsfm::ParallelOptimizer<Optimizer, idx_t>)this)->pixsfm::ParallelOptimizer<Optimizer, idx_t>::dummy, pixsfm::ParallelOptimizer::RunParallel::parameters ...))> pixsfm::ParallelOptimizer<Optimizer, idx_t>::RunParallel(std::vector, Param& ...)’ does not match any in class ‘pixsfm::ParallelOptimizer<Optimizer, idx_t>’
auto ParallelOptimizer<Optimizer, idx_t>::RunParallel(
^
/work/pixel-perfect-sfm/pixsfm/base/src/parallel_optimizer.h:78:8: error: candidate is: template<class Optimizer, class idx_t> template<int ...Ns, class ... Param> std::unordered_map<long unsigned int, decltype (static_cast<Optimizer>(nullptr)->.RunSubset<Ns ...>(((pixsfm::ParallelOptimizer<Optimizer, idx_t>)this)->pixsfm::ParallelOptimizer<Optimizer, idx_t>::dummy, pixsfm::ParallelOptimizer::RunParallel::parameters ...))> pixsfm::ParallelOptimizer<Optimizer, idx_t>::RunParallel(std::vector, Param& ...)
auto RunParallel(std::vector problem_labels, Param&... parameters)
^
pixsfm/CMakeFiles/pypixsfm.dir/build.make:134: recipe for target 'pixsfm/CMakeFiles/pypixsfm.dir/keypoint_adjustment/bindings.cc.o' failed
gcc -v gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8~16.04.1)