summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nebula-hesai-decoders.spec16
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