[Qemu-devel] [PATCH v1 02/19] tests: run ldconfig after installing extra software

Alex Bennée posted 19 patches 7 years, 1 month ago
[Qemu-devel] [PATCH v1 02/19] tests: run ldconfig after installing extra software
Posted by Alex Bennée 7 years, 1 month ago
From: Daniel P. Berrangé <berrange@redhat.com>

The docker file builds and installs software into /usr/local but does
not run ldconfig. As a result QEMU links to libvirglrenderer.so, but
then crashes in "make check" unable to find the library.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
 tests/docker/dockerfiles/debian-amd64.docker | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker
index 47a30adbdb..954fcf9606 100644
--- a/tests/docker/dockerfiles/debian-amd64.docker
+++ b/tests/docker/dockerfiles/debian-amd64.docker
@@ -36,5 +36,7 @@ RUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap
 RUN cd /usr/src/netmap/LINUX && ./configure --no-drivers --no-apps --kernel-dir=$(ls -d /usr/src/linux-headers-*-amd64) && make install
 ENV QEMU_CONFIGURE_OPTS --enable-netmap
 
+RUN ldconfig
+
 # gcrypt
 ENV QEMU_CONFIGURE_OPTS $QEMU_CONFIGURE_OPTS --enable-gcrypt
-- 
2.17.1


Re: [Qemu-devel] [PATCH v1 02/19] tests: run ldconfig after installing extra software
Posted by Philippe Mathieu-Daudé 7 years, 1 month ago
On 1/10/19 6:44 PM, Alex Bennée wrote:
> From: Daniel P. Berrangé <berrange@redhat.com>
> 
> The docker file builds and installs software into /usr/local but does
> not run ldconfig. As a result QEMU links to libvirglrenderer.so, but
> then crashes in "make check" unable to find the library.

Wow.

> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ---
>  tests/docker/dockerfiles/debian-amd64.docker | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/tests/docker/dockerfiles/debian-amd64.docker b/tests/docker/dockerfiles/debian-amd64.docker
> index 47a30adbdb..954fcf9606 100644
> --- a/tests/docker/dockerfiles/debian-amd64.docker
> +++ b/tests/docker/dockerfiles/debian-amd64.docker
> @@ -36,5 +36,7 @@ RUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap
>  RUN cd /usr/src/netmap/LINUX && ./configure --no-drivers --no-apps --kernel-dir=$(ls -d /usr/src/linux-headers-*-amd64) && make install

Daniel do you mind if we call ldconfig after each 'make install'? So if
one takes this as template the 'fix' is include and he won't run into
the same mistake:

RUN ... && make install && ldconfig

-- >8 --
@@ -25,14 +25,14 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
         libepoxy-dev \
         libgbm-dev
 RUN git clone https://anongit.freedesktop.org/git/virglrenderer.git
/usr/src/virglrenderer
-RUN cd /usr/src/virglrenderer && ./autogen.sh && ./configure --with-glx
--disable-tests && make install
+RUN cd /usr/src/virglrenderer && ./autogen.sh && ./configure --with-glx
--disable-tests && make install && ldconfig

 # netmap
 RUN DEBIAN_FRONTEND=noninteractive eatmydata \
     apt-get install -y --no-install-recommends \
         linux-headers-amd64
 RUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap
-RUN cd /usr/src/netmap/LINUX && ./configure --no-drivers --no-apps
--kernel-dir=$(ls -d /usr/src/linux-headers-*-amd64) && make install
+RUN cd /usr/src/netmap/LINUX && ./configure --no-drivers --no-apps
--kernel-dir=$(ls -d /usr/src/linux-headers-*-amd64) && make install &&
ldconfig
 ENV QEMU_CONFIGURE_OPTS --enable-netmap
---

Regardless if Dan agree to change:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

>  ENV QEMU_CONFIGURE_OPTS --enable-netmap
>  
> +RUN ldconfig
> +
>  # gcrypt
>  ENV QEMU_CONFIGURE_OPTS $QEMU_CONFIGURE_OPTS --enable-gcrypt
>