【复现笔记】pvnet

源代码链接:https://github.com/zju3dv/pvnet

不想折腾ceres库,转去复现作者新出的clean-pvnet项目,成功复现

【复现笔记】clean-pvnet复现_weixin_54470372的博客-CSDN博客

目录

1、下载代码

2、配置环境

3、Compile the Ransac Voting Layer

 4、Compile some extension utils


1、下载代码

​git clone https://github.com/zju3dv/pvnet.git

2、配置环境

(1)Set up python 3.6.7 environment

要求python环境为3.6.7

(2)根据requirements配置环境

pip install -r requirements.txt

We need compile several files, which works fine with pytorch v0.4.1/v1.1 and gcc 5.4.0.

For users with a RTX GPU, you must use CUDA10 and pytorch v1.1 built from CUDA10.

我的gpu是 rtx2060,cuda版本10.2,故安装pytorch 1.1

遇到问题:

(1)配置环境时显示numpy1.22.0与python3.6不兼容,允许的最高版本是1.19.5

(2)显示glumpy不兼容

ERROR: Could not find a version that satisfies the requirement glumpy==1.0.6 (from versions: 0.2.1, 1.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.1.0, 1.2.0)
ERROR: No matching distribution found for glumpy==1.0.6

所以改了requirements.txt,如下

scipy==1.2.1
opencv_contrib_python==3.4.2.16
matplotlib==3.0.2
transforms3d==0.3.1
scikit_image==0.13.1
lmdb==0.94
torch==1.1.0
setuptools==39.1.0
cffi==1.11.5
torchvision==0.2.1
easydict==1.7
numpy==1.19.5
plyfile==0.6
glumpy==1.2.0

3、Compile the Ransac Voting Layer

切换到目录/pvnet/lib/ransac_voting_gpu_layer

python setup.py build_ext --inplace

遇到问题:

unable to execute ':/usr/local/cuda-10.2/bin/nvcc': No such file or directory
error: command ':/usr/local/cuda-10.2/bin/nvcc' failed with exit status 1

解决:

~/3dTracking/pvnet/lib/ransac_voting_gpu_layer$ export CUDA_HOME=/usr/local/cuda-10.2

重新运行:

/3dTracking/pvnet/lib/ransac_voting_gpu_layer$ python setup.py build_ext --inplace
running build_ext
building 'ransac_voting' extension
gcc -pthread -B /home/r***/anaconda3/envs/pvnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include -I/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include/TH -I/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/r***/anaconda3/envs/pvnet/include/python3.6m -c ./src/ransac_voting.cpp -o build/temp.linux-x86_64-3.6/./src/ransac_voting.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=ransac_voting -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++
In file included from ./src/ransac_voting.cpp:1:0:
/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:7:2: warning: #warning "Including torch/torch.h for C++ extensions is deprecated. Please include torch/extension.h" [-Wcpp]
 #warning \
  ^~~~~~~
/usr/local/cuda-10.2/bin/nvcc -I/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include -I/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include/torch/csrc/api/include -I/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include/TH -I/home/r***/anaconda3/envs/pvnet/lib/python3.6/site-packages/torch/include/THC -I/usr/local/cuda-10.2/include -I/home/r***/anaconda3/envs/pvnet/include/python3.6m -c ./src/ransac_voting_kernel.cu -o build/temp.linux-x86_64-3.6/./src/ransac_voting_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --compiler-options '-fPIC' -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=ransac_voting -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11
creating build/lib.linux-x86_64-3.6
g++ -pthread -shared -B /home/r***/anaconda3/envs/pvnet/compiler_compat -L/home/r***/anaconda3/envs/pvnet/lib -Wl,-rpath=/home/r***/anaconda3/envs/pvnet/lib -Wl,--no-as-needed -Wl,--sysroot=/ build/temp.linux-x86_64-3.6/./src/ransac_voting.o build/temp.linux-x86_64-3.6/./src/ransac_voting_kernel.o -L/usr/local/cuda-10.2/lib64 -lcudart -o build/lib.linux-x86_64-3.6/ransac_voting.cpython-36m-x86_64-linux-gnu.so
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libstdc++.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libstdc++.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
copying build/lib.linux-x86_64-3.6/ransac_voting.cpython-36m-x86_64-linux-gnu.so ->

 4、Compile some extension utils

切换目录pvnet/lib/utils/extend_utils

