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 * Amazon Linux 2015.03, 2015.09
To use your own version of libvips instead of the provided binaries, make sure it is 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 at least the version listed under `config.libvips` in the `package.json` file,
can be located using `pkg-config`. If you are using non-stadard paths (anything other that it can be located using `pkg-config --modversion vips-cpp`
than `/usr` or `/usr/local`), you might need to set `PKG_CONFIG_PATH` during `npm install` and that it has been compiled with `_GLIBCXX_USE_CXX11_ABI=0`.
and `LD_LIBRARY_PATH` at runtime.
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. 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 a system-wide installation of the most suitable version of
libvips and its dependencies can be achieved by running libvips and its dependencies can be achieved by running
the following command as a user with `sudo` access the following command as a user with `sudo` access
(requires `curl` and `pkg-config`): (requires `curl` and `pkg-config`):
```sh ```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 - curl -s https://raw.githubusercontent.com/lovell/sharp/master/preinstall.sh | sudo bash -
``` ```

View File

@ -1,24 +1,15 @@
#!/bin/sh #!/bin/sh
# This script is no longer required on most # Use of this script is deprecated
# 64-bit Linux systems when using sharp v0.12.0+
# See http://sharp.dimens.io/page/install#linux echo
echo "WARNING: This script is no longer required on most 64-bit Linux systems when using sharp v0.12.0+"
# If you really need this script, it will attempt to echo
# globally install libvips if not already available. echo "See http://sharp.dimens.io/page/install#linux"
echo
# Supports: echo "If you really, really need this script, it will attempt"
# * Debian Linux echo "to globally install libvips if not already available."
# * Debian 7, 8 echo
# * 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
vips_version_minimum=8.3.1 vips_version_minimum=8.3.1
vips_version_latest_major_minor=8.3 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 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 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 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
make install make install
cd .. cd ..

View File

@ -83,6 +83,54 @@
... ...
fun:WebPEncodeRGB 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 # libvips
{ {
@ -102,7 +150,21 @@
cond_libvips_col_sRGB2scRGB_8 cond_libvips_col_sRGB2scRGB_8
Memcheck:Value8 Memcheck:Value8
fun:vips_col_sRGB2scRGB_8 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 # libuv warnings
@ -199,6 +261,13 @@
... ...
fun:_ZN4node17CreateEnvironmentEPN2v87IsolateEP9uv_loop_sNS0_5LocalINS0_7ContextEEEiPKPKciSB_ fun:_ZN4node17CreateEnvironmentEPN2v87IsolateEP9uv_loop_sNS0_5LocalINS0_7ContextEEEiPKPKciSB_
} }
{
leak_nodejs_icu_getAvailableLocales
Memcheck:Leak
match-leak-kinds: possible
...
fun:_ZN6icu_568Collator19getAvailableLocalesERi
}
{ {
leak_nan_FunctionCallbackInfo leak_nan_FunctionCallbackInfo
Memcheck:Leak Memcheck:Leak
@ -276,55 +345,3 @@
... ...
fun:_ZN2v88internal8Malloced3NewEm 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
}