Skip to content

ROS2 humble #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
bonabai opened this issue May 18, 2023 · 35 comments
Open

ROS2 humble #8

bonabai opened this issue May 18, 2023 · 35 comments

Comments

@bonabai
Copy link

bonabai commented May 18, 2023

Any hints on building this on ROS2 humble? I was getting some constraints to run it on Ubuntu 22.04 which ROS2 humble is the supported ROS version.

I tried naively building it though getting some weird error about "rclcpp::Duration(0)"

error: no matching function for call to ‘rclcpp::Duration::Duration(int)’

Thanks in advance!

@bonabai
Copy link
Author

bonabai commented May 18, 2023

Actually I think I might have a quick fix for it:
If in ROS2 humble, just replace it with the following:
rclcpp::Duration::from_seconds(0);

Not sure if I should do a PR or just leave this ticket open for others.

@mzahana
Copy link

mzahana commented Jun 12, 2023

Hi @bonabai Have you successfully used VINS FUSION with ROS 2 humble ?

@bonabai
Copy link
Author

bonabai commented Jun 12, 2023 via email

@mzahana
Copy link

mzahana commented Jun 12, 2023

Can you please share the modifications needed to run it with ros humble?

Thanks @bonabai

@bonabai
Copy link
Author

bonabai commented Jun 13, 2023

Try this one: https://github.com/bonabai/VINS-Fusion-ROS2.git, and checkout no_cuda branch.
Let me know if you run into any error message.

@luohongk
Copy link

luohongk commented Jan 8, 2024

@bonabai I faced with the same problems with you .Have you solved it?

@bonabai
Copy link
Author

bonabai commented Jan 10, 2024

@bonabai I faced with the same problems with you .Have you solved it?

Try rclcpp::Duration::from_seconds(0); and let me know if you still run into errors.

@cvirxsc
Copy link

cvirxsc commented Jan 25, 2024

您能否与 ros humble 分享运行它所需的修改?

谢谢

can you manage to run with ros2 humble?or how can i convert this package to humble version?
Thanks!

@bonabai
Copy link
Author

bonabai commented Jan 25, 2024

@cvirxsc Try this one: https://github.com/bonabai/VINS-Fusion-ROS2.git, and checkout no_cuda branch.
Let me know if you run into any error message.

@cvirxsc
Copy link

cvirxsc commented Jan 26, 2024

@cvirxsc Try this one: https://github.com/bonabai/VINS-Fusion-ROS2.git, and checkout no_cuda branch. Let me know if you run into any error message.

Thanks! I will try to run within one day ,and then turn to you for help.

@cvirxsc
Copy link

cvirxsc commented Jan 26, 2024

@bonabai
I build it with lots of warnings,but it's finished.And then I run three commands,with last one I meet the error.
微信图片_20240126233826
could you please tell me how can i solve it?
Thanks!

@cvirxsc
Copy link

cvirxsc commented Jan 26, 2024

@bonabai And the warning during the build process as follows:
bb1a3f906926649ffe9b165dec6a6a6

@tulingcheng86
Copy link

@bonabai并且构建过程中的警告如下: bb1a3f906926649ffe9b165dec6a6a6

HELLO!Have you successfully run through vinsfusion-humble?

@cvirxsc
Copy link

cvirxsc commented Jan 30, 2024

@tulingcheng86 I can't see your picture

@tulingcheng86
Copy link

我看不到你的照片

That's the picture of the error you ran above, and I got the same error as you, but I was able to run it. Tested it with the euroc dataset and it ran successfully

@cvirxsc
Copy link

cvirxsc commented Jan 30, 2024

@tulingcheng86 加我qq 2370284467

@tulingcheng86
Copy link

@tulingcheng86 加我qq 2370284467

ok

@2805651606
Copy link

2024-06-04_09-35
你好,我也遇到了同样的错误,请问你解决了?想问一下你是如何解决的呢?

@tulingcheng86
Copy link

2024-06-04_09-35 你好,我也遇到了同样的错误,请问你解决了?想问一下你是如何解决的呢?

你是22.04吗,如果是的话可以参考这个作者的
https://github.com/bonabai/VINS-Fusion-ROS2

@tulingcheng86
Copy link

2024-06-04_09-35 你好,我也遇到了同样的错误,请问你解决了?想问一下你是如何解决的呢?

参考这个issue
#8

@cvirxsc Try this one: https://github.com/bonabai/VINS-Fusion-ROS2.git, and checkout no_cuda branch.”

@2805651606
Copy link

2024-06-04_09-35你好,我也遇到了同样的错误,请问你解决了吗?想问一下你是如何解决的呢?

你是22.04吗,如果是的话可以参考这个作者的 https://github.com/bonabai/VINS-Fusion-ROS2

1
2
我是
3
ubuntu22,并且ros的版本是humble.也重新这样做了。但是还是会出现这个问题。 我是这个命令执行的有问题?是不是得用个数据集来测试呢?

@tulingcheng86
Copy link

2024-06-04_09-35你好,我也遇到了同样的错误,请问你解决了吗?想问一下你是如何解决的呢?

