From aa9cc2f3d775a4937159694bff95ff46596712ab Mon Sep 17 00:00:00 2001 From: matlabbe Date: Tue, 22 Sep 2026 09:01:55 -0700 Subject: [PATCH] arm64 ldconfig order --- docker/focal-foxy/deps/Dockerfile | 4 ++++ docker/focal/deps/Dockerfile | 4 ++++ docker/jammy-iron/deps/Dockerfile | 4 ++++ docker/jammy/deps/Dockerfile | 4 ++++ docker/noble-kilted/deps/Dockerfile | 4 ++++ docker/noble/deps/Dockerfile | 4 ++++ docker/resolute/deps/Dockerfile | 4 ++++ 7 files changed, 28 insertions(+) diff --git a/docker/focal-foxy/deps/Dockerfile b/docker/focal-foxy/deps/Dockerfile index 54317f05..bc5385e3 100644 --- a/docker/focal-foxy/deps/Dockerfile +++ b/docker/focal-foxy/deps/Dockerfile @@ -165,6 +165,10 @@ RUN git clone --branch 4.2.0 https://github.com/opencv/opencv.git && \ cd ../.. && \ rm -rf opencv opencv_contrib +# ld.so.conf.d is read in filename order: -linux-gnu.conf sorts before +# libc.conf (/usr/local/lib) on arm64, so source builds lose to the distro ones. +RUN echo /usr/local/lib > /etc/ld.so.conf.d/00-usr-local.conf && ldconfig + RUN rm /bin/sh && ln -s /bin/bash /bin/sh COPY ./docker/focal-foxy/deps/ros_entrypoint.sh /ros_entrypoint.sh diff --git a/docker/focal/deps/Dockerfile b/docker/focal/deps/Dockerfile index aa3ee674..35eb7c2c 100644 --- a/docker/focal/deps/Dockerfile +++ b/docker/focal/deps/Dockerfile @@ -190,6 +190,10 @@ RUN git clone https://github.com/laurentkneip/opengv.git && \ cd && \ rm -r opengv +# ld.so.conf.d is read in filename order: -linux-gnu.conf sorts before +# libc.conf (/usr/local/lib) on arm64, so source builds lose to the distro ones. +RUN echo /usr/local/lib > /etc/ld.so.conf.d/00-usr-local.conf && ldconfig + RUN rm /bin/sh && ln -s /bin/bash /bin/sh # for jetson (https://github.com/introlab/rtabmap/issues/776) diff --git a/docker/jammy-iron/deps/Dockerfile b/docker/jammy-iron/deps/Dockerfile index 4258f9f2..686c3f8f 100644 --- a/docker/jammy-iron/deps/Dockerfile +++ b/docker/jammy-iron/deps/Dockerfile @@ -74,6 +74,10 @@ RUN git clone --branch 4.5.4 https://github.com/opencv/opencv.git && \ cd ../.. && \ rm -rf opencv opencv_contrib +# ld.so.conf.d is read in filename order: -linux-gnu.conf sorts before +# libc.conf (/usr/local/lib) on arm64, so source builds lose to the distro ones. +RUN echo /usr/local/lib > /etc/ld.so.conf.d/00-usr-local.conf && ldconfig + RUN rm /bin/sh && ln -s /bin/bash /bin/sh COPY ./docker/jammy-iron/deps/ros_entrypoint.sh /ros_entrypoint.sh diff --git a/docker/jammy/deps/Dockerfile b/docker/jammy/deps/Dockerfile index 04c280db..07ee6093 100644 --- a/docker/jammy/deps/Dockerfile +++ b/docker/jammy/deps/Dockerfile @@ -98,6 +98,10 @@ RUN git clone https://github.com/laurentkneip/opengv.git && \ cd && \ rm -r opengv +# ld.so.conf.d is read in filename order: -linux-gnu.conf sorts before +# libc.conf (/usr/local/lib) on arm64, so source builds lose to the distro ones. +RUN echo /usr/local/lib > /etc/ld.so.conf.d/00-usr-local.conf && ldconfig + RUN rm /bin/sh && ln -s /bin/bash /bin/sh RUN echo -e '#!/bin/bash\nset -e\n\n# setup ros2 environment\nsource "/opt/ros/humble/setup.bash" --\nexec "$@"' > /ros_entrypoint.sh diff --git a/docker/noble-kilted/deps/Dockerfile b/docker/noble-kilted/deps/Dockerfile index 5c83a383..1edee22e 100644 --- a/docker/noble-kilted/deps/Dockerfile +++ b/docker/noble-kilted/deps/Dockerfile @@ -118,6 +118,10 @@ RUN git clone https://github.com/laurentkneip/opengv.git && \ cd && \ rm -r opengv +# ld.so.conf.d is read in filename order: -linux-gnu.conf sorts before +# libc.conf (/usr/local/lib) on arm64, so source builds lose to the distro ones. +RUN echo /usr/local/lib > /etc/ld.so.conf.d/00-usr-local.conf && ldconfig + RUN rm /bin/sh && ln -s /bin/bash /bin/sh RUN echo -e '#!/bin/bash\nset -e\n\n# setup ros2 environment\nsource "/opt/ros/kilted/setup.bash" --\nexec "$@"' > /ros_entrypoint.sh diff --git a/docker/noble/deps/Dockerfile b/docker/noble/deps/Dockerfile index 4129a7ef..d12b01fc 100644 --- a/docker/noble/deps/Dockerfile +++ b/docker/noble/deps/Dockerfile @@ -117,6 +117,10 @@ RUN git clone https://github.com/laurentkneip/opengv.git && \ cd && \ rm -r opengv +# ld.so.conf.d is read in filename order: -linux-gnu.conf sorts before +# libc.conf (/usr/local/lib) on arm64, so source builds lose to the distro ones. +RUN echo /usr/local/lib > /etc/ld.so.conf.d/00-usr-local.conf && ldconfig + RUN rm /bin/sh && ln -s /bin/bash /bin/sh RUN echo -e '#!/bin/bash\nset -e\n\n# setup ros2 environment\nsource "/opt/ros/jazzy/setup.bash" --\nexec "$@"' > /ros_entrypoint.sh diff --git a/docker/resolute/deps/Dockerfile b/docker/resolute/deps/Dockerfile index 3e2986c2..a023ed06 100644 --- a/docker/resolute/deps/Dockerfile +++ b/docker/resolute/deps/Dockerfile @@ -107,6 +107,10 @@ RUN git clone https://github.com/laurentkneip/opengv.git && \ cd && \ rm -r opengv +# ld.so.conf.d is read in filename order: -linux-gnu.conf sorts before +# libc.conf (/usr/local/lib) on arm64, so source builds lose to the distro ones. +RUN echo /usr/local/lib > /etc/ld.so.conf.d/00-usr-local.conf && ldconfig + RUN rm /bin/sh && ln -s /bin/bash /bin/sh RUN echo -e '#!/bin/bash\nset -e\n\n# setup ros2 environment\nsource "/opt/ros/lyrical/setup.bash" --\nexec "$@"' > /ros_entrypoint.sh