Add hints about compiling with _GLIBCXX_USE_CXX11_ABI #432

Increase deprecatedness of preinstall script
Additional valgrind suppressions for libwebp
This commit is contained in:
Lovell Fuller 2016-05-21 09:03:06 +01:00
parent 32a2787254
commit e3cbcb98c0
3 changed files with 88 additions and 78 deletions

View File

@ -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 -
```

View File

@ -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 ..

View File

@ -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
}