From 17d9822c050fb5bb7d50f4c3632c2468841ed027 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 21 Oct 2026 04:17:05 +0000 Subject: automatic import of ros-humble-nebula-hesai-decoders --- nebula-hesai-decoders.spec | 16 ++++++++++++---- 1 file 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 (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 解析 +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 缺失;补 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 -- cgit v1.2.3