Skip to content

Instantly share code, notes, and snippets.

@tsechingho
Last active June 9, 2023 06:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsechingho/98ca375d29c60121c712b3369e9a9fa7 to your computer and use it in GitHub Desktop.
Save tsechingho/98ca375d29c60121c712b3369e9a9fa7 to your computer and use it in GitHub Desktop.
Install vips 8.14.2 in Amazon Linux 2023 from source code

Install vips 8.14.2 into /usr/local in Amazon Linux 2023 from source code

packages ref: https://docs.aws.amazon.com/linux/al2023/release-notes/all-packages.html

sudo yum groupinstall 'Development Tools'
sudo pip3 install meson
# compile dependencies
sudo yum install glib2-devel expat-devel gobject-introspection-devel cmake ninja-build
# image library dependencies
sudo yum install librsvg2-devel libwebp-devel libpng-devel libjpeg-turbo-devel libexif-devel
cd /usr/local/src
sudo wget https://github.com/libvips/libvips/releases/download/v8.14.2/vips-8.14.2.tar.xz
sudo tar xf vips-8.14.2.tar.xz
cd vips-8.14.2
meson setup build --prefix=/usr/local --buildtype=release
cd build
meson compile
meson test
sudo meson install
echo '/usr/local/lib64' | sudo tee -a /etc/ld.so.conf.d/vips.conf
sudo ldconfig
@tsechingho
Copy link
Author

$ meson setup build --prefix=/usr/local --buildtype=release