Revise the cuda_include and dart in build_extend_utils_cffi.py to be compatible with the CUDA in your computer.

翻译:修改build_extend_utils_cffy .py中的cuda_include和dart,使其与计算机中的CUDA兼容。

作者给的命令如下:

sudo apt-get install libgoogle-glog-dev=0.3.4-0.1
sudo apt-get install libsuitesparse-dev=1:4.4.6-1
sudo apt-get install libatlas-base-dev=3.10.2-9
python build_extend_utils_cffi.py

但是安装过程中报错了,提示没有找到所要求版本的依赖包

源码安装libgoogle-glog-dev=0.3.4-0.1:GitHub - google/glog: C++ implementation of the Google logging module

If you cannot install libsuitesparse-dev=1:4.4.6-1, please install libsuitesparse, run build_ceres.sh and move ceres/ceres-solver/build/lib/libceres.so* to lib/utils/extend_utils/lib.

于是去掉版本号进行安装,并运行build_ceres.sh文件

(pvnet) r**@r*******:~/3dTracking/pvnet$ ./build_ceres.sh

日志过长,故不放出来了。期间遇到报错

[ 51%] Built target nist
make: *** [Makefile:141: all] Error 2
mv: cannot stat 'ceres/ceres-solver-1.14.0/build/lib/libceres*': No such file or directory

运行

python build_extend_utils_cffi.py

报错

gcc: error: /usr/local/cuda-8.0/lib64/libcudart.so: No such file or directory
Traceback (most recent call last):
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/unixccompiler.py", line 197, in link
    self.spawn(linker + ld_args)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/ccompiler.py", line 909, in spawn
    spawn(cmd, dry_run=self.dry_run)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/spawn.py", line 36, in spawn
    _spawn_posix(cmd, search_path, dry_run=dry_run)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/spawn.py", line 159, in _spawn_posix
    % (cmd, exit_status))
distutils.errors.DistutilsExecError: command 'gcc' failed with exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/site-packages/cffi/ffiplatform.py", line 51, in _build
    dist.run_command('build_ext')
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/command/build_ext.py", line 339, in run
    self.build_extensions()
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/command/build_ext.py", line 448, in build_extensions
    self._build_extensions_serial()
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/command/build_ext.py", line 473, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/command/build_ext.py", line 558, in build_extension
    target_lang=language)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/ccompiler.py", line 717, in link_shared_object
    extra_preargs, extra_postargs, build_temp, target_lang)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/distutils/unixccompiler.py", line 199, in link
    raise LinkError(msg)
distutils.errors.LinkError: command 'gcc' failed with exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "build_extend_utils_cffi.py", line 41, in <module>
    ffibuilder.compile(verbose=True)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/site-packages/cffi/api.py", line 697, in compile
    compiler_verbose=verbose, debug=debug, **kwds)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/site-packages/cffi/recompiler.py", line 1520, in recompile
    compiler_verbose, debug)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/site-packages/cffi/ffiplatform.py", line 22, in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
  File "/home/rakuli/anaconda3/envs/pvnet/lib/python3.6/site-packages/cffi/ffiplatform.py", line 58, in _build
    raise VerificationError('%s: %s' % (e.__class__.__name__, e))
cffi.error.VerificationError: LinkError: command 'gcc' failed with exit status 1

打开/pvnet/lib/utils/extend_utils/build_extend_utils_cffi.py,在开头设置正确的路径

再次运行

