diff --git a/docs/install.md b/docs/install.md index bd362125..c57f2f39 100644 --- a/docs/install.md +++ b/docs/install.md @@ -29,22 +29,24 @@ Most recent Linux-based operating systems with glibc running on x64 and ARMv6+ C * Amazon Linux 2015.03, 2015.09 To use your own version of libvips instead of the provided binaries, make sure it is -at least the version listed under `config.libvips` in the `package.json` file that it -can be located using `pkg-config`. If you are using non-stadard paths (anything other -than `/usr` or `/usr/local`), you might need to set `PKG_CONFIG_PATH` during `npm install` -and `LD_LIBRARY_PATH` at runtime. +at least the version listed under `config.libvips` in the `package.json` file, +that it can be located using `pkg-config --modversion vips-cpp` +and that it has been compiled with `_GLIBCXX_USE_CXX11_ABI=0`. -You can print the detected vips version using: `pkg-config --modversion vips-cpp` +If you are using non-stadard paths (anything other than `/usr` or `/usr/local`), +you might need to set `PKG_CONFIG_PATH` during `npm install` +and `LD_LIBRARY_PATH` at runtime. This allows the use of newer versions of libvips with older versions of sharp. -For older Linux-based operating systems and 32-bit Intel CPUs, +For 32-bit Intel CPUs and older Linux-based operating systems such as Centos 6, a system-wide installation of the most suitable version of libvips and its dependencies can be achieved by running the following command as a user with `sudo` access (requires `curl` and `pkg-config`): ```sh +# WARNING: This script is deprecated. You probably don't need to run it. Please read above. curl -s https://raw.githubusercontent.com/lovell/sharp/master/preinstall.sh | sudo bash - ``` diff --git a/preinstall.sh b/preinstall.sh index 747b5b83..e4ccca30 100755 --- a/preinstall.sh +++ b/preinstall.sh @@ -1,24 +1,15 @@ #!/bin/sh -# This script is no longer required on most -# 64-bit Linux systems when using sharp v0.12.0+ +# Use of this script is deprecated -# See http://sharp.dimens.io/page/install#linux - -# If you really need this script, it will attempt to -# globally install libvips if not already available. - -# Supports: -# * Debian Linux -# * Debian 7, 8 -# * Ubuntu 12.04, 14.04, 15.10, 16.04 -# * Mint 13, 17 -# * Elementary 0.3 -# * Red Hat Linux -# * RHEL/Centos/Scientific 6, 7 -# * Fedora 21, 22, 23 -# * Amazon Linux 2015.03, 2015.09 -# * OpenSuse 13 +echo +echo "WARNING: This script is no longer required on most 64-bit Linux systems when using sharp v0.12.0+" +echo +echo "See http://sharp.dimens.io/page/install#linux" +echo +echo "If you really, really need this script, it will attempt" +echo "to globally install libvips if not already available." +echo vips_version_minimum=8.3.1 vips_version_latest_major_minor=8.3 @@ -33,7 +24,7 @@ install_libvips_from_source() { curl -O http://www.vips.ecs.soton.ac.uk/supported/$vips_version_latest_major_minor/vips-$vips_version_latest_major_minor.$vips_version_latest_patch.tar.gz tar zvxf vips-$vips_version_latest_major_minor.$vips_version_latest_patch.tar.gz cd vips-$vips_version_latest_major_minor.$vips_version_latest_patch - ./configure --disable-debug --disable-docs --disable-static --disable-introspection --disable-dependency-tracking --enable-cxx=yes --without-python --without-orc --without-fftw $1 + CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" ./configure --disable-debug --disable-docs --disable-static --disable-introspection --disable-dependency-tracking --enable-cxx=yes --without-python --without-orc --without-fftw $1 make make install cd .. diff --git a/test/leak/sharp.supp b/test/leak/sharp.supp index dccdc3fc..8e81393b 100644 --- a/test/leak/sharp.supp +++ b/test/leak/sharp.supp @@ -83,6 +83,54 @@ ... fun:WebPEncodeRGB } +{ + value_libwebp_WebPEncode + Memcheck:Value8 + ... + fun:WebPEncode +} +{ + cond_libwebp_WebPEncode + Memcheck:Cond + ... + fun:WebPEncode +} +{ + value_libwebp_WebPPictureImportRGBA + Memcheck:Value8 + ... + fun:WebPPictureImportRGBA +} +{ + cond_libwebp_WebPPictureImportRGBA + Memcheck:Cond + ... + fun:WebPPictureImportRGBA +} +{ + value_libwebp_WebPPictureImportRGB + Memcheck:Value8 + ... + fun:WebPPictureImportRGB +} +{ + cond_libwebp_WebPPictureImportRGB + Memcheck:Cond + ... + fun:WebPPictureImportRGB +} +{ + value_libwebp_WebPDecode + Memcheck:Value8 + ... + fun:WebPDecode +} +{ + cond_libwebp_WebPDecode + Memcheck:Cond + ... + fun:WebPDecode +} # libvips { @@ -102,7 +150,21 @@ cond_libvips_col_sRGB2scRGB_8 Memcheck:Value8 fun:vips_col_sRGB2scRGB_8 - fun:vips_sRGB2scRGB_gen +} +{ + cond_libvips_vips_region_fill + Memcheck:Cond + ... + fun:vips_region_fill + fun:vips_region_prepare +} +{ + leak_libvips_init + Memcheck:Leak + match-leak-kinds: reachable + fun:malloc + ... + fun:vips__init } # libuv warnings @@ -199,6 +261,13 @@ ... fun:_ZN4node17CreateEnvironmentEPN2v87IsolateEP9uv_loop_sNS0_5LocalINS0_7ContextEEEiPKPKciSB_ } +{ + leak_nodejs_icu_getAvailableLocales + Memcheck:Leak + match-leak-kinds: possible + ... + fun:_ZN6icu_568Collator19getAvailableLocalesERi +} { leak_nan_FunctionCallbackInfo Memcheck:Leak @@ -276,55 +345,3 @@ ... fun:_ZN2v88internal8Malloced3NewEm } - -# vips__init warnings -{ - leak_libvips_init - Memcheck:Leak - match-leak-kinds: reachable - fun:malloc - ... - fun:vips__init -} - -# *magick warnings -{ - leak_magick_read - Memcheck:Leak - match-leak-kinds: definite,indirect,possible - ... - fun:ReadImage - ... - fun:vips__magick_read -} -{ - leak_magick_read_header - Memcheck:Leak - match-leak-kinds: definite,indirect,possible - ... - fun:ReadImage - ... - fun:vips__magick_read_header -} -{ - value_magick_is_palette_image - Memcheck:Value8 - fun:IsPaletteImage -} -{ - cond_magick_is_palette_image - Memcheck:Cond - fun:IsPaletteImage -} - -# glib g_file_read_link -# https://github.com/GNOME/glib/commit/49a5d0f6f2aed99cd78f25655f137f4448e47d92 -{ - leak_g_file_read_link - Memcheck:Leak - match-leak-kinds: definite,indirect,possible - ... - fun:g_file_read_link - ... - fun:vips_gsf_path -}