The Meson build system
Version: 1.1.1
Source dir: /usr/local/src/vips-8.14.2
Build dir: /usr/local/src/vips-8.14.2/build
Build type: native build
Project name: vips
Project version: 8.14.2
C compiler for the host machine: cc (gcc 11.3.1 "cc (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4)")
C linker for the host machine: cc ld.bfd 2.39-6
C++ compiler for the host machine: c++ (gcc 11.3.1 "c++ (GCC) 11.3.1 20221121 (Red Hat 11.3.1-4)")
C++ linker for the host machine: c++ ld.bfd 2.39-6
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Werror=pointer-arith: YES
Found pkg-config: /usr/bin/pkg-config (1.8.0)
Run-time dependency glib-2.0 found: YES 2.73.2
Run-time dependency gio-2.0 found: YES 2.73.2
Run-time dependency gobject-2.0 found: YES 2.73.2
Run-time dependency gmodule-no-export-2.0 found: YES 2.73.2
Run-time dependency expat found: YES 2.5.0
Run-time dependency threads found: YES
Library m found: YES
Compiler for C supports link arguments -Wl,-z,nodelete: YES
Compiler for C supports function attribute visibility:hidden: YES
Checking if "Has vector arithmetic" with dependency -lm compiles: YES
Checking if "Has signed constants in vector templates" with dependency -lm compiles: YES
Checking for function "vsnprintf" with dependency -lm: YES
Checking for function "_aligned_malloc" with dependency -lm: NO
Checking for function "posix_memalign" with dependency -lm: YES
Checking for function "memalign" with dependency -lm: YES
Checking for function "cbrt" with dependency -lm: YES
Checking for function "hypot" with dependency -lm: YES
Checking for function "atan2" with dependency -lm: YES
Checking for function "asinh" with dependency -lm: YES
Checking for function "pthread_setattr_default_np" with dependency threads: YES
Run-time dependency zlib found: YES 1.2.11
Found CMake: /usr/bin/cmake (3.22.2)
Run-time dependency libgsf-1 found: NO (tried pkgconfig and cmake)
Run-time dependency fftw3 found: NO (tried pkgconfig and cmake)
Run-time dependency magickcore found: NO (tried pkgconfig and cmake)
Run-time dependency imagemagick found: NO (tried pkgconfig and cmake)
Run-time dependency cfitsio found: NO (tried pkgconfig and cmake)
Run-time dependency imagequant found: NO (tried pkgconfig and cmake)
Run-time dependency quantizr found: NO (tried pkgconfig and cmake)
Run-time dependency libexif found: YES 0.6.22
Has header "exif-data.h" with dependency libexif: NO
Run-time dependency libjpeg found: YES 2.1.4
Checking for function "jpeg_c_bool_param_supported" with dependency libjpeg: NO
Run-time dependency spng found: NO (tried pkgconfig and cmake)
Run-time dependency libspng found: NO (tried pkgconfig and cmake)
Run-time dependency libpng found: YES 1.6.37
Checking for function "png_set_chunk_malloc_max" with dependency libpng: YES
Run-time dependency libwebp found: YES 1.2.4
Run-time dependency libwebpmux found: YES 1.2.4
Run-time dependency libwebpdemux found: YES 1.2.4
Run-time dependency pangocairo found: NO (tried pkgconfig and cmake)
Run-time dependency pangoft2 found: NO (tried pkgconfig and cmake)
Run-time dependency fontconfig found: YES 2.13.94
Run-time dependency libtiff-4 found: YES 4.4.0
Fetching value of define "COMPRESSION_WEBP" with dependency libtiff-4: 50001
Run-time dependency librsvg-2.0 found: YES 2.50.7
Run-time dependency cairo found: YES 1.17.4
Run-time dependency openslide found: NO (tried pkgconfig and cmake)
Run-time dependency matio found: NO (tried pkgconfig and cmake)
Run-time dependency lcms2 found: NO (tried pkgconfig and cmake)
Run-time dependency openexr found: NO (tried pkgconfig and cmake)
Run-time dependency libopenjp2 found: NO (tried pkgconfig and cmake)
Run-time dependency orc-0.4 found: NO (tried pkgconfig and cmake)
Run-time dependency pdfium found: NO (tried pkgconfig and cmake)
Run-time dependency libheif found: NO (tried pkgconfig and cmake)
Run-time dependency libjxl found: NO (tried pkgconfig and cmake)
Run-time dependency libjxl_threads found: NO (tried pkgconfig and cmake)
Run-time dependency poppler-glib found: NO (tried pkgconfig and cmake)
Run-time dependency niftiio found: NO (tried pkgconfig)
Run-time dependency nifti found: NO (tried cmake)
Has header "sys/file.h" : YES
Has header "sys/param.h" : YES
Has header "sys/mman.h" : YES
Has header "unistd.h" : YES
Has header "io.h" : NO
Has header "direct.h" : NO
Checking for function "ngettext" : YES
Checking for function "bind_textdomain_codeset" : YES
Configuring config.h using configuration
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Configuring version.h using configuration
Found pkg-config: /usr/bin/pkg-config (1.8.0)
Program glib-genmarshal found: YES (/usr/bin/glib-genmarshal)
Run-time dependency gobject-introspection-1.0 found: YES 1.73.0
Dependency gobject-introspection-1.0 found: YES 1.73.0 (cached)
Program g-ir-scanner found: YES (/usr/bin/g-ir-scanner)
Dependency gobject-introspection-1.0 found: YES 1.73.0 (cached)
Program g-ir-compiler found: YES (/usr/bin/g-ir-compiler)
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Program python3 found: YES (/usr/bin/python3)
Configuring variables.sh using configuration
Library FuzzingEngine found: NO
Build targets in project: 51
NOTICE: Future-deprecated features used:
 * 0.64.0: {'copy arg in configure_file'}

vips 8.14.2

  Build options
    enable debug                      : NO
    enable deprecated                 : YES
    enable modules                    : YES
    enable gtk-doc                    : NO
    enable doxygen                    : NO
    enable introspection              : YES
    enable examples                   : YES
    enable cplusplus                  : YES
    enable RAD load/save              : YES
    enable Analyze7 load/save         : YES
    enable PPM load/save              : YES
    enable GIF load                   : YES

  Optional external packages
    use fftw for FFTs                 : NO
    accelerate loops with ORC         : NO
    ICC profile support with lcms     : NO
    zlib                              : YES
    text rendering with pangocairo    : NO
    font file support with fontconfig : NO
    EXIF metadata support with libexif: YES

  External image format libraries
    JPEG load/save with libjpeg       : YES
    JXL load/save with libjxl         : NO (dynamic module: NO)
    JPEG2000 load/save with OpenJPEG  : NO
    PNG load/save with libspng        : NO
    PNG load/save with libpng         : YES
    selected quantisation package     : none
    TIFF load/save with libtiff       : YES
    image pyramid save with libgsf    : NO
    HEIC/AVIF load/save with libheif  : NO (dynamic module: NO)
    WebP load/save with libwebp       : YES
    PDF load with PDFium              : NO
    PDF load with poppler-glib        : NO (dynamic module: NO)
    SVG load with librsvg             : YES
    EXR load with OpenEXR             : NO
    OpenSlide load                    : NO (dynamic module: NO)
    Matlab load with libmatio         : NO
    NIfTI load/save with niftiio      : NO
    FITS load/save with cfitsio       : NO
    GIF save with cgif                : NO
    selected Magick package           : none (dynamic module: NO)
    Magick API version                : none
    Magick load                       : NO
    Magick save                       : NO

  User defined options
    buildtype                         : release
    prefix                            : /usr/local

