Skip to content

Cross compilation fails on cyclonedds #26

Description

@sgvandijk

I use your cross-compilation setup to build ROS 2 for my RPi Zero (on its own without an E-Puck) after seeing ros-tooling/cross_compile#69 (comment). Thanks for this, it is a better solution than the current state of ros_cross_compile!

However, when following the cross-compilation instructions here, the cross-colcon-build command fails when trying to build the cyclonedds package with the following:

--- stderr: cyclonedds                                                                         
Starting >>> cyclonedds
--- stderr: cyclonedds
You have called ADD_LIBRARY for library ddsc without any source files. This typically indicates a problem with your CMakeLists.txt file
/opt/cross-pi-gcc/lib/gcc/arm-linux-gnueabihf/8.3.0/../../../../arm-linux-gnueabihf/bin/ld: warning: libssl.so.1.1, needed by ../../../lib/libddsc.so.0.7.0, not found (try using -rpath or -rpath-link)
/opt/cross-pi-gcc/lib/gcc/arm-linux-gnueabihf/8.3.0/../../../../arm-linux-gnueabihf/bin/ld: warning: libcrypto.so.1.1, needed by ../../../lib/libddsc.so.0.7.0, not found (try using -rpath or -rpath-link)
/opt/cross-pi-gcc/lib/gcc/arm-linux-gnueabihf/8.3.0/../../../../arm-linux-gnueabihf/bin/ld: ../../../lib/libddsc.so.0.7.0: undefined reference to `X509_STORE_CTX_get_current_cert@OPENSSL_1_1_0'
...

followed by a further list of undefined references.

I used sshfs to mount the rootfs, both libssl.so.1.1 and libcrypto.so.1.1 are there under /home/develop/rootfs/lib/arm-linux-gnueabihf, so I'm not sure why they can't be found. Probably the ADD_LIBRARY warning has something to do with it, but I couldn't immediately figure out where that comes from.

As a workaround, for now I have just disabled building this package with:

touch src/eclipse-cyclonedds/COLCON_IGNORE

with which cross-colcon-build finishes successfully.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions