Closed
Description
/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 .