Found ninja-1.10.2 at /usr/bin/ninja

@tsechingho
Copy link
Author

$ sudo meson install

Dropping privileges to 'ec2-user' before running ninja...
ninja: Entering directory `/usr/local/src/vips-8.14.2/build'
ninja: no work to do.
Installing libvips/include/vips/enumtypes.h to /usr/local/include/vips
Installing libvips/libvips.so.42.16.2 to /usr/local/lib64
Installing libvips/Vips-8.0.gir to /usr/local/share/gir-1.0
Installing libvips/Vips-8.0.typelib to /usr/local/lib64/girepository-1.0
Installing cplusplus/libvips-cpp.so.42.16.2 to /usr/local/lib64
Installing po/de/LC_MESSAGES/vips8.14.mo to /usr/local/share/locale/de/LC_MESSAGES
Installing po/en_GB/LC_MESSAGES/vips8.14.mo to /usr/local/share/locale/en_GB/LC_MESSAGES
Installing tools/vips to /usr/local/bin
Installing tools/vipsedit to /usr/local/bin
Installing tools/vipsthumbnail to /usr/local/bin
Installing tools/vipsheader to /usr/local/bin
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/buf.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/connection.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/dbuf.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/debug.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/format.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/gate.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/generate.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/private.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/sbuf.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/semaphore.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/thread.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/threadpool.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/transform.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/util.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/vector.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/almostdeprecated.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/deprecated.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/dispatch.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/intl.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/mask.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/video.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/vips7compat.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/arithmetic.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/basic.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/colour.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/conversion.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/convolution.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/create.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/draw.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/error.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/foreign.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/freqfilt.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/header.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/histogram.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/image.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/interpolate.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/memory.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/morphology.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/mosaicing.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/object.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/operation.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/rect.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/region.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/resample.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/type.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/libvips/include/vips/vips.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/cplusplus/include/vips/VError8.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/cplusplus/include/vips/VImage8.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/cplusplus/include/vips/VInterpolate8.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/cplusplus/include/vips/VRegion8.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/cplusplus/include/vips/VConnection8.h to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/cplusplus/include/vips/vips8 to /usr/local/include/vips/
Installing /usr/local/src/vips-8.14.2/man/vipsedit.1 to /usr/local/share/man/man1
Installing /usr/local/src/vips-8.14.2/man/vipsheader.1 to /usr/local/share/man/man1
Installing /usr/local/src/vips-8.14.2/man/vips.1 to /usr/local/share/man/man1
Installing /usr/local/src/vips-8.14.2/man/vipsprofile.1 to /usr/local/share/man/man1
Installing /usr/local/src/vips-8.14.2/man/vipsthumbnail.1 to /usr/local/share/man/man1
Installing /usr/local/src/vips-8.14.2/build/libvips/include/vips/version.h to /usr/local/include/vips
Installing /usr/local/src/vips-8.14.2/build/meson-private/vips.pc to /usr/local/lib64/pkgconfig
Installing /usr/local/src/vips-8.14.2/build/meson-private/vips-cpp.pc to /usr/local/lib64/pkgconfig
Installing /usr/local/src/vips-8.14.2/tools/vipsprofile to /usr/local/bin
Installing symlink pointing to libvips.so.42.16.2 to /usr/local/lib64/libvips.so.42
Installing symlink pointing to libvips.so.42 to /usr/local/lib64/libvips.so
Installing symlink pointing to libvips-cpp.so.42.16.2 to /usr/local/lib64/libvips-cpp.so.42
Installing symlink pointing to libvips-cpp.so.42 to /usr/local/lib64/libvips-cpp.so

@tsechingho
Copy link
Author

$ vips -v
vips: error while loading shared libraries: libvips.so.42: cannot open shared object file: No such file or directory
$ echo '/usr/local/lib64' | sudo tee -a /etc/ld.so.conf.d/vips.conf
$ sudo ldconfig
$ vips -v
vips-8.14.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment