diff options
| author | CoprDistGit <infra@openeuler.org> | 2026-10-21 04:17:05 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2026-10-21 04:17:05 +0000 |
| commit | 17d9822c050fb5bb7d50f4c3632c2468841ed027 (patch) | |
| tree | a17ab25151d671d854967969e935c9c7a776bf97 | |
| parent | ffc26e8d05b1a2389f95678f272b17da731dc56f (diff) | |
automatic import of ros-humble-nebula-hesai-decoders
| -rw-r--r-- | nebula-hesai-decoders.spec | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/nebula-hesai-decoders.spec b/nebula-hesai-decoders.spec index c39467a..f84c7d8 100644 --- a/nebula-hesai-decoders.spec +++ b/nebula-hesai-decoders.spec @@ -77,10 +77,15 @@ nebula_hesai_decoders colcon 子包;monorepo 其余 colcon 包由各自独立 export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH} export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH} -# png++ header-only vendor(openEuler 无 png++ 包):装头文件到 %{_includedir}/png++, -# 供本包及已安装的 nebula_core_decoders 头文件 #include <png++/...>(downsample_mask.hpp:24) -install -d %{_includedir}/png++ -install -p -m 0644 png++-0.2.10/*.hpp %{_includedir}/png++/ +# png++ header-only vendor(openEuler 无 png++ 包):装头文件到构建专用 include 根 +# _builddir(build 阶段可写,不向 chroot 真实系统路径 /usr/include 写入, +# 规避 mock 只读保护导致的 "install -d /usr/include/png++: No such file or directory" 失败)。 +# 通过 CXXFLAGS -I 注入(cmake3 宏经 CXXFLAGS 环境变量初始化 CMAKE_CXX_FLAGS), +# 供本包源文件及已安装的 nebula_core_decoders 头文件 downsample_mask.hpp:24 的 +# #include <png++/...> 解析 +install -d %{_builddir}/pngpp-include/png++ +install -p -m 0644 png++-0.2.10/*.hpp %{_builddir}/pngpp-include/png++/ +export CXXFLAGS="%{optflags} -I%{_builddir}/pngpp-include" # monorepo 子包构建:进入目标 colcon 包目录(§5 ament_cmake 显式 out-of-source,规避 openEuler cmake 宏的默认位置参数) cd src/nebula_hesai/nebula_hesai_decoders @@ -122,3 +127,6 @@ make install DESTDIR=%{buildroot} - ament_cmake 形态(autoware_cmake 封装),构建至 /opt/ros/humble 前缀 - 修复构建:vendor png++ 0.2.10 header-only 库(openEuler 无 png++ 包), 解决 downsample_mask.hpp #include <png++/error.hpp> 缺失;补 libpng-devel 提供 png.h +- 修复 build 阶段:png++ 头文件改装到构建专用 include 根(_builddir/pngpp-include), + 经 CXXFLAGS -I 注入;原 install -d /usr/include/png++ 在 mock chroot 受只读保护 + 报 No such file or directory,文件安装统一收敛到 install 阶段写 buildroot |
