Skip to content

Cross-compile error: export libraries with absolute paths #534

Description

@kaildy

When cross-compile,error occured like this:

Image

it seems export libraries with absolute paths(using /usr/include, /usr/lib, /opt/ros/jazzy/include, /opt/ros/jazzy/lib)in export_pcl_rosExport.cmake

file is: /opt/sysroot/opt/ros/jazzy/share/pcl_ros/cmake/export_pcl_rosExport.cmake,like this:

Image Image

/opt/sysroot is the dir cross-compile toolchain dir,using this script can fix:

`cd /opt/sysroot/opt/ros/jazzy/share/pcl_ros/cmake
sudo cp export_pcl_rosExport.cmake export_pcl_rosExport.cmake.bk
sudo sed -i "s|/usr/include|/opt/sysroot/usr/include|g" export_pcl_rosExport.cmake
sudo sed -i "s|/usr/lib|/opt/sysroot/usr/lib|g" export_pcl_rosExport.cmake
sudo sed -i "s|/opt/ros/jazzy|/opt/sysroot/opt/ros/jazzy|g" export_pcl_rosExport.cmake

cd /opt/sysroot/opt/ros/jazzy/share/nav2_costmap_2d/cmake
sudo cp export_nav2_costmap_2dExport.cmake export_nav2_costmap_2dExport.cmake.bk
sudo sed -i "s|/usr/include|/opt/sysroot/usr/include|g" export_nav2_costmap_2dExport.cmake
sudo sed -i "s|/usr/lib|/opt/sysroot/usr/lib|g" export_nav2_costmap_2dExport.cmake
sudo sed -i "s|/opt/ros/jazzy|/opt/sysroot/opt/ros/jazzy|g" export_nav2_costmap_2dExport.cmake`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions