Code Monkey home page Code Monkey logo

heroku-buildpack-vips's Introduction

heroku-buildpack-vips

Heroku buildpack with libvips installed.

Current vips version is 7.42.3 with webp 0.4.0, libtiff 4.0.3, orc 0.4.18, fftw 3.3.4, libgsf 1.14.30, imagemagick 6.9.1 and lcms 2.6

Usage

Use https://github.com/ddollar/heroku-buildpack-multi as buildpack and add to your .buildpacks this:

https://github.com/alex88/heroku-buildpack-vips.git

or, if you want to stick with a version:

https://github.com/alex88/heroku-buildpack-vips.git#7.38.4.0

PS: You can even use the ruby-vips gem ;)

Version

Buildpack is tagged with the vips version it uses with the scheme of vips-mayor.vips-minor.vips-pl.buildpack-pl

Contribute

Open a damn issue or pull request (way appreciated) ;)

Build script

This is the script used to build vips on heroku run bash

#!/bin/bash

# Set vips version
export VIPS_VERSION=7.42.3
export WEBP_VERSION=0.4.0
export ORC_VERSION=0.4.18
export FFTW_VERSION=3.3.4
export GETTEXT_VERSION=0.19.1
export BUILD_PATH=/tmp
export OUT_PATH=/app/vendor/vips
export PKG_CONFIG_PATH=$OUT_PATH/lib/pkgconfig:$PKG_CONFIG_PATH
export PATH=$OUT_PATH/bin:$PATH

# Remove out path if already exists
rm -Rf $OUT_PATH

# Build path
cd $BUILD_PATH

###############
#     Orc     #
###############

# Download orc dependency
curl http://cgit.freedesktop.org/gstreamer/orc/snapshot/orc-$ORC_VERSION.tar.gz -o orc.tar.gz
# Unzip
tar -xvf orc.tar.gz
# Get into orc folder
cd orc-$ORC_VERSION
# Configure
./autogen.sh
# Configure build
./configure --prefix $OUT_PATH
# Make orc
make
# Install orc
make install

# Build path
cd $BUILD_PATH

###############
#     WebP    #
###############

# Download webp dependency
curl https://webp.googlecode.com/files/libwebp-$WEBP_VERSION.tar.gz -o libwebp.tar.gz
# Unzip
tar -xvf libwebp.tar.gz
# Get into webp folder
cd libwebp-$WEBP_VERSION
# Configure build
./configure --prefix $OUT_PATH
# Make libwebp
make
# Install webp
make install

# Build path
cd $BUILD_PATH

###############
#   LIBTIFF   #
###############

# Download tiff dependency
curl http://download.osgeo.org/libtiff/tiff-4.0.3.tar.gz -o libtiff.tar.gz
# Unzip
tar -xvf libtiff.tar.gz
# Get into libtiff folder
cd tiff-4.0.3
# Configure build
./configure --prefix $OUT_PATH
# Make libtiff
make
# Install libtiff
make install

# Build path
cd $BUILD_PATH

###############
#    FFTW     #
###############

# Download fftw dependency
curl http://www.fftw.org/fftw-$FFTW_VERSION.tar.gz -o fftw.tar.gz
# Unzip
tar -xvf fftw.tar.gz
# Get into fftw folder
cd fftw-$FFTW_VERSION
# Configure build
./configure --enable-shared --prefix $OUT_PATH
# Make fftw
make
# Install fftw
make install

# Build path
cd $BUILD_PATH

###############
#    CPANM    #
###############

# Download cpanm
curl https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm -o cpanm
# Make it executable
chmod +x cpanm
# Use local lib
./cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
# Install xml module (in /app/perl5)
./cpanm -v XML::Parser

# Build path
cd $BUILD_PATH

###############
#  INTLTOOL   #
###############

# Download intltool dependency
curl http://ftp.gnome.org/pub/GNOME/sources/intltool/0.40/intltool-0.40.6.tar.gz -o intltool.tar.gz
# Unzip
tar -xvf intltool.tar.gz
# Get into intltool folder
cd intltool-0.40.6
# Configure build
./configure --prefix $OUT_PATH
# Make intltool
make
# Install intltool
make install

# Build path
cd $BUILD_PATH

###############
#   GETTEXT   #
###############

# Download gettext dependency
curl http://ftp.gnu.org/pub/gnu/gettext/gettext-$GETTEXT_VERSION.tar.gz -o gettext.tar.gz
# Unzip
tar -xvf gettext.tar.gz
# Get into gettext folder
cd gettext-$GETTEXT_VERSION
# Configure build
./configure --prefix $OUT_PATH
# Make gettext
make
# Install gettext
make install

# Build path
cd $BUILD_PATH

###############
#    LIBFFI   #
###############

# Download libffi dependency
curl ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz -o libffi.tar.gz
# Unzip
tar -xvf libffi.tar.gz
# Get into libffi folder
cd libffi-3.1
# Configure build
./configure --prefix $OUT_PATH
# Make libffi
make
# Install libffi
make install

# Build path
cd $BUILD_PATH

###############
#     GLIB    #
###############

# Download glib dependency
curl -L http://ftp.gnome.org/pub/gnome/sources/glib/2.41/glib-2.41.1.tar.xz -o glib.tar.xz
# Unzip
tar -xvf glib.tar.xz
# Get into glib folder
cd glib-2.41.1
# Configure build
./configure --prefix $OUT_PATH
# Make glib
make
# Install glib
make install

# Build path
cd $BUILD_PATH


###############
#     GSF     #
###############

# Download libgsf dependency
curl -L http://ftp.gnome.org/pub/GNOME/sources/libgsf/1.14/libgsf-1.14.30.tar.xz -o libgsf.tar.xz
# Unzip
tar -xvf libgsf.tar.xz
# Get into libgsf folder
cd libgsf-1.14.30
# Configure build
./configure --prefix $OUT_PATH
# Make gsf
make
# Install gsf
make install

# Build path
cd $BUILD_PATH

###############
#   CFITSIO   #
###############

# Download CFITSIO dependency
curl -L ftp://heasarc.gsfc.nasa.gov/software/fitsio/c/cfitsio3370.tar.gz -o cfitsio.tar.gz
# Unzip
tar -xvf cfitsio.tar.gz
# Get into CFITSIO folder
cd cfitsio
# Configure build
./configure --prefix $OUT_PATH
# Make cfitsio
make
# Install cfitsio
make install

# Build path
cd $BUILD_PATH

###############
# Imagemagick #
###############

# Download Imagemagick dependency
curl -L http://www.imagemagick.org/download/releases/ImageMagick-6.9.1-0.tar.xz -o ImageMagick.tar.xz
# Unzip
tar -xvf ImageMagick.tar.xz
# Get into Imagemagick folder
cd ImageMagick-6.9.1-0
# Configure build
./configure --prefix $OUT_PATH --with-gcc-arch
# Make Imagemagick
make
# Install Imagemagick
make install

# Build path
cd $BUILD_PATH

###############
#     LCMS    #
###############

# Download lcms dependency
curl -L http://downloads.sourceforge.net/project/lcms/lcms/2.6/lcms2-2.6.tar.gz -o lcms.tar.gz
# Unzip
tar -xvf lcms.tar.gz
# Get into lcms folder
cd lcms2-2.6
# Configure build
./configure --prefix $OUT_PATH
# Make lcms
make
# Install lcms
make install

# Build path
cd $BUILD_PATH

###############
#     VIPS    #
###############

# Download vips runtime
curl http://www.vips.ecs.soton.ac.uk/supported/current/vips-$VIPS_VERSION.tar.gz -o vips.tar.gz
# Unzip
tar -xvf vips.tar.gz
# Get into vips folder
cd vips-$VIPS_VERSION
# Configure build and output everything in /tmp/vips
./configure --prefix $OUT_PATH
# Make
make
# install vips
make install


###############
#    Output   #
###############

# Get into output path
cd $OUT_PATH
# Create dist package
tar -cvzf output.tar.gz *

###############
#     FTP     #
###############

curl -T output.tar.gz -u username:password ftp://yourftpsitehere/

heroku-buildpack-vips's People

Contributors

alex88 avatar cstavish avatar h2non avatar jonathanong avatar mcgoooo avatar mjackson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

heroku-buildpack-vips's Issues

TravisCI ==> Heroku build fails

Hi.

I use sharp in my application and all works great on my local env.
But when I use TravisCI and let it do the build and push to Heroku, I get the following error in my Travis log:

> [email protected] install …
[…]
       Package vips was not found in the pkg-config search path.
       Perhaps you should add the directory containing `vips.pc’
       to the PKG_CONFIG_PATH environment variable
       No package ‚vips‘ found
       gyp: Call to ‚PKG_CONFIG_PATH=„:$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig“ pkg-config —libs vips‘ returned exit status 1. while trying to load binding.gyp
       gyp ERR! configure error 
       gyp ERR! stack Error: `gyp` failed with exit code: 1
[…]

Here is an excerpt from the travis.yml:

before_install:
 - curl -s https://raw.githubusercontent.com/lovell/sharp/master/preinstall.sh | sudo bash -

And in the .buildpacks:

https://github.com/alex88/heroku-buildpack-vips.git
https://github.com/heroku/heroku-buildpack-nodejs

Any clues?

7.40.3.0 is broken

while using https://https://github.com/alex88/heroku-buildpack-vips.git#7.40.3.0, this error appears

-----> Fetching custom git buildpack... done
-----> Multipack app detected
=====> Downloading Buildpack: https://github.com/alex88/heroku-buildpack-vips.git
=====> Detected Framework:
-----> Installing libvips
Downloading libvips and unpacking
libvips installed
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-ruby.git
...
LoadError: libvips.so.37: cannot open shared object file: No such file or directory - /tmp/build_f808c875-e0d2-498d-8057-4f338ce7585c/vendor/bundle/ruby/2.1.0/extensions/x86_64-linux/2.1.0-static/ruby-vips-0.3.8/vips_ext.so

Cannot find libvips with multiple buildpacks

I'm using this buildpack in conjunction with other one, via buildpack-multi.

For some reason, when the next buildpack is compiled, PKG_CONFIG_PATH is not available, therefore failing the compilation. Seems like the buildpacks environment variables are not properly propagated between buildpacks.

If a create a unique buildpack with all the compilation code of both required buildpacks, it works!

Do you have a similar experience running multiple buildpacks?

ImageMagick core dumped

While using sharp to resize a GIF file, it uses ImageMagick that unexpectedly breaks with a Illegal instruction (core dumped) while trying to read the GIF and extract metadata.

We debugged and the backtrace is available here.

It seems the bundled ImageMagick uses AVX instructions that aren't available at Heroku cedar-14. We will try to rebuild ImageMagick without AVX support.

No package 'vips' found

Hi

Not sure what have changed in my configuration (a new version of node.js on heroku?) but it seems not to compile anymore on Heroku

Fetching repository, done.
Counting objects: 24, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (13/13), done.
Writing objects: 100% (13/13), 1.51 KiB | 0 bytes/s, done.
Total 13 (delta 11), reused 0 (delta 0)

-----> Fetching custom git buildpack... done
-----> Multipack app detected
=====> Downloading Buildpack: https://github.com/alex88/heroku-buildpack-vips.git
=====> Detected Framework: 
-----> Installing libvips
       Downloading libvips and unpacking
       libvips installed
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git
=====> Detected Framework: Node.js
-----> Requested node range:  0.10.x
-----> Resolved node version: 0.10.33
-----> Downloading and installing node
-----> Restoring node_modules directory from cache
-----> Pruning cached dependencies not specified in package.json
-----> Node version changed since last build; rebuilding dependencies

       > [email protected] install /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/connect-mongo/node_modules/mongodb/node_modules/bson
       > (node-gyp rebuild 2> builderror.log) || (exit 0)

       make: Entering directory `/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/connect-mongo/node_modules/mongodb/node_modules/bson/build'
         CXX(target) Release/obj.target/bson/ext/bson.o
         SOLINK_MODULE(target) Release/obj.target/bson.node
         SOLINK_MODULE(target) Release/obj.target/bson.node: Finished
         COPY Release/bson.node
       make: Leaving directory `/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/connect-mongo/node_modules/mongodb/node_modules/bson/build'

       > [email protected] install /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/connect-mongo/node_modules/mongodb/node_modules/kerberos
       > (node-gyp rebuild 2> builderror.log) || (exit 0)

       make: Entering directory `/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/connect-mongo/node_modules/mongodb/node_modules/kerberos/build'
         SOLINK_MODULE(target) Release/obj.target/kerberos.node
         SOLINK_MODULE(target) Release/obj.target/kerberos.node: Finished
         COPY Release/kerberos.node
       make: Leaving directory `/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/connect-mongo/node_modules/mongodb/node_modules/kerberos/build'

       > [email protected] install /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/mongoose/node_modules/mongodb/node_modules/bson
       > (node-gyp rebuild 2> builderror.log) || (exit 0)

       make: Entering directory `/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build'
         CXX(target) Release/obj.target/bson/ext/bson.o
         SOLINK_MODULE(target) Release/obj.target/bson.node
         SOLINK_MODULE(target) Release/obj.target/bson.node: Finished
         COPY Release/bson.node
       make: Leaving directory `/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build'

       > [email protected] install /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos
       > (node-gyp rebuild 2> builderror.log) || (exit 0)

       make: Entering directory `/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/build'
         SOLINK_MODULE(target) Release/obj.target/kerberos.node
         SOLINK_MODULE(target) Release/obj.target/kerberos.node: Finished
         COPY Release/kerberos.node
       make: Leaving directory `/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/mongoose/node_modules/mongodb/node_modules/kerberos/build'

       > [email protected] postinstall /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/imagemin/node_modules/imagemin-gifsicle/node_modules/gifsicle
       > node lib/install.js

       ✔︎ pre-build test passed successfully!

       > [email protected] postinstall /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/imagemin/node_modules/imagemin-jpegtran/node_modules/jpegtran-bin
       > node lib/install.js

       ✔︎ pre-build test passed successfully!

       > [email protected] postinstall /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin
       > node lib/install.js

       ✔︎ pre-build test passed successfully!

       > [email protected] postinstall /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/imagemin/node_modules/imagemin-pngquant/node_modules/pngquant-bin
       > node lib/install.js

       ✔︎ pre-build test passed successfully!

       > [email protected] install /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/sharp
       > node-gyp rebuild

       Package vips was not found in the pkg-config search path.
       Perhaps you should add the directory containing `vips.pc'
       to the PKG_CONFIG_PATH environment variable
       No package 'vips' found
       gyp: Call to 'PKG_CONFIG_PATH=":$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig" pkg-config --libs vips' returned exit status 1. while trying to load binding.gyp
       gyp ERR! configure error 
       gyp ERR! stack Error: `gyp` failed with exit code: 1
       gyp ERR! stack     at ChildProcess.onCpExit (/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/vendor/node/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
       gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
       gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)
       gyp ERR! System Linux 3.8.11-ec2
       gyp ERR! command "node" "/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/vendor/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
       gyp ERR! cwd /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/node_modules/sharp
       gyp ERR! node -v v0.10.33
       gyp ERR! node-gyp -v v1.0.1
       gyp ERR! not ok 

       npm ERR! [email protected] install: `node-gyp rebuild`
       npm ERR! Exit status 1
       npm ERR! 
       npm ERR! Failed at the [email protected] install script.
       npm ERR! This is most likely a problem with the sharp package,
       npm ERR! not with npm itself.
       npm ERR! Tell the author that this fails on your system:
       npm ERR!     node-gyp rebuild
       npm ERR! You can get their info via:
       npm ERR!     npm owner ls sharp
       npm ERR! There is likely additional logging output above.
       npm ERR! System Linux 3.8.11-ec2
       npm ERR! command "/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/vendor/node/bin/node" "/tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/vendor/node/bin/npm" "rebuild"
       npm ERR! cwd /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5
       npm ERR! node -v v0.10.33
       npm ERR! npm -v 1.4.28
       npm ERR! code ELIFECYCLE
       npm ERR! 
       npm ERR! Additional logging details can be found in:
       npm ERR!     /tmp/build_3166c127ceb3f20617407fe8f0dcc8d5/npm-debug.log
       npm ERR! not ok code 0

Here's the content of my .buildpacks file

https://github.com/alex88/heroku-buildpack-vips.git#7.40.10.1
https://github.com/heroku/heroku-buildpack-nodejs.git

Any idea?

buildpack rejected

Hi,

i have added your buildpack via BUILDPACK_URL, when i push to heroku i get this error:

remote: Building source:
remote:
remote: -----> Fetching custom git buildpack... done
remote:
remote: ! Push rejected, no Cedar-supported app detected
remote: HINT: This occurs when Heroku cannot detect the buildpack
remote: to use for this application automatically.
remote: See https://devcenter.heroku.com/articles/buildpacks
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to *******
remote:

Any idea what i am doing wrong?

Thank you!

Problem with Orc Dependency

The Orc dependency installation from the bash script in the readme is not working.

I always get the following error:

./autogen.sh: 7: ./autogen.sh: autoreconf: not found
./orc.sh: line 33: ./configure: No such file or directory
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target 'install'.  Stop.

Error: libvips-cpp.so.42: cannot open shared object file

Suddenly stopped working today. Any idea why?

2018-03-02T00:48:01.785967+00:00 app[web.1]: - $ node server.build/server.js
2018-03-02T00:48:02.639045+00:00 app[web.1]: - module.js:672
2018-03-02T00:48:02.639078+00:00 app[web.1]: -   return process.dlopen(module, path._makeLong(filename));
2018-03-02T00:48:02.639083+00:00 app[web.1]: - 
2018-03-02T00:48:02.639081+00:00 app[web.1]: -                  ^
2018-03-02T00:48:02.639085+00:00 app[web.1]: - Error: libvips-cpp.so.42: cannot open shared object file: No such file or directory
2018-03-02T00:48:02.639087+00:00 app[web.1]: -     at Object.Module._extensions..node (module.js:672:18)
2018-03-02T00:48:02.639090+00:00 app[web.1]: -     at tryModuleLoad (module.js:499:12)
2018-03-02T00:48:02.639092+00:00 app[web.1]: -     at Function.Module._load (module.js:491:3)
2018-03-02T00:48:02.639094+00:00 app[web.1]: -     at Module.require (module.js:587:17)
2018-03-02T00:48:02.639089+00:00 app[web.1]: -     at Module.load (module.js:556:32)
2018-03-02T00:48:02.639097+00:00 app[web.1]: -     at Object.<anonymous> (/app/node_modules/sharp/lib/constructor.js:10:15)
2018-03-02T00:48:02.639099+00:00 app[web.1]: -     at Module._compile (module.js:643:30)
2018-03-02T00:48:02.639095+00:00 app[web.1]: -     at require (internal/module.js:11:18)
2018-03-02T00:48:02.639100+00:00 app[web.1]: -     at Object.Module._extensions..js (module.js:654:10)
2018-03-02T00:48:02.639103+00:00 app[web.1]: -     at tryModuleLoad (module.js:499:12)
2018-03-02T00:48:02.639105+00:00 app[web.1]: -     at Function.Module._load (module.js:491:3)
2018-03-02T00:48:02.639102+00:00 app[web.1]: -     at Module.load (module.js:556:32)
2018-03-02T00:48:02.639109+00:00 app[web.1]: -     at Object.<anonymous> (/app/node_modules/sharp/lib/index.js:3:15)
2018-03-02T00:48:02.639108+00:00 app[web.1]: -     at require (internal/module.js:11:18)
2018-03-02T00:48:02.639111+00:00 app[web.1]: -     at Module._compile (module.js:643:30)
2018-03-02T00:48:02.639106+00:00 app[web.1]: -     at Module.require (module.js:587:17)

Not working on dokku

I tried using your buildpack on dokku, and it appears the build pack runs successfully. but i get this message. I'm out of ideas, as My application is a golang app that relies on libvips for image processing.

  # pkg-config --cflags vips vips vips vips
   Package vips was not found in the pkg-config search path.
   Perhaps you should add the directory containing `vips.pc'
   to the PKG_CONFIG_PATH environment variable
   No package 'vips' found

ruby-vips cannot be installed

After installing libvips with this buildpack, I get proper version no:

$ heroku run vips -v --app pathchokro-staging
Running `vips -v` attached to terminal... up, run.3799
vips-7.42.3-Tue Mar 31 08:03:10 UTC 2015

But I cannot install ruby-vips using heroku ruby buildpack. Here is the build trace:

remote: -----> Deleting 3 files matching .slugignore patterns.
remote: -----> Multipack app detected
remote: -----> Fetching custom git buildpack... done
remote: -----> Vips Library app detected
remote: -----> Installing libvips
remote:        Downloading libvips and unpacking
remote:        libvips installed
remote: -----> Fetching custom git buildpack... done
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-2.2.2
remote: -----> Installing dependencies using 1.9.7
remote:        Running: bundle install --without development:test:load_test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
remote:        Fetching gem metadata from https://rails-assets.org/..
remote:        Fetching gem metadata from https://rubygems.org/..........
remote:        Fetching version metadata from https://rails-assets.org/..
remote:        Fetching version metadata from https://rubygems.org/...
remote:        Fetching dependency metadata from https://rails-assets.org/..
remote:        Fetching dependency metadata from https://rubygems.org/..
remote:        Fetching git://github.com/musaffa/carrierwave-vips.git
remote:        Fetching gem metadata from https://rails-assets.org/..
remote:        Fetching version metadata from https://rails-assets.org/..
remote:        Using i18n 0.7.0
remote:        Using rake 10.4.2
remote:        Using json 1.8.2
remote:        Using minitest 5.7.0
remote:        Using thread_safe 0.3.5
remote:        Using builder 3.2.2
remote:        Using erubis 2.7.0
remote:        Using mini_portile 0.6.2
remote:        Using rack 1.6.1
remote:        Using mime-types 2.6.1
remote:        Using arel 6.0.0
remote:        Using addressable 2.3.8
remote:        Using thor 0.19.1
remote:        Using uber 0.0.13
remote:        Using onfire 0.2.0
remote:        Using execjs 2.5.2
remote:        Using babosa 1.0.2
remote:        Using bcrypt 3.1.10
remote:        Using sass 3.4.14
remote:        Using bundler 1.9.7
remote:        Using hike 1.2.3
remote:        Using multi_json 1.11.0
remote:        Using tilt 1.4.1
remote:        Using hitimes 1.2.2
remote:        Using chunky_png 1.3.4
remote:        Using cocoon 1.2.6
remote:        Using coffee-script-source 1.9.1.1
remote:        Using rb-fsevent 0.9.5
remote:        Using ffi 1.9.8
remote:        Using connection_pool 2.2.0
remote:        Using crass 1.0.2
remote:        Using orm_adapter 0.5.0
remote:        Using structured_warnings 0.2.0
remote:        Using get_process_mem 0.2.0
remote:        Using hodel_3000_compliant_logger 0.1.1
remote:        Using htmlentities 4.3.3
remote:        Using jcrop-rails-v2 0.9.12.3
remote:        Using kgio 2.9.3
remote:        Using newrelic_rpm 3.12.0.288
remote:        Using nprogress-rails 0.1.6.7
remote:        Using pg 0.18.2
remote:        Using rack-cors 0.4.0
remote:        Using rack-timeout 0.2.4
remote:        Using rails-assets-jquery 2.1.4
remote:        Using rails-assets-microplugin 0.0.3
remote:        Using rails-assets-pnotify 2.0.1
remote:        Using rails-assets-sifter 0.4.1
remote:        Using rails_serve_static_assets 0.0.4
remote:        Using rails_stdout_logging 0.0.3
remote:        Using raindrops 0.13.0
remote:        Using recaptcha 0.4.0
remote:        Using redis 3.2.1
remote:        Using seedbank 0.4.0.pre
remote:        Using state_machines 0.2.2
remote:        Using i18n-js 3.0.0.rc10
remote:        Using tzinfo 1.2.2
remote:        Using nokogiri 1.6.6.2
remote:        Using mail 2.6.3
remote:        Using rack-test 0.6.3
remote:        Using warden 1.2.3
remote:        Using rack-protection 1.5.3
remote:        Using css_parser 1.3.6
remote:        Using hooks 0.4.0
remote:        Using figaro 1.1.1
remote:        Using autoprefixer-rails 5.2.0
remote:        Using uglifier 2.7.1
remote:        Using compass-core 1.0.3
remote:        Using compass-import-once 1.0.5
remote:        Using sprockets 2.12.3
remote:        Using haml 4.0.6
remote:        Using timers 4.0.1
remote:        Using coffee-script 2.4.1
remote:        Using rb-inotify 0.9.5
remote:        Using rubytree 0.8.3
remote:        Using rails-assets-selectize 0.12.1
remote:        Using rails_12factor 0.0.3
remote:        Using unicorn 4.9.0
remote:        Using redis-namespace 1.5.2
remote:        Using activesupport 4.2.1
remote:        Using loofah 2.0.2
remote:        Using aws-sdk-v1 1.64.0
remote:        Using representable 2.1.8
remote:        Using nokogumbo 1.4.1
remote:        Using sinatra 1.4.6
remote:        Using premailer 1.8.4
remote:        Using bootstrap-sass 3.3.4.1
remote:        Using celluloid 0.16.0
remote:        Using compass 1.0.3
remote:        Using rails-deprecated_sanitizer 1.0.3
remote:        Using globalid 0.3.5
remote:        Using activemodel 4.2.1
remote:        Using climate_control 0.0.3
remote:        Using enumerize 0.11.0
remote:        Using pundit 1.0.1
remote:        Using unicorn-rails 2.2.0
remote:        Using unicorn-worker-killer 0.4.3
remote:        Using rails-html-sanitizer 1.0.2
remote:        Using disposable 0.0.9
remote:        Using aws-sdk 1.64.0
remote:        Using sanitize 4.0.0
remote:        Using sidekiq 3.3.4
remote:        Using rails-dom-testing 1.0.6
remote:        Using activerecord 4.2.1
remote:        Using carrierwave 0.10.0
remote:        Using state_machines-activemodel 0.1.2
remote:        Using cocaine 0.5.7
remote:        Using activejob 4.2.1
remote:        Using reform 1.2.6
remote:        Using actionview 4.2.1
remote:        Using acts-as-taggable-on 3.5.0
remote:        Using ancestry 2.1.0
remote:        Using friendly_id 5.1.0
remote:        Using goldiloader 0.0.9
remote:        Using oink 0.10.1
remote:        Using pghero 1.0.1
remote:        Using carrierwave-aws 0.5.0
remote:        Using state_machines-activerecord 0.2.0
remote:        Using file_validators 1.2.0
remote:        Using actionpack 4.2.1
remote:        Using actionmailer 4.2.1
remote:        Using railties 4.2.1
remote:        Using sprockets-rails 2.3.1
remote:        Using easy_table 0.0.6
remote:        Using heroku_rails_deflate 1.0.3
remote:        Using simple_form 3.1.0
remote:        Using marginalia 1.3.0
remote:        Using meta-tags 2.0.0
remote:        Using premailer-rails 1.8.2
remote:        Using cells 3.11.3
remote:        Using jquery-rails 4.0.3
remote:        Using rails 4.2.1
remote:        Using coffee-rails 4.1.0
remote:        Using sass-rails 5.0.1
remote:        Using responders 2.1.0
remote:        Using font-awesome-rails 4.3.0.0
remote:        Using jquery-fileupload-rails 0.4.5
remote:        Using jquery-ui-rails 5.0.5
remote:        Using lograge 0.3.2
remote:        Using unobtrusive_flash 3.1.0
remote:        Using apotomo 1.3.1
remote:        Using browser-timezone-rails 0.0.8
remote:        Using gaffe 1.0.2
remote:        Using judge 2.1.0
remote:        Using polymorphic_constraints 1.0.0
remote:        Using turbolinks 2.5.3
remote:        Using compass-rails 2.0.4
remote:        Using social-share-button 0.1.9 from git://github.com/huacnlee/social-share-button.git (at master)
remote:        Using tinymce-rails 4.1.6 from git://github.com/musaffa/tinymce-rails.git (at tinymce_wait_asynchronous_load)
remote:        Using devise 3.5.1
remote:        Using judge-simple_form 1.0.0
remote:        Using jquery-turbolinks 2.1.0
remote:        Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
remote:        /tmp/build_1ce3994986a2a91bdfabb581890a2b18/vendor/ruby-2.2.2/bin/ruby -r ./siteconf20150622-429-17oq592.rb extconf.rb
remote:        *** extconf.rb failed ***
remote:        Could not create Makefile due to some reason, probably lack of necessary
remote:        libraries and/or headers.  Check the mkmf.log file for more details.  You may
remote:        need configuration options.
remote:        Provided configuration options:
remote:        --with-opt-dir
remote:        --without-opt-dir
remote:        --with-opt-include
remote:        --without-opt-include=${opt-dir}/include
remote:        --with-opt-lib
remote:        --without-opt-lib=${opt-dir}/lib
remote:        --with-make-prog
remote:        --without-make-prog
remote:        --srcdir=.
remote:        --curdir
remote:        --ruby=/tmp/build_1ce3994986a2a91bdfabb581890a2b18/vendor/ruby-2.2.2/bin/$(RUBY_BASE_NAME)
remote:        --enable-debug
remote:        --disable-debug
remote:        --with-vips-config
remote:        --without-vips-config
remote:        --with-pkg-config
remote:        --without-pkg-config
remote:        --with-vips-7.29-config
remote:        --without-vips-7.29-config
remote:        --with-vips-7.28-config
remote:        --without-vips-7.28-config
remote:        --with-vips-7.27-config
remote:        --without-vips-7.27-config
remote:        --with-vips-7.26-config
remote:        --without-vips-7.26-config
remote:        --with-vips-7.24-config
remote:        --without-vips-7.24-config
remote:        --with-vips-7.23-config
remote:        --without-vips-7.23-config
remote:        --with-vips-7.22-config
remote:        --without-vips-7.22-config
remote:        --with-vips-7.20-config
remote:        --without-vips-7.20-config
remote:        extconf.rb:27:in `<main>': no pkg_config for any of following libvips versions: 7.29, 7.28, 7.27, 7.26, 7.24, 7.23, 7.22, 7.20 (RuntimeError)
remote:        extconf failed, exit code 1
remote:        Gem files will remain installed in /tmp/build_1ce3994986a2a91bdfabb581890a2b18/vendor/bundle/ruby/2.2.0/gems/ruby-vips-0.3.9 for inspection.
remote:        Results logged to /tmp/build_1ce3994986a2a91bdfabb581890a2b18/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/ruby-vips-0.3.9/gem_make.out
remote:        An error occurred while installing ruby-vips (0.3.9), and Bundler cannot
remote:        continue.
remote:        Make sure that `gem install ruby-vips -v '0.3.9'` succeeds before bundling.
remote:        Bundler Output: Fetching gem metadata from https://rails-assets.org/..
remote:        Fetching gem metadata from https://rubygems.org/..........
remote:        Fetching version metadata from https://rails-assets.org/..
remote:        Fetching version metadata from https://rubygems.org/...
remote:        Fetching dependency metadata from https://rails-assets.org/..
remote:        Fetching dependency metadata from https://rubygems.org/..
remote:        Fetching git://github.com/musaffa/carrierwave-vips.git
remote:        Fetching gem metadata from https://rails-assets.org/..
remote:        Fetching version metadata from https://rails-assets.org/..
remote:        Using i18n 0.7.0
remote:        Using rake 10.4.2
remote:        Using json 1.8.2
remote:        Using minitest 5.7.0
remote:        Using thread_safe 0.3.5
remote:        Using builder 3.2.2
remote:        Using erubis 2.7.0
remote:        Using mini_portile 0.6.2
remote:        Using rack 1.6.1
remote:        Using mime-types 2.6.1
remote:        Using arel 6.0.0
remote:        Using addressable 2.3.8
remote:        Using thor 0.19.1
remote:        Using uber 0.0.13
remote:        Using onfire 0.2.0
remote:        Using execjs 2.5.2
remote:        Using babosa 1.0.2
remote:        Using bcrypt 3.1.10
remote:        Using sass 3.4.14
remote:        Using bundler 1.9.7
remote:        Using hike 1.2.3
remote:        Using multi_json 1.11.0
remote:        Using tilt 1.4.1
remote:        Using hitimes 1.2.2
remote:        Using chunky_png 1.3.4
remote:        Using cocoon 1.2.6
remote:        Using coffee-script-source 1.9.1.1
remote:        Using rb-fsevent 0.9.5
remote:        Using ffi 1.9.8
remote:        Using connection_pool 2.2.0
remote:        Using crass 1.0.2
remote:        Using orm_adapter 0.5.0
remote:        Using structured_warnings 0.2.0
remote:        Using get_process_mem 0.2.0
remote:        Using hodel_3000_compliant_logger 0.1.1
remote:        Using htmlentities 4.3.3
remote:        Using jcrop-rails-v2 0.9.12.3
remote:        Using kgio 2.9.3
remote:        Using newrelic_rpm 3.12.0.288
remote:        Using nprogress-rails 0.1.6.7
remote:        Using pg 0.18.2
remote:        Using rack-cors 0.4.0
remote:        Using rack-timeout 0.2.4
remote:        Using rails-assets-jquery 2.1.4
remote:        Using rails-assets-microplugin 0.0.3
remote:        Using rails-assets-pnotify 2.0.1
remote:        Using rails-assets-sifter 0.4.1
remote:        Using rails_serve_static_assets 0.0.4
remote:        Using rails_stdout_logging 0.0.3
remote:        Using raindrops 0.13.0
remote:        Using recaptcha 0.4.0
remote:        Using redis 3.2.1
remote:        Using seedbank 0.4.0.pre
remote:        Using state_machines 0.2.2
remote:        Using i18n-js 3.0.0.rc10
remote:        Using tzinfo 1.2.2
remote:        Using nokogiri 1.6.6.2
remote:        Using mail 2.6.3
remote:        Using rack-test 0.6.3
remote:        Using warden 1.2.3
remote:        Using rack-protection 1.5.3
remote:        Using css_parser 1.3.6
remote:        Using hooks 0.4.0
remote:        Using figaro 1.1.1
remote:        Using autoprefixer-rails 5.2.0
remote:        Using uglifier 2.7.1
remote:        Using compass-core 1.0.3
remote:        Using compass-import-once 1.0.5
remote:        Using sprockets 2.12.3
remote:        Using haml 4.0.6
remote:        Using timers 4.0.1
remote:        Using coffee-script 2.4.1
remote:        Using rb-inotify 0.9.5
remote:        Using rubytree 0.8.3
remote:        Using rails-assets-selectize 0.12.1
remote:        Using rails_12factor 0.0.3
remote:        Using unicorn 4.9.0
remote:        Using redis-namespace 1.5.2
remote:        Using activesupport 4.2.1
remote:        Using loofah 2.0.2
remote:        Using aws-sdk-v1 1.64.0
remote:        Using representable 2.1.8
remote:        Using nokogumbo 1.4.1
remote:        Using sinatra 1.4.6
remote:        Using premailer 1.8.4
remote:        Using bootstrap-sass 3.3.4.1
remote:        Using celluloid 0.16.0
remote:        Using compass 1.0.3
remote:        Using rails-deprecated_sanitizer 1.0.3
remote:        Using globalid 0.3.5
remote:        Using activemodel 4.2.1
remote:        Using climate_control 0.0.3
remote:        Using enumerize 0.11.0
remote:        Using pundit 1.0.1
remote:        Using unicorn-rails 2.2.0
remote:        Using unicorn-worker-killer 0.4.3
remote:        Using rails-html-sanitizer 1.0.2
remote:        Using disposable 0.0.9
remote:        Using aws-sdk 1.64.0
remote:        Using sanitize 4.0.0
remote:        Using sidekiq 3.3.4
remote:        Using rails-dom-testing 1.0.6
remote:        Using activerecord 4.2.1
remote:        Using carrierwave 0.10.0
remote:        Using state_machines-activemodel 0.1.2
remote:        Using cocaine 0.5.7
remote:        Using activejob 4.2.1
remote:        Using reform 1.2.6
remote:        Using actionview 4.2.1
remote:        Using acts-as-taggable-on 3.5.0
remote:        Using ancestry 2.1.0
remote:        Using friendly_id 5.1.0
remote:        Using goldiloader 0.0.9
remote:        Using oink 0.10.1
remote:        Using pghero 1.0.1
remote:        Using carrierwave-aws 0.5.0
remote:        Using state_machines-activerecord 0.2.0
remote:        Using file_validators 1.2.0
remote:        Using actionpack 4.2.1
remote:        Using actionmailer 4.2.1
remote:        Using railties 4.2.1
remote:        Using sprockets-rails 2.3.1
remote:        Using easy_table 0.0.6
remote:        Using heroku_rails_deflate 1.0.3
remote:        Using simple_form 3.1.0
remote:        Using marginalia 1.3.0
remote:        Using meta-tags 2.0.0
remote:        Using premailer-rails 1.8.2
remote:        Using cells 3.11.3
remote:        Using jquery-rails 4.0.3
remote:        Using rails 4.2.1
remote:        Using coffee-rails 4.1.0
remote:        Using sass-rails 5.0.1
remote:        Using responders 2.1.0
remote:        Using font-awesome-rails 4.3.0.0
remote:        Using jquery-fileupload-rails 0.4.5
remote:        Using jquery-ui-rails 5.0.5
remote:        Using lograge 0.3.2
remote:        Using unobtrusive_flash 3.1.0
remote:        Using apotomo 1.3.1
remote:        Using browser-timezone-rails 0.0.8
remote:        Using gaffe 1.0.2
remote:        Using judge 2.1.0
remote:        Using polymorphic_constraints 1.0.0
remote:        Using turbolinks 2.5.3
remote:        Using compass-rails 2.0.4
remote:        Using social-share-button 0.1.9 from git://github.com/huacnlee/social-share-button.git (at master)
remote:        Using tinymce-rails 4.1.6 from git://github.com/musaffa/tinymce-rails.git (at tinymce_wait_asynchronous_load)
remote:        Using devise 3.5.1
remote:        Using judge-simple_form 1.0.0
remote:        Using jquery-turbolinks 2.1.0
remote:        
remote:        Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
remote:        
remote:        /tmp/build_1ce3994986a2a91bdfabb581890a2b18/vendor/ruby-2.2.2/bin/ruby -r ./siteconf20150622-429-17oq592.rb extconf.rb
remote:        *** extconf.rb failed ***
remote:        Could not create Makefile due to some reason, probably lack of necessary
remote:        libraries and/or headers.  Check the mkmf.log file for more details.  You may
remote:        need configuration options.
remote:        
remote:        Provided configuration options:
remote:        --with-opt-dir
remote:        --without-opt-dir
remote:        --with-opt-include
remote:        --without-opt-include=${opt-dir}/include
remote:        --with-opt-lib
remote:        --without-opt-lib=${opt-dir}/lib
remote:        --with-make-prog
remote:        --without-make-prog
remote:        --srcdir=.
remote:        --curdir
remote:        --ruby=/tmp/build_1ce3994986a2a91bdfabb581890a2b18/vendor/ruby-2.2.2/bin/$(RUBY_BASE_NAME)
remote:        --enable-debug
remote:        --disable-debug
remote:        --with-vips-config
remote:        --without-vips-config
remote:        --with-pkg-config
remote:        --without-pkg-config
remote:        --with-vips-7.29-config
remote:        --without-vips-7.29-config
remote:        --with-vips-7.28-config
remote:        --without-vips-7.28-config
remote:        --with-vips-7.27-config
remote:        --without-vips-7.27-config
remote:        --with-vips-7.26-config
remote:        --without-vips-7.26-config
remote:        --with-vips-7.24-config
remote:        --without-vips-7.24-config
remote:        --with-vips-7.23-config
remote:        --without-vips-7.23-config
remote:        --with-vips-7.22-config
remote:        --without-vips-7.22-config
remote:        --with-vips-7.20-config
remote:        --without-vips-7.20-config
remote:        extconf.rb:27:in `<main>': no pkg_config for any of following libvips versions: 7.29, 7.28, 7.27, 7.26, 7.24, 7.23, 7.22, 7.20 (RuntimeError)
remote:        
remote:        extconf failed, exit code 1
remote:        
remote:        Gem files will remain installed in /tmp/build_1ce3994986a2a91bdfabb581890a2b18/vendor/bundle/ruby/2.2.0/gems/ruby-vips-0.3.9 for inspection.
remote:        Results logged to /tmp/build_1ce3994986a2a91bdfabb581890a2b18/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/ruby-vips-0.3.9/gem_make.out
remote:        An error occurred while installing ruby-vips (0.3.9), and Bundler cannot
remote:        continue.
remote:        Make sure that `gem install ruby-vips -v '0.3.9'` succeeds before bundling.
remote:  !
remote:  !     Failed to install gems via Bundler.
remote:  !
remote: 
remote:  !     Push rejected, failed to compile Ruby app
remote: 
remote: Verifying deploy....
remote: 
remote: !   Push rejected to pathchokro-staging.

I get the following output for $PATH, $PKG_CONFIG_PATH and $LD_LIBRARY_PATH:

PATH

$ heroku run 'echo $PATH' --app pathchokro-staging
Running `echo $PATH` attached to terminal... up, run.2813
/usr/local/bin:/usr/bin:/bin:/app/vendor/vips/bin

PKG_CONFIG_PATH

$ heroku run 'echo $PKG_CONFIG_PATH' --app pathchokro-staging
Running `echo $PKG_CONFIG_PATH` attached to terminal... up, run.2012
:/app/vendor/vips/lib/pkgconfig

LD_LIBRARY_PATH

$ heroku run 'echo $LD_LIBRARY_PATH' --app pathchokro-staging
Running `echo $LD_LIBRARY_PATH` attached to terminal... up, run.6435
:/app/vendor/vips/lib

libtiff conflicts with opencv's one

We had some conflicts with libtiff while using a opencv buildpack together with vips buildpack. A description of it can be found here.

We forked your buildpack and removed all libtiff.so* files from the bundle, letting the compiler use system defaults.

I don't know if our fork is actually helpful for general use cases of this buildpack, so I'm just documenting it here. If you find it is the case to PR, just let me know. Thanks!

Permission denied PKG_CONFIG_PATH

I'm trying to use this buildpack on aws/dokku but everytimr got errors.

=====> Downloading Buildpack: https://github.com/alex88/heroku-buildpack-vips.git
=====> Detected Framework:
-----> Installing libvips
       Downloading libvips and unpacking
       libvips installed
remote: /tmp/buildpackoUpxX/bin/compile: line 52: /tmp/env/PKG_CONFIG_PATH: Permission denied

Package vips not found in pkg-config

I'm getting the following error while deploying to Heroku. I'm deploying this repository. Any ideas about this?

remote: # pkg-config --cflags vips vips vips vips
remote: Package vips was not found in the pkg-config search path.
remote: Perhaps you should add the directory containing `vips.pc'
remote: to the PKG_CONFIG_PATH environment variable
remote: No package 'vips' found

Can't make it work with heroku

Hi.

I've tried to make the buildpack work but it does not seem to work
I'm using the Cedar 14 stack
https://blog.heroku.com/archives/2014/8/19/cedar-14-public-beta

Here's what I did

I use the multi buildpack:
BUILDPACK_URL: https://github.com/ddollar/heroku-buildpack-multi.git

The content of my .buildpacks is
https://github.com/alex88/heroku-buildpack-vips.git
https://github.com/heroku/heroku-buildpack-nodejs.git

And here's the log when I try to deploy
git push heroku localheroku:master
Fetching repository, done.
Counting objects: 11, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 1.03 KiB | 0 bytes/s, done.
Total 10 (delta 5), reused 0 (delta 0)

-----> Fetching custom git buildpack... done
-----> Multipack app detected
=====> Downloading Buildpack: https://github.com/alex88/heroku-buildpack-vips.git
=====> Detected Framework:
-----> Installing libvips
Downloading libvips and unpacking
libvips installed
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git
=====> Detected Framework: Node.js
-----> Requested node range: 0.10.x
-----> Resolved node version: 0.10.32
-----> Downloading and installing node
-----> Restoring node_modules directory from cache
-----> Pruning cached dependencies not specified in package.json
-----> Exporting config vars to environment
-----> Installing dependencies
npm WARN package.json [email protected] No repository field.

   > [email protected] install /tmp/build_c661d28a-576a-49ea-bef5-394b8dd62678/node_modules/sharp
   > node-gyp rebuild

   Package lcms was not found in the pkg-config search path.
   Perhaps you should add the directory containing `lcms.pc'
   to the PKG_CONFIG_PATH environment variable
   Package 'lcms', required by 'vips', not found
   gyp: Call to 'PKG_CONFIG_PATH=":$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/lib/pkgconfig" pkg-config --libs vips' returned exit status 1. while trying to load binding.gyp
   gyp ERR! configure error 
   gyp ERR! stack Error: `gyp` failed with exit code: 1
   gyp ERR! stack     at ChildProcess.onCpExit (/tmp/build_c661d28a-576a-49ea-bef5-394b8dd62678/vendor/node/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16)
   gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
   gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)
   gyp ERR! System Linux 3.8.11-ec2
   gyp ERR! command "node" "/tmp/build_c661d28a-576a-49ea-bef5-394b8dd62678/vendor/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
   gyp ERR! cwd /tmp/build_c661d28a-576a-49ea-bef5-394b8dd62678/node_modules/sharp
   gyp ERR! node -v v0.10.32
   gyp ERR! node-gyp -v v1.0.1
   gyp ERR! not ok 

   npm ERR! [email protected] install: `node-gyp rebuild`
   npm ERR! Exit status 1
   npm ERR! 
   npm ERR! Failed at the [email protected] install script.
   npm ERR! This is most likely a problem with the sharp package,
   npm ERR! not with npm itself.
   npm ERR! Tell the author that this fails on your system:
   npm ERR!     node-gyp rebuild
   npm ERR! You can get their info via:
   npm ERR!     npm owner ls sharp
   npm ERR! There is likely additional logging output above.
   npm ERR! System Linux 3.8.11-ec2
   npm ERR! command "/tmp/build_c661d28a-576a-49ea-bef5-394b8dd62678/vendor/node/bin/node" "/tmp/build_c661d28a-576a-49ea-bef5-394b8dd62678/vendor/node/bin/npm" "install" "--userconfig" "/tmp/build_c661d28a-576a-49ea-bef5-394b8dd62678/.npmrc" "--production"
   npm ERR! cwd /tmp/build_c661d28a-576a-49ea-bef5-394b8dd62678
   npm ERR! node -v v0.10.32
   npm ERR! npm -v 1.4.28
   npm ERR! code ELIFECYCLE
   npm ERR! not ok code 0

! Push rejected, failed to compile Multipack app

Perhaps I'm doing something wrong?

Thanks

error while loading shared libraries

I used Heroku for a Ruby on Rails project, and it used Imagemagick. Defining your buildpack in .buildpacks causing both convert and vips to not working properly, they like missing certain libraries.

And when I deploy, there is this message:

mkdir: cannot create directory `/tmp/build_4cc397ece100458644ba66d1b0f47dbc/.profile.d': File exists
Using release configuration from last framework ().

Only when I removed the buildpack from my .buildpacks, convert can work as intended.

libtiff.so.4 on cedar-14

This build pack does not work on cedar-14

Jonathans-MacBook-Pro:test jong$ heroku run node index.js
Running `node index.js` attached to terminal... up, run.8859

module.js:356
  Module._extensions[extension](this, filename);
                               ^
Error: libtiff.so.4: cannot open shared object file: No such file or directory
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/app/node_modules/sharp/index.js:11:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

test repo: https://github.com/jonathanong/heroku-buildpack-vips-test

run heroku run node index.js.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.