你是22.04吗,如果是的话可以参考这个作者的 https://github.com/bonabai/VINS-Fusion-ROS2

1 2 我是 3 ubuntu22,并且ros的版本是humble.也重新这样做了。但是还是会出现这个问题。 我是这个命令执行的有问题?是不是得用个数据集来测试呢?

切换分支后重新编译成功了吗

@2805651606
Copy link

2024-06-04_09-35你好,我也遇到了同样的错误,请问你解决了吗?想问一下你是如何解决的呢?

你是22.04吗,如果是的话可以参考这个作者的 https://github.com/bonabai/VINS-Fusion-ROS2

1 2 我是 3 ubuntu22,并且ros的版本是humble.也重新这样做了。但是还是会出现这个问题。 我是这个命令执行的有问题?是不是得用个数据集来测试呢?

切换分支后重新编译成功了吗

第一张图就是编译后的结果。这个应该算是成功了吧

@tulingcheng86
Copy link

2024-06-04_09-35你好,我也遇到了同样的错误,请问你解决了吗?想问一下你是如何解决的呢?

你是22.04吗,如果是的话可以参考这个作者的 https://github.com/bonabai/VINS-Fusion-ROS2

1 2 我是 3 ubuntu22,并且ros的版本是humble.也重新这样做了。但是还是会出现这个问题。 我是这个命令执行的有问题?是不是得用个数据集来测试呢?

切换分支后重新编译成功了吗

第一张图就是编译后的结果。这个应该算是成功了吧

看你的运行,应该是运行出错了把。。报错说config文件不存在 检查下路径

@2805651606
Copy link

2024-06-04_09-35你好,我也遇到了同样的错误,请问你解决了吗?想问一下你是如何解决的呢?

你是22.04吗,如果是的话可以参考这个作者的 https://github.com/bonabai/VINS-Fusion-ROS2

1 2 我是 3 ubuntu22,并且ros的版本是humble.也重新这样做了。但是还是会出现这个问题。 我是这个命令执行的有问题?是不是得用个数据集来测试呢?

切换分支后重新编译成功了吗

第一张图就是编译后的结果。这个应该算是成功了吧

看你的运行,应该是运行出错了把。。报错说config文件不存在 检查下路径

4
文件存在,现在有点懵

@tulingcheng86
Copy link

2024-06-04_09-35你好,我也遇到了同样的错误,请问你解决了吗?想问一下你是如何解决的呢?

你是22.04吗,如果是的话可以参考这个作者的 https://github.com/bonabai/VINS-Fusion-ROS2

1 2 我是 3 ubuntu22,并且ros的版本是humble.也重新这样做了。但是还是会出现这个问题。 我是这个命令执行的有问题?是不是得用个数据集来测试呢?

切换分支后重新编译成功了吗

第一张图就是编译后的结果。这个应该算是成功了吧

看你的运行,应该是运行出错了把。。报错说config文件不存在 检查下路径

4 文件存在,现在有点懵

。。。用错文件了。。。你这导入的仅仅是相机的内参
用下面这三个配置文件
image

@luohongk
Copy link

luohongk commented Jun 4, 2024 via email

@tulingcheng86
Copy link

兄弟,我放弃了,我改用ubuntu18.04➕ros1了 发自我的iPhone