(pvnet) r***@r***-MS-7D42:~/3dTracking/pvnet/lib/utils/extend_utils$ python build_extend_utils_cffi.py
In file included from ./include/eigen3/Eigen/Core:316:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:60:39: warning: ignoring attributes on template argument ‘__m128 {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128>  { enum { value = true }; };
                                       ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:61:40: warning: ignoring attributes on template argument ‘__m128i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128i> { enum { value = true }; };
                                        ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:62:40: warning: ignoring attributes on template argument ‘__m128d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct is_arithmetic<__m128d> { enum { value = true }; };
                                        ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:160:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4f> { typedef float  type; enum {size=4, alignment=Aligned16}; typedef Packet4f half; };
                                           ^
In file included from ./include/eigen3/Eigen/Core:316:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:161:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet2d> { typedef double type; enum {size=2, alignment=Aligned16}; typedef Packet2d half; };
                                           ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:162:43: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 template<> struct unpacket_traits<Packet4i> { typedef int    type; enum {size=4, alignment=Aligned16}; typedef Packet4i half; };
                                           ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:468:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet4f>
                                     ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:476:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet4i>
                                     ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:484:37: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 struct protate_impl<offset, Packet2d>
                                     ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:755:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4f>
                                   ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:778:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet4i>
                                   ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:801:35: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 struct palign_impl<Offset,Packet2d>
                                   ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:815:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4f,4>& kernel) {
                                  ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:820:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet2d,2>& kernel) {
                                  ^
./include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:827:34: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4i {aka __vector(2) long long int}’ [-Wignored-attributes]
 ptranspose(PacketBlock<Packet4i,4>& kernel) {
                                  ^
In file included from ./include/eigen3/Eigen/Core:318:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:232:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet4f, Packet2cf, false,false>
                                                               ^
./include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:241:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet4f {aka __vector(4) float}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet2cf, Packet4f, false,false>
                                                               ^
./include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:433:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet2d, Packet1cd, false,false>
                                                               ^
./include/eigen3/Eigen/src/Core/arch/SSE/Complex.h:442:63: warning: ignoring attributes on template argument ‘Eigen::internal::Packet2d {aka __vector(2) double}’ [-Wignored-attributes]
 template<> struct conj_helper<Packet1cd, Packet2d, false,false>
                                                               ^
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<float, 4>’:
./include/eigen3/Eigen/src/Core/Matrix.h:144:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<float, 4, 1> >’
./include/eigen3/Eigen/src/Geometry/Quaternion.h:219:7:   required from ‘struct Eigen::internal::traits<Eigen::Quaternion<float> >’
./include/eigen3/Eigen/src/Geometry/RotationBase.h:34:56:   required from ‘class Eigen::RotationBase<Eigen::Quaternion<float>, 3>’
./include/eigen3/Eigen/src/Geometry/Quaternion.h:35:7:   required from ‘class Eigen::QuaternionBase<Eigen::Quaternion<float> >’
./include/eigen3/Eigen/src/Geometry/Quaternion.h:227:7:   required from ‘class Eigen::Quaternion<float>’
./include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h:22:3:   required from here
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type {aka __vector(4) float}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type {aka __vector(4) float}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type {aka __vector(4) float}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(4) float>::half {aka __vector(4) float}’ [-Wignored-attributes]
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:148:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type {aka __vector(4) float}’ [-Wignored-attributes]
   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
                                                                                        ^~~~
In file included from ./include/eigen3/Eigen/Core:343:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:288:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, 1>’
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:527:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, 3>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Matrix<float, 4, 1>, float, float, Eigen::DenseCoeffsBase<Eigen::Matrix<float, 4, 1>, 3>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<float, 4, 1> >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<float, 4, 1> >’
./include/eigen3/Eigen/src/Core/PlainObjectBase.h:91:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<float, 4, 1> >’
./include/eigen3/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<float, 4, 1>’
./include/eigen3/Eigen/src/Geometry/Quaternion.h:287:16:   required from ‘class Eigen::Quaternion<float>’
./include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h:22:3:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<float>::type {aka __vector(4) float}’ [-Wignored-attributes]
                      >::type PacketReturnType;
                              ^~~~~~~~~~~~~~~~
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, 4>’:
./include/eigen3/Eigen/src/Core/Matrix.h:144:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, 4, 1> >’
./include/eigen3/Eigen/src/Geometry/Quaternion.h:219:7:   required from ‘struct Eigen::internal::traits<Eigen::Quaternion<double> >’
./include/eigen3/Eigen/src/Geometry/RotationBase.h:34:56:   required from ‘class Eigen::RotationBase<Eigen::Quaternion<double>, 3>’
./include/eigen3/Eigen/src/Geometry/Quaternion.h:35:7:   required from ‘class Eigen::QuaternionBase<Eigen::Quaternion<double> >’
./include/eigen3/Eigen/src/Geometry/Quaternion.h:227:7:   required from ‘class Eigen::Quaternion<double>’
./include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h:75:3:   required from here
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:148:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
                                                                                        ^~~~
In file included from ./include/eigen3/Eigen/Core:343:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:288:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, 1>’
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:527:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, 3>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Matrix<double, 4, 1>, double, double, Eigen::DenseCoeffsBase<Eigen::Matrix<double, 4, 1>, 3>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<double, 4, 1> >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, 4, 1> >’
./include/eigen3/Eigen/src/Core/PlainObjectBase.h:91:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 1> >’
./include/eigen3/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<double, 4, 1>’
./include/eigen3/Eigen/src/Geometry/Quaternion.h:287:16:   required from ‘class Eigen::Quaternion<double>’
./include/eigen3/Eigen/src/Geometry/arch/Geometry_SSE.h:75:3:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
                      >::type PacketReturnType;
                              ^~~~~~~~~~~~~~~~
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, -1>’:
./include/eigen3/Eigen/src/Core/Matrix.h:144:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, -1, 1> >’
./include/eigen3/Eigen/src/Core/PlainObjectBase.h:91:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1> >’
./include/eigen3/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<double, -1, 1>’
./include/ceres/gradient_checker.h:87:12:   required from here
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:148:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
                                                                                        ^~~~
In file included from ./include/eigen3/Eigen/Core:343:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1>, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:288:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1>, 1>’
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:527:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1>, 3>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Matrix<double, -1, 1>, double, double, Eigen::DenseCoeffsBase<Eigen::Matrix<double, -1, 1>, 3>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<double, -1, 1> >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, -1, 1> >’
./include/eigen3/Eigen/src/Core/PlainObjectBase.h:91:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1> >’
./include/eigen3/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<double, -1, 1>’
./include/ceres/gradient_checker.h:87:12:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
                      >::type PacketReturnType;
                              ^~~~~~~~~~~~~~~~
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, 6>’:
./include/eigen3/Eigen/src/Core/Matrix.h:144:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/eigen3/Eigen/src/Core/PlainObjectBase.h:91:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/eigen3/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<double, 6, 1, 0, 6, 1>’
./include/ceres/jet.h:306:59:   required from ‘struct ceres::Jet<double, 6>’
./include/ceres/internal/autodiff.h:232:40:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:148:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
                                                                                        ^~~~
In file included from ./include/eigen3/Eigen/Core:343:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:288:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 1>’
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:527:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 3>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Matrix<double, 6, 1, 0, 6, 1>, double, double, Eigen::DenseCoeffsBase<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 3>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/eigen3/Eigen/src/Core/PlainObjectBase.h:91:7:   required from ‘class Eigen::PlainObjectBase<Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/eigen3/Eigen/src/Core/Matrix.h:178:7:   required from ‘class Eigen::Matrix<double, 6, 1, 0, 6, 1>’
./include/ceres/jet.h:306:59:   required from ‘struct ceres::Jet<double, 6>’
./include/ceres/internal/autodiff.h:232:40:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
                      >::type PacketReturnType;
                              ^~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 6, 1, 0, 6, 1> >, 0>’:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 6, 1, 0, 6, 1> >, double, double, Eigen::DenseCoeffsBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 6, 1, 0, 6, 1> >, 0>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/eigen3/Eigen/src/Core/CwiseNullaryOp.h:44:7:   required from ‘class Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/eigen3/Eigen/src/Core/CwiseNullaryOp.h:338:30:   required from ‘Derived& Eigen::DenseBase<Derived>::setConstant(const Scalar&) [with Derived = Eigen::Matrix<double, 6, 1, 0, 6, 1>; Eigen::DenseBase<Derived>::Scalar = double]’
./include/ceres/internal/autodiff.h:266:7:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:288:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >, 1>’
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:527:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >, 3>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >, double, double, Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >, 3>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/eigen3/Eigen/src/Core/MapBase.h:177:34:   required from ‘class Eigen::MapBase<Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >, 1>’
./include/eigen3/Eigen/src/Core/Map.h:89:79:   required from ‘class Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >’
./include/ceres/internal/autodiff.h:196:12:   required from ‘void ceres::internal::Take1stOrderPart(int, const JetT*, T*) [with JetT = ceres::Jet<double, 6>; T = double; int N0 = 0; int N = 6]’
./include/ceres/internal/autodiff.h:306:5:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:454:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>, 2>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>, double, double, Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>, 2>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false> >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false> >’
./include/eigen3/Eigen/src/Core/MapBase.h:27:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>, 0>’
./include/eigen3/Eigen/src/Core/Block.h:333:7:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/eigen3/Eigen/src/Core/Block.h:104:81:   required from ‘class Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>’
./include/eigen3/Eigen/src/Core/VectorBlock.h:57:47:   required from ‘class Eigen::VectorBlock<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6>’
./include/ceres/internal/autodiff.h:196:56:   required from ‘void ceres::internal::Take1stOrderPart(int, const JetT*, T*) [with JetT = ceres::Jet<double, 6>; T = double; int N0 = 0; int N = 6]’
./include/ceres/internal/autodiff.h:306:5:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h: In instantiation of ‘struct Eigen::internal::find_best_packet<double, 0>’:
./include/eigen3/Eigen/src/Core/Matrix.h:144:57:   required from ‘struct Eigen::internal::traits<Eigen::Matrix<double, 0, 1, 0, 0, 1> >’
./include/eigen3/Eigen/src/Core/Map.h:69:8:   required from ‘struct Eigen::internal::traits<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> > >’
./include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:54:   required from ‘struct Eigen::internal::accessors_level<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> > >’
./include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:116:75:   required from ‘class Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >’
./include/ceres/internal/autodiff.h:196:12:   required from ‘void ceres::internal::Take1stOrderPart(int, const JetT*, T*) [with JetT = ceres::Jet<double, 6>; T = double; int N0 = 6; int N = 0]’
./include/ceres/internal/autodiff.h:307:5:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:44: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                                       ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
          bool Stop = Size==Dynamic || (Size%unpacket_traits<PacketType>::size)==0 || is_same<PacketType,typename unpacket_traits<PacketType>::half>::value>
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/util/XprHelper.h:130:83: warning: ignoring attributes on template argument ‘Eigen::internal::unpacket_traits<__vector(2) double>::half {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ./include/eigen3/Eigen/Core:298:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:148:88: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
   typedef typename find_best_packet_helper<Size,typename packet_traits<T>::type>::type type;
                                                                                        ^~~~
In file included from ./include/eigen3/Eigen/Core:343:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:288:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 1>’
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:527:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 3>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Matrix<double, 0, 1, 0, 0, 1>, double, double, Eigen::DenseCoeffsBase<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 3>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Matrix<double, 0, 1, 0, 0, 1> >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Matrix<double, 0, 1, 0, 0, 1> >’
./include/eigen3/Eigen/src/Core/PlainObjectBase.h:91:7:   [ skipping 3 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:32:54:   required from ‘struct Eigen::internal::accessors_level<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> > >’
./include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:116:75:   required from ‘class Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >’
./include/ceres/internal/autodiff.h:196:12:   required from ‘void ceres::internal::Take1stOrderPart(int, const JetT*, T*) [with JetT = ceres::Jet<double, 6>; T = double; int N0 = 6; int N = 0]’
./include/ceres/internal/autodiff.h:307:5:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
                      >::type PacketReturnType;
                              ^~~~~~~~~~~~~~~~
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:288:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >, 1>’
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:527:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >, 3>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >, double, double, Eigen::DenseCoeffsBase<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >, 3>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/eigen3/Eigen/src/Core/MapBase.h:177:34:   required from ‘class Eigen::MapBase<Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >, 1>’
./include/eigen3/Eigen/src/Core/Map.h:89:79:   required from ‘class Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >’
./include/ceres/internal/autodiff.h:196:12:   required from ‘void ceres::internal::Take1stOrderPart(int, const JetT*, T*) [with JetT = ceres::Jet<double, 6>; T = double; int N0 = 6; int N = 0]’
./include/ceres/internal/autodiff.h:307:5:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>, 0>’:
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:454:7:   required from ‘class Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>, 2>’
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>, double, double, Eigen::DenseCoeffsBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>, 2>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false> >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false> >’
./include/eigen3/Eigen/src/Core/MapBase.h:27:34:   required from ‘class Eigen::MapBase<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>, 0>’
./include/eigen3/Eigen/src/Core/Block.h:333:7:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
./include/eigen3/Eigen/src/Core/Block.h:104:81:   required from ‘class Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>’
./include/eigen3/Eigen/src/Core/VectorBlock.h:57:47:   required from ‘class Eigen::VectorBlock<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0>’
./include/ceres/internal/autodiff.h:196:56:   required from ‘void ceres::internal::Take1stOrderPart(int, const JetT*, T*) [with JetT = ceres::Jet<double, 6>; T = double; int N0 = 6; int N = 0]’
./include/ceres/internal/autodiff.h:307:5:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, 0>’:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, double, double, Eigen::DenseCoeffsBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, 0>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/eigen3/Eigen/src/Core/CwiseUnaryOp.h:94:7:   required from ‘class Eigen::CwiseUnaryOpImpl<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Dense>’
./include/eigen3/Eigen/src/Core/CwiseUnaryOp.h:56:7:   required from ‘class Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/ceres/jet.h:367:35:   required from ‘ceres::Jet<T, N> ceres::operator*(const ceres::Jet<T, N>&, const ceres::Jet<T, N>&) [with T = double; int N = 6]’
src/uncertainty_pnp.cpp:25:23:   required from ‘bool ReprojectionErrorArray::operator()(const T*, T*) const [with T = ceres::Jet<double, 6>]’
./include/ceres/internal/variadic_evaluate.h:175:19:   required from ‘static bool ceres::internal::VariadicEvaluate<Functor, T, N0, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Call(const Functor&, const T* const*, T*) [with Functor = ReprojectionErrorArray; T = ceres::Jet<double, 6>; int N0 = 6]’
./include/ceres/internal/autodiff.h:289:72:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >, 0>’:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >, double, double, Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >, 0>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > >’
./include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_sum_op<double>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, Eigen::Dense>’
./include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:78:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/ceres/jet.h:367:41:   required from ‘ceres::Jet<T, N> ceres::operator*(const ceres::Jet<T, N>&, const ceres::Jet<T, N>&) [with T = double; int N = 6]’
src/uncertainty_pnp.cpp:25:23:   required from ‘bool ReprojectionErrorArray::operator()(const T*, T*) const [with T = ceres::Jet<double, 6>]’
./include/ceres/internal/variadic_evaluate.h:175:19:   required from ‘static bool ceres::internal::VariadicEvaluate<Functor, T, N0, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Call(const Functor&, const T* const*, T*) [with Functor = ReprojectionErrorArray; T = ceres::Jet<double, 6>; int N0 = 6]’
./include/ceres/internal/autodiff.h:289:72:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >, 0>’:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >, double, double, Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >, 0>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > >’
./include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, Eigen::Dense>’
./include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:78:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/ceres/jet.h:395:37:   required from ‘ceres::Jet<T, N> ceres::operator/(const ceres::Jet<T, N>&, const ceres::Jet<T, N>&) [with T = double; int N = 6]’
src/uncertainty_pnp.cpp:25:38:   required from ‘bool ReprojectionErrorArray::operator()(const T*, T*) const [with T = ceres::Jet<double, 6>]’
./include/ceres/internal/variadic_evaluate.h:175:19:   required from ‘static bool ceres::internal::VariadicEvaluate<Functor, T, N0, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Call(const Functor&, const T* const*, T*) [with Functor = ReprojectionErrorArray; T = ceres::Jet<double, 6>; int N0 = 6]’
./include/ceres/internal/autodiff.h:289:72:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > >, 0>’:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > >, double, double, Eigen::DenseCoeffsBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > >, 0>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > > >’
./include/eigen3/Eigen/src/Core/CwiseUnaryOp.h:94:7:   required from ‘class Eigen::CwiseUnaryOpImpl<Eigen::internal::scalar_multiple_op<double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >, Eigen::Dense>’
./include/eigen3/Eigen/src/Core/CwiseUnaryOp.h:56:7:   required from ‘class Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::CwiseUnaryOp<Eigen::internal::scalar_multiple_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > > >’
./include/ceres/jet.h:395:57:   required from ‘ceres::Jet<T, N> ceres::operator/(const ceres::Jet<T, N>&, const ceres::Jet<T, N>&) [with T = double; int N = 6]’
src/uncertainty_pnp.cpp:25:38:   required from ‘bool ReprojectionErrorArray::operator()(const T*, T*) const [with T = ceres::Jet<double, 6>]’
./include/ceres/internal/variadic_evaluate.h:175:19:   required from ‘static bool ceres::internal::VariadicEvaluate<Functor, T, N0, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Call(const Functor&, const T* const*, T*) [with Functor = ReprojectionErrorArray; T = ceres::Jet<double, 6>; int N0 = 6]’
./include/ceres/internal/autodiff.h:289:72:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, 0>’:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, double, double, Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, 0>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_sum_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Dense>’
./include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:78:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_sum_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/ceres/jet.h:329:35:   required from ‘ceres::Jet<T, N> ceres::operator+(const ceres::Jet<T, N>&, const ceres::Jet<T, N>&) [with T = double; int N = 6]’
src/uncertainty_pnp.cpp:25:53:   required from ‘bool ReprojectionErrorArray::operator()(const T*, T*) const [with T = ceres::Jet<double, 6>]’
./include/ceres/internal/variadic_evaluate.h:175:19:   required from ‘static bool ceres::internal::VariadicEvaluate<Functor, T, N0, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Call(const Functor&, const T* const*, T*) [with Functor = ReprojectionErrorArray; T = ceres::Jet<double, 6>; int N0 = 6]’
./include/ceres/internal/autodiff.h:289:72:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h: In instantiation of ‘class Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, 0>’:
./include/eigen3/Eigen/src/Core/util/XprHelper.h:457:8:   required from ‘struct Eigen::internal::special_scalar_op_base<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, double, double, Eigen::DenseCoeffsBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >, 0>, false>’
./include/eigen3/Eigen/src/Core/DenseBase.h:41:34:   required from ‘class Eigen::DenseBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/eigen3/Eigen/src/Core/MatrixBase.h:48:34:   required from ‘class Eigen::MatrixBase<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> > >’
./include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:148:7:   required from ‘class Eigen::CwiseBinaryOpImpl<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, Eigen::Dense>’
./include/eigen3/Eigen/src/Core/CwiseBinaryOp.h:78:7:   required from ‘class Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<double>, const Eigen::Matrix<double, 6, 1, 0, 6, 1>, const Eigen::Matrix<double, 6, 1, 0, 6, 1> >’
./include/ceres/jet.h:348:35:   required from ‘ceres::Jet<T, N> ceres::operator-(const ceres::Jet<T, N>&, const ceres::Jet<T, N>&) [with T = double; int N = 6]’
src/uncertainty_pnp.cpp:27:24:   required from ‘bool ReprojectionErrorArray::operator()(const T*, T*) const [with T = ceres::Jet<double, 6>]’
./include/ceres/internal/variadic_evaluate.h:175:19:   required from ‘static bool ceres::internal::VariadicEvaluate<Functor, T, N0, 0, 0, 0, 0, 0, 0, 0, 0, 0>::Call(const Functor&, const T* const*, T*) [with Functor = ReprojectionErrorArray; T = ceres::Jet<double, 6>; int N0 = 6]’
./include/ceres/internal/autodiff.h:289:72:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:55:30: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
In file included from ./include/eigen3/Eigen/Core:349:0,
                 from ./include/ceres/jet.h:166,
                 from ./include/ceres/internal/autodiff.h:145,
                 from ./include/ceres/autodiff_cost_function.h:133,
                 from ./include/ceres/ceres.h:37,
                 from src/uncertainty_pnp.cpp:3:
./include/eigen3/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false> >’:
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:648:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(const DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>; Functor = Eigen::internal::assign_op<double>]’
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:790:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Scalar>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>; Functor = Eigen::internal::assign_op<double>; Scalar = double]’
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:747:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>; Func = Eigen::internal::assign_op<double>]’
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:712:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>; Func = Eigen::internal::assign_op<double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::value), void*>::type = void*]’
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:693:18:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>]’
./include/eigen3/Eigen/src/Core/Assign.h:66:28:   required from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 6, 1, false>; Derived = Eigen::Map<Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, Eigen::Stride<0, 0> >]’
./include/ceres/internal/autodiff.h:196:56:   required from ‘void ceres::internal::Take1stOrderPart(int, const JetT*, T*) [with JetT = ceres::Jet<double, 6>; T = double; int N0 = 0; int N = 6]’
./include/ceres/internal/autodiff.h:306:5:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/CoreEvaluators.h:697:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
   enum {
        ^
./include/eigen3/Eigen/src/Core/CoreEvaluators.h: In instantiation of ‘struct Eigen::internal::evaluator<Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false> >’:
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:648:20:   required from ‘void Eigen::internal::call_dense_assignment_loop(const DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>; Functor = Eigen::internal::assign_op<double>]’
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:790:31:   required from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Scalar>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >; SrcXprType = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>; Functor = Eigen::internal::assign_op<double>; Scalar = double]’
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:747:49:   required from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>; Func = Eigen::internal::assign_op<double>]’
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:712:27:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>; Func = Eigen::internal::assign_op<double>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::value), void*>::type = void*]’
./include/eigen3/Eigen/src/Core/AssignEvaluator.h:693:18:   required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >; Src = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>]’
./include/eigen3/Eigen/src/Core/Assign.h:66:28:   required from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Block<const Eigen::Matrix<double, 6, 1, 0, 6, 1>, 0, 1, false>; Derived = Eigen::Map<Eigen::Matrix<double, 0, 1, 0, 0, 1>, 0, Eigen::Stride<0, 0> >]’
./include/ceres/internal/autodiff.h:196:56:   required from ‘void ceres::internal::Take1stOrderPart(int, const JetT*, T*) [with JetT = ceres::Jet<double, 6>; T = double; int N0 = 6; int N = 0]’
./include/ceres/internal/autodiff.h:307:5:   required from ‘static bool ceres::internal::AutoDiff<Functor, T, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Differentiate(const Functor&, const T* const*, int, T*, T**) [with Functor = ReprojectionErrorArray; T = double; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
./include/ceres/autodiff_cost_function.h:211:66:   required from ‘bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, N0, N1, N2, N3, N4, N5, N6, N7, N8, N9>::Evaluate(const double* const*, double*, double**) const [with CostFunctor = ReprojectionErrorArray; int kNumResiduals = 2; int N0 = 6; int N1 = 0; int N2 = 0; int N3 = 0; int N4 = 0; int N5 = 0; int N6 = 0; int N7 = 0; int N8 = 0; int N9 = 0]’
src/uncertainty_pnp.cpp:156:1:   required from here
./include/eigen3/Eigen/src/Core/CoreEvaluators.h:697:8: warning: ignoring attributes on template argument ‘Eigen::internal::packet_traits<double>::type {aka __vector(2) double}’ [-Wignored-attributes]
generating ./_extend_utils.c
(already up-to-date)
the current directory is '/home/r***/3dTracking/pvnet/lib/utils/extend_utils'
running build_ext
building '_extend_utils' extension
gcc -pthread -B /home/r***/anaconda3/envs/pvnet/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/r***/anaconda3/envs/pvnet/include/python3.6m -c _extend_utils.c -o ./_extend_utils.o
gcc -pthread -shared -B /home/r***/anaconda3/envs/pvnet/compiler_compat -L/home/r***/anaconda3/envs/pvnet/lib -Wl,-rpath=/home/r***/anaconda3/envs/pvnet/lib -Wl,--no-as-needed -Wl,--sysroot=/ ./_extend_utils.o src/mesh_rasterization.cpp.o src/farthest_point_sampling.cpp.o src/uncertainty_pnp.cpp.o src/nearest_neighborhood.cu.o ./lib/libceres.so ./lib/libglog.so /usr/local/cuda-10.2/lib64/libcudart.so -lstdc++ -o ./_extend_utils.cpython-36m-x86_64-linux-gnu.so
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libstdc++.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libstdc++.so: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001
/home/r***/anaconda3/envs/pvnet/compiler_compat/ld: warning: /home/r***/anaconda3/envs/pvnet/lib/libgcc_s.so.1: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
clean-pvnet是一个用于6DoF姿态估计的代码库,它是基于“PVNet: Pixel-wise Voting Network for 6DoF Pose Estimation”论文开发的。如果您想要下载clean-pvnet代码并配置环境,可以按照以下步骤进行操作: 1. 使用命令`git clone https://github.com/zju3dv/clean-pvnet.git`下载代码。 2. 配置环境,可以使用以下命令: ``` conda create -n pvnet python=3.7 conda activate pvnet conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2 -c pytorch pip install Cython==0.28.2 sudo apt-get install libglfw3-dev libglfw3 pip install -r requirements.txt ``` 这些命令将创建一个名为`pvnet`的虚拟环境,并安装所需的依赖项。 3. 当您运行`run.py`时,输出日志将显示运行的进度和结果。根据提供的日志,运行看起来是成功的,并输出了一些信息。 4. 对于权重文件,根据提供的信息,训练好的权重文件可能存储在代码库的某个目录中。 请注意,这只是对clean-pvnet的简要介绍,如果您需要更多详细信息或有其他相关问题,请参考论文和代码库中的文档。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【复现笔记】clean-pvnet复现](https://blog.csdn.net/weixin_54470372/article/details/128293400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值