Most recent libvips builds from source fail with CentOS 7 #4085
Replies: 5 comments 5 replies
-
I had a go at a dockerfile for centos7, based on an old one I had: FROM centos:7
# yum-plugin-ovl helps yum work with the docker overlay filesystem
# not needed for centos8, but 7 requires it
RUN yum update -y \
&& yum -y install yum-plugin-ovl
# general build stuff
RUN yum groupinstall -y "Development Tools" \
&& yum install -y wget tar python3-devel
# packages for libvips ... adjust these
RUN yum install -y \
glib2-devel \
expat-devel \
orc-devel \
fftw-devel \
lcms2-devel \
libexif-devel \
libarchive-devel \
poppler-glib-devel \
libjpeg-devel \
libtiff-devel \
zlib-devel
# get ninja through pip (the distro one is too old)
RUN pip3 install meson ninja
WORKDIR /usr/local/src
ENV PKG_CONFIG_PATH /usr/local/lib/pkgconfig
# use libspng for PNG load and save
ARG SPNG_VERSION=0.7.4
ARG SPNG_URL=https://github.com/randy408/libspng/archive/refs/tags
RUN wget ${SPNG_URL}/v${SPNG_VERSION}.tar.gz
RUN tar xf v${SPNG_VERSION}.tar.gz \
&& cd libspng-${SPNG_VERSION} \
&& meson build \
&& cd build \
&& ninja \
&& ninja install
ARG VIPS_VERSION=8.15.2
ARG VIPS_URL=https://github.com/libvips/libvips/releases/download
RUN wget ${VIPS_URL}/v${VIPS_VERSION}/vips-${VIPS_VERSION}.tar.gz
RUN tar xf vips-${VIPS_VERSION}.tar.xz \
&& cd vips-${VIPS_VERSION} \
&& meson setup build -Dintrospection=disabled \
&& cd build \
&& ninja \
&& ninja install \
&& ninja test But unfortunately centos has mostly shut down now, so I can't test it. Your platform is not really supported by anyone any more, sadly, so you'll probably need to change it. |
Beta Was this translation helpful? Give feedback.
-
Ah I tried in fedora28, which I think is a similar age, and I see:
which I think means your linker is too old and buggy. meson.build has a test for this:
Try removing those lines and see if it fixes it. |
Beta Was this translation helpful? Give feedback.
-
@custompyramidfellow could you retry with 8.15.3? |
Beta Was this translation helpful? Give feedback.
-
I installed meson as root. I removed the one I installed for a specific user and then I logged as root to install meson, after that I was able to complete the installation. |
Beta Was this translation helpful? Give feedback.
-
Hi, I have the same problem before.When I downgrade gcc-9.x to gcc-4.8.5 and rebuild it, it seems work fine for me. I have made a Docker file for build vips more easy, which contains libheif、libaom、libvvenc、libvvdec 、etc, And I think use docker image directly is more convenient I hope this could help you. Any problem,you can discuss with me 😄 |
Beta Was this translation helpful? Give feedback.
-
Hi all,
I'm on CentOS 7 system (7.9.2009 Core) that is restricted to the user directory and therefore can only install libvips by building from source.
That's how I generally approach it:
The $HOME variable equals to the user directory here, e.g. "/home/user".
The strange thing is, v8.13.3 is the last version this actually works with. Although, as v8.13.3 is the last version to support installation via make I prefer to install it using that way and am currently relying on using that method.
When I try to compile the latest libvips v8.15.2 with meson,
meson compile
always fails with:I also already tried building with
meson setup build --prefix $HOME -Ddeprecated=false -Dexamples=false -Dintrospection=disabled
but even though this does pass the building process,meson test -C build
then gives me a lot of failed tests:And the build seems broken, e.g. when I try to run
vips
orvips --version
it just outputs:I also tried the same building chain via meson and Ninja with other recent versions like libvips v8.15.1, v8.15.0, and v8.14.5, to no avail. It all results in the same errors and failed checks mentioned above.
Help would be really appreciated.
Thank you.
Beta Was this translation helpful? Give feedback.
All reactions