------------------ Original ------------------ From: tulingcheng86 @.> Date: Tue,Jun 4,2024 11:22 AM To: zinuok/VINS-Fusion-ROS2 @.> Cc: 罗宏昆 @.>, Comment @.> Subject: Re: [zinuok/VINS-Fusion-ROS2] ROS2 humble (Issue #8) 你好,我也遇到了同样的错误,请问你解决了吗?想问一下你是如何解决的呢? 你是22.04吗,如果是的话可以参考这个作者的 https://github.com/bonabai/VINS-Fusion-ROS2 我是 ubuntu22,并且ros的版本是humble.也重新这样做了。但是还是会出现这个问题。 我是这个命令执行的有问题?是不是得用个数据集来测试呢? 切换分支后重新编译成功了吗 第一张图就是编译后的结果。这个应该算是成功了吧 看你的运行,应该是运行出错了把。。报错说config文件不存在 检查下路径 文件存在,现在有点懵 。。。用错文件了。。。你这导入的仅仅是相机的内参 用下面这三个配置文件 image.png (view on web) — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

😂前面不是都编译成功了嘛,就差启动了,你只是启动文件错了吧

@2805651606
Copy link

2024-06-04_09-35你好,我也遇到了同样的错误,请问你解决了吗?想问一下你是如何解决的呢?

你是22.04吗,如果是的话可以参考这个作者的 https://github.com/bonabai/VINS-Fusion-ROS2

1 2 我是 3 ubuntu22,并且ros的版本是humble.也重新这样做了。但是还是会出现这个问题。 我是这个命令执行的有问题?是不是得用个数据集来测试呢?

切换分支后重新编译成功了吗

第一张图就是编译后的结果。这个应该算是成功了吧

看你的运行,应该是运行出错了把。。报错说config文件不存在 检查下路径

4 文件存在,现在有点懵

。。。用错文件了。。。你这导入的仅仅是相机的内参 用下面这三个配置文件 image

大佬还是有问题,是我的命令行有问题?方便加个qq联系一下?我的qq是2805651606.
Uploading 5.png…

@2805651606
Copy link

wang@wang-B760M-D2H-DDR4:~/ros2_ws_project_b$ ros2 run vins vins_node --ros-args --params-file /home/wang/ros2_ws_project_b/src/VINS-Fusion-ROS2/config/euroc/euroc_mono_imu_config.yaml
[INFO] [1717551147.541310378] []: init begins
[ERROR] [1717551147.546170233] [rcl]: Failed to parse global arguments
terminate called after throwing an instance of 'rclcpp::exceptions::RCLInvalidROSArgsError'
what(): failed to initialize rcl: Couldn't parse params file: '--params-file /home/wang/ros2_ws_project_b/src/VINS-Fusion-ROS2/config/euroc/euroc_mono_imu_config.yaml'. Error: Error parsing a event near line 1, at ./src/parse.c:769, at ./src/rcl/arguments.c:406
[ros2run]: Aborted
6
7
8
最后一张图报的错,我问了一手chatgpt,他告诉我是这个代码里面的内容还是基于ros1运行的,ros2识别不了

@tulingcheng86
Copy link

tulingcheng86 commented Jun 5, 2024 via email

@ShreyasKuntnal
Copy link

@bonabai I tried both the repositries urs and the one which we are discussing, I am facing this particular error:

/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1177:27: error: ‘pcmp_le’ was not declared in this scope
 1177 |     return pselect(pcmp_le(y, pset1<T>(2.0)), y_le_two, y_gt_two);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_j1<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1672:30:   required from ‘static T Eigen::internal::bessel_j1_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1946:53:   required from ‘typename Eigen::internal::bessel_j1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_j1(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_j1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:36:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1575:16: error: ‘pcmp_lt’ was not declared in this scope
 1575 |         pcmp_lt(x, pset1<T>(0.0f)), pnegate(y_gt_two), y_gt_two);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1576:27: error: ‘pcmp_le’ was not declared in this scope
 1576 |     return pselect(pcmp_le(y, pset1<T>(2.0f)), y_le_two, y_gt_two);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h: In member function ‘void Eigen::TensorEvaluator<Eigen::TensorReverseOp<ReverseDimensions, XprType>, Device>::writePacket(Eigen::TensorEvaluator<Eigen::TensorReverseOp<ReverseDimensions, XprType>, Device>::Index, const PacketReturnType&)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h:455:5: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  455 |     EIGEN_UNROLL_LOOP
      |     ^~~~~~~~~~~~~~~~~
      |     EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_y0<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1481:30:   required from ‘static T Eigen::internal::bessel_y0_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1940:53:   required from ‘typename Eigen::internal::bessel_y0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_y0(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_y0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:40:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1373:31: error: ‘pcmp_le’ was not declared in this scope
 1373 |     x_le_two = pselect(pcmp_le(x, pset1<T>(0.0)), NEG_MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1380:27: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
 1380 |     return pselect(pcmp_le(x, pset1<T>(2.0)), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h:456:21: error: ‘i’ was not declared in this scope
  456 |     for (int i = 0; i < PacketSize; ++i) {
      |                     ^
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_y1<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1875:30:   required from ‘static T Eigen::internal::bessel_y1_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1952:53:   required from ‘typename Eigen::internal::bessel_y1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_y1(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_y1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:44:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1766:31: error: ‘pcmp_lt’ was not declared in this scope
 1766 |     x_le_two = pselect(pcmp_lt(x, pset1<T>(0.0f)), NEG_MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1774:27: error: ‘pcmp_le’ was not declared in this scope
 1774 |     return pselect(pcmp_le(x, pset1<T>(2.0)), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:106,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h: In static member function ‘static Eigen::TensorEvaluator<const Eigen::TensorShufflingOp<Shuffle, XprType>, Device>::PacketReturnType Eigen::TensorEvaluator<const Eigen::TensorShufflingOp<Shuffle, XprType>, Device>::PacketLoader<LoadMode, Self, ImplPacketAccess>::Run(const Self&, Eigen::TensorEvaluator<const Eigen::TensorShufflingOp<Shuffle, XprType>, Device>::Index)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:198:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  198 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_k0<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:761:30:   required from ‘static T Eigen::internal::bessel_k0_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1910:53:   required from ‘typename Eigen::internal::bessel_k0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_k0(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_k0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:47:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:668:31: error: ‘pcmp_le’ was not declared in this scope
  668 |     x_le_two = pselect(pcmp_le(x, pset1<T>(0.0)), MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:675:27: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  675 |     return pselect(pcmp_le(x, two), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:199:23: error: ‘i’ was not declared in this scope
  199 |       for (int i = 0; i < PacketSize; ++i) {
      |                       ^
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_k0e<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:589:31:   required from ‘static T Eigen::internal::bessel_k0e_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1916:54:   required from ‘typename Eigen::internal::bessel_k0e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_k0e(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_k0e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:51:47:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:502:16: error: ‘pcmp_le’ was not declared in this scope
  502 |         pcmp_le(x, pset1<T>(0.0)),
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:504:24: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  504 |         pselect(pcmp_le(x, two), x_le_two, x_gt_two));
      |                 ~~~~~~~^~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_k1<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1083:30:   required from ‘static T Eigen::internal::bessel_k1_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1922:53:   required from ‘typename Eigen::internal::bessel_k1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_k1(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_k1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:55:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:992:31: error: ‘pcmp_le’ was not declared in this scope
  992 |     x_le_two = pselect(pcmp_le(x, pset1<T>(0.0)), MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:999:27: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  999 |     return pselect(pcmp_le(x, two), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_k1e<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:917:31:   required from ‘static T Eigen::internal::bessel_k1e_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1928:54:   required from ‘typename Eigen::internal::bessel_k1e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_k1e(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_k1e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:59:47:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:833:31: error: ‘pcmp_le’ was not declared in this scope
  833 |     x_le_two = pselect(pcmp_le(x, pset1<T>(0.0)), MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:838:27: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  838 |     return pselect(pcmp_le(x, two), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h: In static member function ‘static Eigen::TensorEvaluator<const Eigen::TensorShufflingOp<Shuffle, XprType>, Device>::PacketReturnType Eigen::TensorEvaluator<const Eigen::TensorShufflingOp<Shuffle, XprType>, Device>::PacketLoader<LoadMode, Self, true>::Run(const Self&, Eigen::TensorEvaluator<const Eigen::TensorShufflingOp<Shuffle, XprType>, Device>::Index)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:215:9: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  215 |         EIGEN_UNROLL_LOOP
      |         ^~~~~~~~~~~~~~~~~
      |         EIGEN_UNROLLING_LIMIT
In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:18,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In instantiation of ‘T Eigen::internal::generic_ndtri(const T&) [with T = float; ScalarType = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:667:41:   required from ‘static Scalar Eigen::internal::ndtri_impl<Scalar>::run(Scalar) [with Scalar = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2009:49:   required from ‘typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::ndtri(const Scalar&) [with Scalar = float; typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:34:42:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:631:28: error: ‘pcmp_le’ was not declared in this scope
  631 |   should_flipsign = pcmp_le(a, psub(one, exp_neg_two));
      |                     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:632:14: error: cannot convert ‘const float’ to ‘fd_set*’
  632 |   b = pselect(should_flipsign, a, psub(one, a));
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              |
      |              const float
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:179,
                 from /usr/include/stdlib.h:395,
                 from /usr/include/c++/11/cstdlib:75,
                 from /usr/include/c++/11/stdlib.h:36,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/mm_malloc.h:27,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/xmmintrin.h:34,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h:31,
                 from /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h:220,
                 from /usr/include/opencv4/opencv2/core/cvdef.h:369,
                 from /usr/include/opencv4/opencv2/core.hpp:52,
                 from /usr/include/opencv4/opencv2/core/core.hpp:48,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/include/camodocal/camera_models/ScaramuzzaCamera.h:4,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:1:
/usr/include/x86_64-linux-gnu/sys/select.h:127:52: note:   initializing argument 2 of ‘int pselect(int, fd_set*, fd_set*, fd_set*, const timespec*, const __sigset_t*)’
  127 | extern int pselect (int __nfds, fd_set *__restrict __readfds,
      |                                 ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:216:25: error: ‘i’ was not declared in this scope
  216 |         for (int i = 0; i < PacketSize; ++i) {
      |                         ^
In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:18,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:635:14: error: ‘pcmp_lt’ was not declared in this scope
  635 |       pcmp_lt(exp_neg_two, b),
      |       ~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:640:14: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  640 |       pcmp_le(a, zero), neg_maxnum,
      |       ~~~~~~~^~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:641:22: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  641 |       pselect(pcmp_le(one, a), maxnum, ndtri));
      |               ~~~~~~~^~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h: In member function ‘void Eigen::TensorEvaluator<Eigen::TensorShufflingOp<Shuffle, XprType>, Device>::writePacket(Eigen::TensorEvaluator<Eigen::TensorShufflingOp<Shuffle, XprType>, Device>::Index, const PacketReturnType&)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:404:5: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  404 |     EIGEN_UNROLL_LOOP
      |     ^~~~~~~~~~~~~~~~~
      |     EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h:405:21: error: ‘i’ was not declared in this scope
  405 |     for (int i = 0; i < PacketSize; ++i) {
      |                     ^
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:107,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h: In member function ‘Eigen::TensorEvaluator<const Eigen::TensorStridingOp<Strides, XprType>, Device>::PacketReturnType Eigen::TensorEvaluator<const Eigen::TensorStridingOp<Strides, XprType>, Device>::packet(Eigen::TensorEvaluator<const Eigen::TensorStridingOp<Strides, XprType>, Device>::Index) const’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:167:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  167 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:168:33: error: ‘i’ was not declared in this scope
  168 |       for (int i = NumDims - 1; i > 0; --i) {
      |                                 ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:179:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  179 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:180:23: error: ‘i’ was not declared in this scope
  180 |       for (int i = 0; i < NumDims - 1; ++i) {
      |                       ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:199:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  199 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:200:23: error: ‘i’ was not declared in this scope
  200 |       for (int i = 1; i < PacketSize-1; ++i) {
      |                       ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h: In member function ‘Eigen::TensorEvaluator<const Eigen::TensorStridingOp<Strides, XprType>, Device>::Index Eigen::TensorEvaluator<const Eigen::TensorStridingOp<Strides, XprType>, Device>::srcCoeff(Eigen::TensorEvaluator<const Eigen::TensorStridingOp<Strides, XprType>, Device>::Index) const’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:235:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  235 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:236:33: error: ‘i’ was not declared in this scope
  236 |       for (int i = NumDims - 1; i > 0; --i) {
      |                                 ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:243:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  243 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:244:23: error: ‘i’ was not declared in this scope
  244 |       for (int i = 0; i < NumDims - 1; ++i) {
      |                       ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h: In member function ‘void Eigen::TensorEvaluator<Eigen::TensorStridingOp<Strides, XprType>, Device>::writePacket(Eigen::TensorEvaluator<Eigen::TensorStridingOp<Strides, XprType>, Device>::Index, const PacketReturnType&)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:303:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  303 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:304:33: error: ‘i’ was not declared in this scope
  304 |       for (int i = NumDims - 1; i > 0; --i) {
      |                                 ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:315:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  315 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:316:23: error: ‘i’ was not declared in this scope
  316 |       for (int i = 0; i < NumDims - 1; ++i) {
      |                       ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:335:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  335 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h:336:23: error: ‘i’ was not declared in this scope
  336 |       for (int i = 1; i < PacketSize-1; ++i) {
      |                       ^
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:111,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h: In constructor ‘Eigen::TensorEvaluator<const Eigen::TensorGeneratorOp<Generator, XprType>, Device>::TensorEvaluator(const XprType&, const Device&)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h:122:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  122 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h:123:23: error: ‘i’ was not declared in this scope
  123 |       for (int i = 1; i < NumDims; ++i) {
      |                       ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h:129:7: error: ‘EIGEN_UNROLL_LOOP’ was not declared in this scope; did you mean ‘EIGEN_UNROLLING_LIMIT’?
  129 |       EIGEN_UNROLL_LOOP
      |       ^~~~~~~~~~~~~~~~~
      |       EIGEN_UNROLLING_LIMIT
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h:130:33: error: ‘i’ was not declared in this scope
  130 |       for (int i = NumDims - 2; i >= 0; --i) {
      |                                 ^
In file included from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:127,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h: In member function ‘const Scalar& Eigen::Tensor<Scalar_, NumIndices_, Options_, IndexType>::coeff(CustomIndices&) const’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:137:32: error: ‘customIndices2Array’ is not a member of ‘Eigen::internal’
  137 |         return coeff(internal::customIndices2Array<Index,NumIndices>(indices));
      |                                ^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:137:57: error: expected primary-expression before ‘,’ token
  137 |         return coeff(internal::customIndices2Array<Index,NumIndices>(indices));
      |                                                         ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h: In member function ‘Eigen::Tensor<Scalar_, NumIndices_, Options_, IndexType>::Scalar& Eigen::Tensor<Scalar_, NumIndices_, Options_, IndexType>::coeffRef(CustomIndices&)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:177:35: error: ‘customIndices2Array’ is not a member of ‘Eigen::internal’
  177 |         return coeffRef(internal::customIndices2Array<Index,NumIndices>(indices));
      |                                   ^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:177:60: error: expected primary-expression before ‘,’ token
  177 |         return coeffRef(internal::customIndices2Array<Index,NumIndices>(indices));
      |                                                            ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h: In member function ‘const Scalar& Eigen::Tensor<Scalar_, NumIndices_, Options_, IndexType>::operator()(CustomIndices&) const’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:231:32: error: ‘customIndices2Array’ is not a member of ‘Eigen::internal’
  231 |         return coeff(internal::customIndices2Array<Index,NumIndices>(indices));
      |                                ^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:231:57: error: expected primary-expression before ‘,’ token
  231 |         return coeff(internal::customIndices2Array<Index,NumIndices>(indices));
      |                                                         ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h: In member function ‘Eigen::Tensor<Scalar_, NumIndices_, Options_, IndexType>::Scalar& Eigen::Tensor<Scalar_, NumIndices_, Options_, IndexType>::operator()(CustomIndices&)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:304:33: error: ‘customIndices2Array’ is not a member of ‘Eigen::internal’
  304 |       return coeffRef(internal::customIndices2Array<Index,NumIndices>(indices));
      |                                 ^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:304:58: error: expected primary-expression before ‘,’ token
  304 |       return coeffRef(internal::customIndices2Array<Index,NumIndices>(indices));
      |                                                          ^
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h: In member function ‘void Eigen::Tensor<Scalar_, NumIndices_, Options_, IndexType>::resize(CustomDimension&)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:499:24: error: ‘customIndices2Array’ is not a member of ‘Eigen::internal’
  499 |       resize(internal::customIndices2Array<Index,NumIndices>(dimensions));
      |                        ^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h:499:49: error: expected primary-expression before ‘,’ token
  499 |       resize(internal::customIndices2Array<Index,NumIndices>(dimensions));
      |                                                 ^
In file included from /usr/include/c++/11/cassert:44,
                 from /usr/local/include/eigen3/Eigen/Core:280,
                 from /usr/local/include/eigen3/Eigen/Dense:1,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/include/camodocal/camera_models/Camera.h:5,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/include/camodocal/camera_models/ScaramuzzaCamera.h:8,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:1:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h: In member function ‘Eigen::TensorMap<PlainObjectType, Options_, MakePointer_>::StorageRefType Eigen::TensorMap<PlainObjectType, Options_, MakePointer_>::operator()(Eigen::TensorMap<PlainObjectType, Options_, MakePointer_>::Index, Eigen::TensorMap<PlainObjectType, Options_, MakePointer_>::Index, IndexTypes ...) const’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h:173:7: error: ‘all’ is not a member of ‘Eigen::internal’
  173 |       eigen_assert(internal::all((Eigen::NumTraits<Index>::highest() >= otherIndices)...));
      |       ^~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h: In member function ‘Eigen::TensorMap<PlainObjectType, Options_, MakePointer_>::StorageRefType Eigen::TensorMap<PlainObjectType, Options_, MakePointer_>::operator()(Eigen::TensorMap<PlainObjectType, Options_, MakePointer_>::Index, Eigen::TensorMap<PlainObjectType, Options_, MakePointer_>::Index, IndexTypes ...)’:
/usr/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h:261:8: error: ‘all’ is not a member of ‘Eigen::internal’
  261 |        eigen_assert(internal::all((Eigen::NumTraits<Index>::highest() >= otherIndices)...));
      |        ^~~~~~~~~~~~
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc: In constructor ‘camodocal::OCAMCamera::OCAMCamera(const camodocal::OCAMCamera::Parameters&)’:
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:198:4: warning: implicitly-declared ‘camodocal::OCAMCamera::Parameters::Parameters(const camodocal::OCAMCamera::Parameters&)’ is deprecated [-Wdeprecated-copy]
  198 |  : mParameters(params)
      |    ^~~~~~~~~~~~~~~~~~~
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:141:1: note: because ‘camodocal::OCAMCamera::Parameters’ has user-provided ‘camodocal::OCAMCamera::Parameters& camodocal::OCAMCamera::Parameters::operator=(const camodocal::OCAMCamera::Parameters&)’
  141 | OCAMCamera::Parameters::operator=(const OCAMCamera::Parameters& other)
      | ^~~~~~~~~~
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc: In member function ‘virtual void camodocal::OCAMCamera::estimateIntrinsics(const Size&, const std::vector<std::vector<cv::Point3_<float> > >&, const std::vector<std::vector<cv::Point_<float> > >&)’:
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:517:39: warning: implicitly-declared ‘camodocal::OCAMCamera::Parameters::Parameters(const camodocal::OCAMCamera::Parameters&)’ is deprecated [-Wdeprecated-copy]
  517 |     Parameters params = getParameters();
      |                                       ^
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:141:1: note: because ‘camodocal::OCAMCamera::Parameters’ has user-provided ‘camodocal::OCAMCamera::Parameters& camodocal::OCAMCamera::Parameters::operator=(const camodocal::OCAMCamera::Parameters&)’
  141 | OCAMCamera::Parameters::operator=(const OCAMCamera::Parameters& other)
      | ^~~~~~~~~~
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc: In member function ‘virtual void camodocal::OCAMCamera::readParameters(const std::vector<double, std::allocator<double> >&)’:
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:788:39: warning: implicitly-declared ‘camodocal::OCAMCamera::Parameters::Parameters(const camodocal::OCAMCamera::Parameters&)’ is deprecated [-Wdeprecated-copy]
  788 |     Parameters params = getParameters();
      |                                       ^
/home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:141:1: note: because ‘camodocal::OCAMCamera::Parameters’ has user-provided ‘camodocal::OCAMCamera::Parameters& camodocal::OCAMCamera::Parameters::operator=(const camodocal::OCAMCamera::Parameters&)’
  141 | OCAMCamera::Parameters::operator=(const OCAMCamera::Parameters& other)
      | ^~~~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:63,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:18,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_i0e<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:208:31:   required from ‘static T Eigen::internal::bessel_i0e_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1892:54:   required from ‘typename Eigen::internal::bessel_i0e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_i0e(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_i0e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:21:47:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:120:27: error: ‘pcmp_le’ was not declared in this scope
  120 |     return pselect(pcmp_le(y, pset1<T>(8.0f)), y_le_eight, y_gt_eight);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_i1e<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:403:31:   required from ‘static T Eigen::internal::bessel_i1e_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1904:54:   required from ‘typename Eigen::internal::bessel_i1e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_i1e(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_i1e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:29:47:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:313:24: error: ‘pcmp_le’ was not declared in this scope
  313 |     y = pselect(pcmp_le(y, pset1<T>(8.0f)), y_le_eight, y_gt_eight);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:314:27: error: ‘pcmp_lt’ was not declared in this scope
  314 |     return pselect(pcmp_lt(x, pset1<T>(0.0f)), pnegate(y), y);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_j0<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1283:30:   required from ‘static T Eigen::internal::bessel_j0_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1934:53:   required from ‘typename Eigen::internal::bessel_j0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_j0(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_j0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:32:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1168:16: error: ‘pcmp_lt’ was not declared in this scope
 1168 |         pcmp_lt(y, pset1<T>(1.0e-3f)),
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1177:27: error: ‘pcmp_le’ was not declared in this scope
 1177 |     return pselect(pcmp_le(y, pset1<T>(2.0)), y_le_two, y_gt_two);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_j1<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1672:30:   required from ‘static T Eigen::internal::bessel_j1_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1946:53:   required from ‘typename Eigen::internal::bessel_j1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_j1(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_j1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:36:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1575:16: error: ‘pcmp_lt’ was not declared in this scope
 1575 |         pcmp_lt(x, pset1<T>(0.0f)), pnegate(y_gt_two), y_gt_two);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1576:27: error: ‘pcmp_le’ was not declared in this scope
 1576 |     return pselect(pcmp_le(y, pset1<T>(2.0f)), y_le_two, y_gt_two);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_y0<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1481:30:   required from ‘static T Eigen::internal::bessel_y0_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1940:53:   required from ‘typename Eigen::internal::bessel_y0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_y0(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_y0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:40:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1373:31: error: ‘pcmp_le’ was not declared in this scope
 1373 |     x_le_two = pselect(pcmp_le(x, pset1<T>(0.0)), NEG_MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1380:27: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
 1380 |     return pselect(pcmp_le(x, pset1<T>(2.0)), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_y1<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1875:30:   required from ‘static T Eigen::internal::bessel_y1_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1952:53:   required from ‘typename Eigen::internal::bessel_y1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_y1(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_y1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:44:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1766:31: error: ‘pcmp_lt’ was not declared in this scope
 1766 |     x_le_two = pselect(pcmp_lt(x, pset1<T>(0.0f)), NEG_MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1774:27: error: ‘pcmp_le’ was not declared in this scope
 1774 |     return pselect(pcmp_le(x, pset1<T>(2.0)), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_k0<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:761:30:   required from ‘static T Eigen::internal::bessel_k0_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1910:53:   required from ‘typename Eigen::internal::bessel_k0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_k0(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_k0_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:47:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:668:31: error: ‘pcmp_le’ was not declared in this scope
  668 |     x_le_two = pselect(pcmp_le(x, pset1<T>(0.0)), MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:675:27: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  675 |     return pselect(pcmp_le(x, two), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_k0e<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:589:31:   required from ‘static T Eigen::internal::bessel_k0e_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1916:54:   required from ‘typename Eigen::internal::bessel_k0e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_k0e(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_k0e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:51:47:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:502:16: error: ‘pcmp_le’ was not declared in this scope
  502 |         pcmp_le(x, pset1<T>(0.0)),
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:504:24: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  504 |         pselect(pcmp_le(x, two), x_le_two, x_gt_two));
      |                 ~~~~~~~^~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_k1<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1083:30:   required from ‘static T Eigen::internal::bessel_k1_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1922:53:   required from ‘typename Eigen::internal::bessel_k1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_k1(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_k1_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:55:46:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:992:31: error: ‘pcmp_le’ was not declared in this scope
  992 |     x_le_two = pselect(pcmp_le(x, pset1<T>(0.0)), MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:999:27: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  999 |     return pselect(pcmp_le(x, two), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h: In instantiation of ‘static T Eigen::internal::generic_k1e<T, float>::run(const T&) [with T = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:917:31:   required from ‘static T Eigen::internal::bessel_k1e_impl<T>::run(T) [with T = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:1928:54:   required from ‘typename Eigen::internal::bessel_k1e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::bessel_k1e(const Scalar&) [with Scalar = float; typename Eigen::internal::bessel_k1e_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h:59:47:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:833:31: error: ‘pcmp_le’ was not declared in this scope
  833 |     x_le_two = pselect(pcmp_le(x, pset1<T>(0.0)), MAXNUM, x_le_two);
      |                        ~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h:838:27: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  838 |     return pselect(pcmp_le(x, two), x_le_two, x_gt_two);
      |                    ~~~~~~~^~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:18,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h: In instantiation of ‘T Eigen::internal::generic_ndtri(const T&) [with T = float; ScalarType = float]’:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:667:41:   required from ‘static Scalar Eigen::internal::ndtri_impl<Scalar>::run(Scalar) [with Scalar = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:2009:49:   required from ‘typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type Eigen::numext::ndtri(const Scalar&) [with Scalar = float; typename Eigen::internal::ndtri_retval<typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type>::type = float; typename Eigen::internal::global_math_functions_filtering_base<Scalar>::type = float]’
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h:34:42:   required from here
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:631:28: error: ‘pcmp_le’ was not declared in this scope
  631 |   should_flipsign = pcmp_le(a, psub(one, exp_neg_two));
      |                     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:632:14: error: cannot convert ‘const float’ to ‘fd_set*’
  632 |   b = pselect(should_flipsign, a, psub(one, a));
      |       ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |              |
      |              const float
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:179,
                 from /usr/include/stdlib.h:395,
                 from /usr/include/c++/11/cstdlib:75,
                 from /usr/include/c++/11/stdlib.h:36,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/mm_malloc.h:27,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/xmmintrin.h:34,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/emmintrin.h:31,
                 from /usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h:220,
                 from /usr/include/opencv4/opencv2/core/cvdef.h:369,
                 from /usr/include/opencv4/opencv2/core.hpp:52,
                 from /usr/include/opencv4/opencv2/core/core.hpp:48,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/include/camodocal/camera_models/ScaramuzzaCamera.h:4,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:1:
/usr/include/x86_64-linux-gnu/sys/select.h:127:52: note:   initializing argument 2 of ‘int pselect(int, fd_set*, fd_set*, fd_set*, const timespec*, const __sigset_t*)’
  127 | extern int pselect (int __nfds, fd_set *__restrict __readfds,
      |                                 ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from /usr/include/eigen3/unsupported/Eigen/SpecialFunctions:69,
                 from /usr/include/eigen3/unsupported/Eigen/CXX11/Tensor:18,
                 from /usr/include/opencv4/opencv2/core/eigen.hpp:65,
                 from /home/vt008/vins_fusion_humble_ws/src/VINS-Fusion-ROS2/camera_models/src/camera_models/ScaramuzzaCamera.cc:10:
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:635:14: error: ‘pcmp_lt’ was not declared in this scope
  635 |       pcmp_lt(exp_neg_two, b),
      |       ~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:640:14: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  640 |       pcmp_le(a, zero), neg_maxnum,
      |       ~~~~~~~^~~~~~~~~
/usr/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h:641:22: error: ‘pcmp_le’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
  641 |       pselect(pcmp_le(one, a), maxnum, ndtri));
      |               ~~~~~~~^~~~~~~~
gmake[2]: *** [CMakeFiles/camera_models.dir/build.make:188: CMakeFiles/camera_models.dir/src/camera_models/EquidistantCamera.cc.o] Error 1
gmake[2]: *** [CMakeFiles/camera_models.dir/build.make:202: CMakeFiles/camera_models.dir/src/camera_models/ScaramuzzaCamera.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:165: CMakeFiles/camera_models.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake[2]: *** [CMakeFiles/Calibrations.dir/build.make:202: CMakeFiles/Calibrations.dir/src/camera_models/EquidistantCamera.cc.o] Error 1
gmake[2]: *** [CMakeFiles/Calibrations.dir/build.make:216: CMakeFiles/Calibrations.dir/src/camera_models/ScaramuzzaCamera.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/Calibrations.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< camera_models [15.6s, exited with code 2]
                                 
Summary: 1 package finished [15.8s]
  1 package failed: camera_models
  1 package had stderr output: camera_models
  2 packages not processed

What might be the issue here?

@jetliao0909
Copy link

jetliao0909 commented Nov 18, 2024

wang@wang-B760M-D2H-DDR4:~/ros2_ws_project_b$ ros2 run vins vins_node --ros-args --params-file /home/wang/ros2_ws_project_b/src/VINS-Fusion-ROS2/config/euroc/euroc_mono_imu_config.yaml [INFO] [1717551147.541310378] []: init begins [ERROR] [1717551147.546170233] [rcl]: Failed to parse global arguments terminate called after throwing an instance of 'rclcpp::exceptions::RCLInvalidROSArgsError' what(): failed to initialize rcl: Couldn't parse params file: '--params-file /home/wang/ros2_ws_project_b/src/VINS-Fusion-ROS2/config/euroc/euroc_mono_imu_config.yaml'. Error: Error parsing a event near line 1, at ./src/parse.c:769, at ./src/rcl/arguments.c:406 [ros2run]: Aborted 6 7 8 最后一张图报的错,我问了一手chatgpt,他告诉我是这个代码里面的内容还是基于ros1运行的,ros2识别不了

just
$ros2 run vins vins_node src/VINS-Fusion-ROS2/config/euroc/euroc_mono_imu_config.yaml

@Ryanf55
Copy link

Ryanf55 commented Apr 6, 2025

Any tips on compiling with cuda on humble?
I have missing headers such as #include <opencv2/cudaoptflow.hpp>

Dockerfile here: https://github.com/Ryanf55/VINS-Fusion-ROS2/blob/docker-humble/docker/Dockerfile

Or, is there a way at configure time to disable cuda?

@junwoo091400
Copy link

Any tips on compiling with cuda on humble? I have missing headers such as #include <opencv2/cudaoptflow.hpp>

Dockerfile here: https://github.com/Ryanf55/VINS-Fusion-ROS2/blob/docker-humble/docker/Dockerfile

Or, is there a way at configure time to disable cuda?

Yep, you can read the note in README: https://github.com/zinuok/VINS-Fusion-ROS2?tab=readme-ov-file#notices

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants