Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Compile libvips with libheif on amazon linux #1844

Closed
@estepnv

Description

@estepnv
/bin/sh ../libtool  --tag=CC   --mode=link clang  -g -O2 -lgirepository-1.0 -lgobject-2.0 -lglib-2.0   -o introspect introspect.o -lgirepository-1.0 -lgobject-2.0 -lglib-2.0   -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS    -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include              -I/usr/include/libpng15                    -I/usr/local/include   libvips.la -lz   -L/usr/local/lib -lheif     -lpng15    -ltiff   -ljpeg     -Wl,--export-dynamic -pthread -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0   -lexpat       -llcms2               -lm  
libtool: link: clang -g -O2 -o .libs/introspect introspect.o -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libpng15 -I/usr/local/include -Wl,--export-dynamic -pthread  -lgirepository-1.0 ./.libs/libvips.so -L/usr/local/lib -lz /usr/local/lib/libheif.so -lx265 -lpthread -lpng15 -ltiff -ljpeg -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lexpat -llcms2 -lm -pthread -Wl,-rpath -Wl,/usr/lib64/lib -Wl,-rpath -Wl,/usr/local/lib
./.libs/libvips.so: undefined reference to `vips__heif_suffs'
./.libs/libvips.so: undefined reference to `vips__heif_error'
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [introspect] Error 1
make[2]: Leaving directory `/build/libvips/libvips'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/build/libvips/libvips'
make: *** [install-recursive] Error 1

can pls anybody help me with this?
I'm trying to build libvips 8.10.1 on amazon linux
with libheif 1.9.1

here's my Dockerfile

FROM lambci/lambda:build-ruby2.7

WORKDIR /build

ENV WORKDIR="/build"
ENV INSTALLDIR="/opt"
ENV VIPS_VERSION="8.10.1"

RUN curl -L https://github.com/strukturag/libheif/releases/download/v1.9.1/libheif-1.9.1.tar.gz | tar xz
RUN git clone git://github.com/libvips/libvips.git

RUN yum install -y gtk-doc
RUN yum install -y gobject-introspection \
  gobject-introspection-devel \
  expat-devel \
  libjpeg-turbo-devel \
  libtiff-devel \
  libpng-devel \
  lcms2-devel \
  mercurial

RUN curl http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/nasm-2.13.03-2.el8.x86_64.rpm --output nasm.rpm && yum install -y nasm.rpm

RUN hg clone http://hg.videolan.org/x265
RUN cd ./x265/build/linux && \
  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig cmake -G "Unix Makefiles" ../../source && \
  make -j6 && \
  make install && \
  ldconfig

RUN cd libheif-1.9.1 && \
  ./autogen.sh && \
  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure && \
  make && \
  make install

RUN PKG_CONFIG_PATH=/usr/local/lib/pkgconfig  pkg-config libheif --modversion && exit 1
RUN cd libvips && git checkout "v8.10.1"
RUN cd ./libvips && \
  CC=clang CXX=clang++ \
  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig \
  ./autogen.sh \
  --prefix=/usr/lib64 \
  --with-jpeg-includes=/usr/include \
  --with-jpeg-libraries=/usr/lib64 \
  --with-png-includes=/usr/include \
  --with-png-libraries=/usr/lib64 \
  --with-tiff-includes=/usr/include \
  --with-tiff-libraries=/usr/lib64 \
  --with-lcms2-includes=/usr/include \
  --with-lcms2-libraries=/usr/lib64 \
  --with-heif-includes=/usr/local/include \
  --with-heif-libraries=/usr/local/lib \
  --disable-static && \
  make install && \
  echo /opt/lib > /etc/ld.so.conf.d/libvips.conf && \
  echo /usr/lib64 > /etc/ld.so.conf.d/libvips.conf && \
  ldconfig

# Copy only needed so files to new share/lib.
#

RUN mkdir -p share/lib && \
  cp -a /usr/lib64/lib/libvips.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/libpng*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/libjbig*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/libblkid*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/libuuid*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/liblcms2*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/libmount*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/libgio*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/libjpeg*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/local/lib/libheif*.so* $WORKDIR/share/lib/ && \
  cp -a /usr/lib64/libtiff*.so* $WORKDIR/share/lib/

# Create sym links for ruby-ffi gem's `glib_libname` and `gobject_libname` to work.
RUN cd ./share/lib/ && \
  ln -s /usr/lib64/libglib-2.0.so.0 libglib-2.0.so && \
  ln -s /usr/lib64/libglib-2.0.so.0 glib-2.0.so.0 && \
  ln -s /usr/lib64/libgobject-2.0.so.0 libgobject-2.0.so && \
  ln -s /usr/lib64/libgobject-2.0.so.0 gobject-2.0.so.0 && \
  ln -s /usr/lib64/libgmodule-2.0.so.0 libgmodule-2.0.so.0 && \
  ln -s /usr/lib64/libexpat.so.1 libexpat.so.1


RUN cd ./share && \
  zip --symlinks -r libvips.zip .

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions