mojodna / heroku-buildpack-cairo

Heroku buildpack with Cairo (and Pixman and FreeType)
34 stars 63 forks source link

Package pangocairo not found. #6

Closed nickMinnoe closed 9 years ago

nickMinnoe commented 9 years ago

I'm trying to install node-canvas and I keep getting this error:

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

It's the same error as an earlier issue, but I tried switching node-canvas versions to 1.1.6 as he did, but my error has persisted through this.

I am using the buildpack-multi; this and the nodejs buildpack.

mojodna commented 9 years ago

Are you using cedar-10 or cedar-14?

If you're on cedar-14, try setting PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/ for your app. (The build should pick this up, but it may not, in which case we can try tweaking the buildpack to set that.)

mojodna commented 9 years ago

Actually, that's not going to work. libpango is present in the image, but the headers (and .pc) aren't.

imjared commented 9 years ago

Just flagging (and this probably is no surprise) that I'm seeing this issue on 1.1.6 on both cedar and cedar-14

mojodna commented 9 years ago

I got started the other day with https://github.com/mojodna/heroku-buildpack-cairo/pull/7, but haven't gotten it fully working yet (been busy), so maybe someone else could push it further in the meantime?

mojodna commented 9 years ago

@nickMinnoe @imjared Mind trying out https://github.com/mojodna/heroku-buildpack-cairo.git#pango and letting me know if it works for you?

Note: pango will only be available on the cedar-14 stack because of HarfBuzz + glib version incompatibilities (I think).

i-made-that commented 9 years ago

@mojodna Just tried the #pango build pack with no luck. Got the same error:

Package pangocairo was not found in the pkg-config search path.

Note that I have the following config var set on Heroku: PKG_CONFIG_PATH: /usr/local/lib/pkgconfig:/opt/X11/lib/pkgconfig

rmagee88 commented 9 years ago

@mojodna +1 to @i-made-that Agreed- still not working for me either on the #pango branch

mojodna commented 9 years ago

@i-made-that, @rmagee88 which stack are you using? Does the buildpack output show it fetching the pango tarball?

i-made-that commented 9 years ago

@mojodna here's the majority of the trace:

remote: Compressing source files... done. remote: Building source: remote: remote: -----> Fetching custom git buildpack... done remote: -----> Multipack app detected remote: =====> Downloading Buildpack: https://github.com/mojodna/heroku-buildpack-cairo.git remote: =====> Detected Framework: Cairo remote: -----> Vendoring binaries remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar/cairo-1.12.16-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar/freetype-2.5.3-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar/giflib-4.2.3-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar/pixman-0.32.6-1.tar.gz remote: -----> Tweaking Cairo, FreeType, and Pixman include paths remote: -----> Configuring build environment remote: -----> Building runtime environment remote: =====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git remote: =====> Detected Framework: Node.js remote: remote: -----> Reading application state remote: package.json... remote: build directory... remote: cache directory... remote: environment variables... remote: remote: Node engine: unspecified remote: Npm engine: unspecified remote: Start mechanism: Procfile remote: node_modules source: package.json remote: node_modules cached: true remote: remote: NPM_CONFIG_PRODUCTION=true remote: NODE_MODULES_CACHE=true remote: remote: -----> Installing binaries remote: Resolving node version (latest stable) via semver.io... remote: Downloading and installing node 0.12.2... remote: Using default npm version: 2.7.4 remote: remote: -----> Building dependencies remote: Restoring node modules from cache remote: Pruning unused dependencies remote: valid remote: Installing node modules remote: remote: > canvas@1.2.1 install /tmp/build_21f23e48a70e31fcdbf751002500dbb2/node_modules/canvas remote: > node-gyp rebuild remote: remote: Package pangocairo was not found in the pkg-config search path. remote: Perhaps you should add the directory containing pangocairo.pc' remote: to the PKG_CONFIG_PATH environment variable remote: No package 'pangocairo' found remote: gyp: Call to 'pkg-config pangocairo --libs' returned exit status 1. while trying to load binding.gyp remote: gyp ERR! configure error remote: gyp ERR! stack Error:gypfailed with exit code: 1 remote: gyp ERR! stack at ChildProcess.onCpExit (/tmp/build_21f23e48a70e31fcdbf751002500dbb2/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16) remote: gyp ERR! stack at ChildProcess.emit (events.js:110:17) remote: gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12) remote: gyp ERR! System Linux 3.13.0-40-generic remote: gyp ERR! command "node" "/tmp/build_21f23e48a70e31fcdbf751002500dbb2/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" remote: gyp ERR! cwd /tmp/build_21f23e48a70e31fcdbf751002500dbb2/node_modules/canvas remote: gyp ERR! node -v v0.12.2 remote: gyp ERR! node-gyp -v v1.0.3 remote: gyp ERR! not ok remote: npm ERR! Linux 3.13.0-40-generic remote: npm ERR! argv "/tmp/build_21f23e48a70e31fcdbf751002500dbb2/.heroku/node/bin/node" "/tmp/build_21f23e48a70e31fcdbf751002500dbb2/.heroku/node/bin/npm" "install" "--unsafe-perm" "--quiet" "--userconfig" "/tmp/build_21f23e48a70e31fcdbf751002500dbb2/.npmrc" remote: npm ERR! node v0.12.2 remote: npm ERR! npm v2.7.4 remote: npm ERR! code ELIFECYCLE remote: remote: npm ERR! canvas@1.2.1 install:node-gyp rebuild` remote: npm ERR! Exit status 1 remote: npm ERR! remote: npm ERR! Failed at the canvas@1.2.1 install script 'node-gyp rebuild'. remote: npm ERR! This is most likely a problem with the canvas package, remote: npm ERR! not with npm itself. remote: npm ERR! Tell the author that this fails on your system: remote: npm ERR! node-gyp rebuild remote: npm ERR! You can get their info via: remote: npm ERR! npm owner ls canvas remote: npm ERR! There is likely additional logging output above. remote: remote: npm ERR! Please include the following file with any support request: remote: npm ERR! /tmp/build_21f23e48a70e31fcdbf751002500dbb2/npm-debug.log remote: remote: -----> Build failed

mojodna commented 9 years ago

@i-made-that it looks like you're using the cedar-10 stack (vs. cedar-14). Can you confirm using heroku stack?

If you are on cedar-10, try changing to cedar-14 using heroku stack:set cedar-14.

i-made-that commented 9 years ago

@mojodna right, I was on cedar-10. I set the stack to cedar-14 and re-deployed. Errors follow:

remote: Building source: remote: remote: -----> Fetching custom git buildpack... done remote: -----> Multipack app detected remote: =====> Downloading Buildpack: https://github.com/mojodna/heroku-buildpack-cairo.git remote: =====> Detected Framework: Cairo remote: -----> Vendoring binaries remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/cairo-1.12.16-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/freetype-2.5.3-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/giflib-4.2.3-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/pixman-0.32.6-1.tar.gz remote: -----> Tweaking Cairo, FreeType, and Pixman include paths remote: -----> Configuring build environment remote: -----> Building runtime environment remote: =====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git remote: =====> Detected Framework: Node.js remote: remote: -----> Reading application state remote: package.json... remote: build directory... remote: cache directory... remote: environment variables... remote: remote: Node engine: unspecified remote: Npm engine: unspecified remote: Start mechanism: Procfile remote: node_modules source: package.json remote: node_modules cached: true remote: remote: NPM_CONFIG_PRODUCTION=true remote: NODE_MODULES_CACHE=true remote: remote: -----> Installing binaries remote: Resolving node version (latest stable) via semver.io... remote: Downloading and installing node 0.12.2... remote: Using default npm version: 2.7.4 remote: remote: -----> Building dependencies remote: Restoring node modules from cache remote: Pruning unused dependencies remote: valid remote: Installing node modules remote: remote: > canvas@1.2.1 install /tmp/build_1c7e0b474de9e7a770420b4195063911/node_modules/canvas remote: > node-gyp rebuild remote: remote: Package pangocairo was not found in the pkg-config search path. remote: Perhaps you should add the directory containing pangocairo.pc' remote: to the PKG_CONFIG_PATH environment variable remote: No package 'pangocairo' found remote: gyp: Call to 'pkg-config pangocairo --libs' returned exit status 1. while trying to load binding.gyp remote: gyp ERR! configure error remote: gyp ERR! stack Error:gypfailed with exit code: 1 remote: gyp ERR! stack at ChildProcess.onCpExit (/tmp/build_1c7e0b474de9e7a770420b4195063911/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:343:16) remote: gyp ERR! stack at ChildProcess.emit (events.js:110:17) remote: gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12) remote: gyp ERR! System Linux 3.13.0-40-generic remote: gyp ERR! command "node" "/tmp/build_1c7e0b474de9e7a770420b4195063911/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" remote: gyp ERR! cwd /tmp/build_1c7e0b474de9e7a770420b4195063911/node_modules/canvas remote: gyp ERR! node -v v0.12.2 remote: gyp ERR! node-gyp -v v1.0.3 remote: gyp ERR! not ok remote: npm ERR! Linux 3.13.0-40-generic remote: npm ERR! argv "/tmp/build_1c7e0b474de9e7a770420b4195063911/.heroku/node/bin/node" "/tmp/build_1c7e0b474de9e7a770420b4195063911/.heroku/node/bin/npm" "install" "--unsafe-perm" "--quiet" "--userconfig" "/tmp/build_1c7e0b474de9e7a770420b4195063911/.npmrc" remote: npm ERR! node v0.12.2 remote: npm ERR! npm v2.7.4 remote: npm ERR! code ELIFECYCLE remote: remote: npm ERR! canvas@1.2.1 install:node-gyp rebuild` remote: npm ERR! Exit status 1 remote: npm ERR! remote: npm ERR! Failed at the canvas@1.2.1 install script 'node-gyp rebuild'. remote: npm ERR! This is most likely a problem with the canvas package, remote: npm ERR! not with npm itself. remote: npm ERR! Tell the author that this fails on your system: remote: npm ERR! node-gyp rebuild remote: npm ERR! You can get their info via: remote: npm ERR! npm owner ls canvas remote: npm ERR! There is likely additional logging output above. remote: remote: npm ERR! Please include the following file with any support request: remote: npm ERR! /tmp/build_1c7e0b474de9e7a770420b4195063911/npm-debug.log remote: remote: -----> Build failed

airhadoken commented 9 years ago

Looks like you're not using the #pango branch in your buildpack config, still. I'm getting the correct set of downloads.

i-made-that commented 9 years ago

@airhadoken ah yes, let me add that back. here's what i'm getting now:

remote: Building source: remote: remote: -----> Node.js app detected remote: remote: -----> Reading application state remote: package.json... remote: build directory... remote: cache directory... remote: environment variables... remote: remote: Node engine: unspecified remote: Npm engine: unspecified remote: Start mechanism: Procfile remote: node_modules source: package.json remote: node_modules cached: true remote: remote: NPM_CONFIG_PRODUCTION=true remote: NODE_MODULES_CACHE=true remote: remote: -----> Installing binaries remote: Resolving node version (latest stable) via semver.io... remote: Downloading and installing node 0.12.2... remote: Using default npm version: 2.7.4 remote: remote: -----> Building dependencies remote: Restoring node modules from cache remote: Pruning unused dependencies remote: Installing any new modules remote: remote: > simple-express-static-server@0.0.1 preinstall /tmp/build_d4d9597e0d459cb5eb2d0b4c20c8f1dd remote: > ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)" && export PATH="$HOME/.linuxbrew/bin:$PATH" && brew install ghostscript && brew install --build-from-source imagemagick && gem install memegen remote: remote: ==> This script will install: remote: /app/.linuxbrew/bin/brew remote: /app/.linuxbrew/Library/... remote: /app/.linuxbrew/share/man/man1/brew.1 remote: ==> Downloading and installing Homebrew... remote: Verifying deploy........................................................................................................................................................................................................................................................................ remote: remote: ! Push rejected to secret-waters-2107. remote: To https://git.heroku.com/secret-waters-2107.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'https://git.heroku.com/secret-waters-2107.git' ➜ simple-express-static-server git:(master) ga . ➜ simple-express-static-server git:(master) ✗ gc [master 9504851] 1324 1 file changed, 1 insertion(+), 1 deletion(-) ➜ simple-express-static-server git:(master) gph Counting objects: 17, done. Delta compression using up to 4 threads. Compressing objects: 100% (17/17), done. Writing objects: 100% (17/17), 168.70 KiB | 0 bytes/s, done. Total 17 (delta 9), reused 0 (delta 0) remote: Compressing source files... done. remote: Building source: remote: remote: -----> Fetching custom git buildpack... done remote: -----> Multipack app detected remote: =====> Downloading Buildpack: https://github.com/mojodna/heroku-buildpack-cairo.git remote: =====> Detected Framework: Cairo remote: -----> Vendoring binaries remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/cairo-1.14.2-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/freetype-2.5.5-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/giflib-4.2.3-2.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/pixman-0.32.6-2.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/pango-1.36.8-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/harfbuzz-0.9.39-1.tar.gz remote: Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/fontconfig-2.11.93-1.tar.gz remote: -----> Tweaking Cairo, FreeType, and Pixman include paths remote: -----> Configuring build environment remote: -----> Building runtime environment remote: =====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git remote: =====> Detected Framework: Node.js remote: remote: -----> Reading application state remote: package.json... remote: build directory... remote: cache directory... remote: environment variables... remote: remote: Node engine: unspecified remote: Npm engine: unspecified remote: Start mechanism: Procfile remote: node_modules source: package.json remote: node_modules cached: true remote: remote: NPM_CONFIG_PRODUCTION=true remote: NODE_MODULES_CACHE=true remote: remote: -----> Installing binaries remote: Resolving node version (latest stable) via semver.io... remote: Downloading and installing node 0.12.2... remote: Using default npm version: 2.7.4 remote: remote: -----> Building dependencies remote: Restoring node modules from cache remote: Pruning unused dependencies remote: valid remote: Installing node modules remote: remote: > canvas@1.2.1 install /tmp/build_f71acef0a9e4c759981472f1b25b4da7/node_modules/canvas remote: > node-gyp rebuild remote: remote: make: Entering directory /tmp/build_f71acef0a9e4c759981472f1b25b4da7/node_modules/canvas/build' remote: SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node remote: SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node: Finished remote: COPY Release/canvas-postbuild.node remote: CXX(target) Release/obj.target/canvas/src/Canvas.o remote: In file included from ../src/Canvas.cc:7:0: remote: ../src/Canvas.h:17:30: fatal error: pango/pangocairo.h: No such file or directory remote: #include <pango/pangocairo.h> remote: ^ remote: compilation terminated. remote: make: *** [Release/obj.target/canvas/src/Canvas.o] Error 1 remote: make: Leaving directory/tmp/build_f71acef0a9e4c759981472f1b25b4da7/node_modules/canvas/build' remote: gyp ERR! build error remote: gyp ERR! stack Error: make failed with exit code: 2 remote: gyp ERR! stack at ChildProcess.onExit (/tmp/build_f71acef0a9e4c759981472f1b25b4da7/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23) remote: gyp ERR! stack at ChildProcess.emit (events.js:110:17) remote: gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12) remote: gyp ERR! System Linux 3.13.0-40-generic remote: gyp ERR! command "node" "/tmp/build_f71acef0a9e4c759981472f1b25b4da7/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" remote: gyp ERR! cwd /tmp/build_f71acef0a9e4c759981472f1b25b4da7/node_modules/canvas remote: gyp ERR! node -v v0.12.2 remote: gyp ERR! node-gyp -v v1.0.3 remote: gyp ERR! not ok remote: npm ERR! Linux 3.13.0-40-generic remote: npm ERR! argv "/tmp/build_f71acef0a9e4c759981472f1b25b4da7/.heroku/node/bin/node" "/tmp/build_f71acef0a9e4c759981472f1b25b4da7/.heroku/node/bin/npm" "install" "--unsafe-perm" "--quiet" "--userconfig" "/tmp/build_f71acef0a9e4c759981472f1b25b4da7/.npmrc" remote: npm ERR! node v0.12.2 remote: npm ERR! npm v2.7.4 remote: npm ERR! code ELIFECYCLE remote: remote: npm ERR! canvas@1.2.1 install: node-gyp rebuild remote: npm ERR! Exit status 1 remote: npm ERR! remote: npm ERR! Failed at the canvas@1.2.1 install script 'node-gyp rebuild'. remote: npm ERR! This is most likely a problem with the canvas package, remote: npm ERR! not with npm itself. remote: npm ERR! Tell the author that this fails on your system: remote: npm ERR! node-gyp rebuild remote: npm ERR! You can get their info via: remote: npm ERR! npm owner ls canvas remote: npm ERR! There is likely additional logging output above. remote: remote: npm ERR! Please include the following file with any support request: remote: npm ERR! /tmp/build_f71acef0a9e4c759981472f1b25b4da7/npm-debug.log remote: remote: -----> Build failed

mojodna commented 9 years ago

Just pushed a minor fix to not overwrite harfbuzz--give another shot while I read through the error message?

airhadoken commented 9 years ago

OK, I see the problem here. The pango include headers are at /app/vendor/pango/include/pango-1.0, but CPPPATH and CPATH is configured for the headers to be at /app/vendor/pango/include. Make those agree with each other and compliation should work.

mojodna commented 9 years ago

Yup, just spotted the same thing--pushing now.

airhadoken commented 9 years ago

(I think that heroku isn't recompiling my Canvas module, which is why it's still working for me)

mojodna commented 9 years ago

Just pushed again. @i-made-that another try?

mojodna commented 9 years ago

oh! @airhadoken thanks. That explains the "Tweaking" business that was necessary.

mojodna commented 9 years ago

@airhadoken https://github.com/mojodna/heroku-buildpack-cairo/commit/16474ae8f2a632bec0f0c0cd2587447c8dcc886e

rmagee88 commented 9 years ago

Successfully built!!

Thanks a ton @mojodna ... having some other errors in my app but think that's my own fault... really appreciate your help so quickly

airhadoken commented 9 years ago

Yeah, I had to edit paths before I even delivered the zip to you, but I didn't quite make that one agree with the way the others were laid out

mojodna commented 9 years ago

@rmagee88 glad to help. Did the last output include "Tweaking..."? If not, mind re-pushing?

@airhadoken aha. I didn't actually look :eyes: My goal is to keep the layouts as close to the default (currently successful) and to make sure that builds can happen automatically (hence Docker).

imjared commented 9 years ago

at a ball game and a little 🍻🍻 so can't test at the moment but wanted to throw in some thanks for taking a look into this. stoked to try it out

On Friday, April 17, 2015, Bradley Momberger notifications@github.com wrote:

Yeah, I had to edit paths before I even delivered the zip to you, but I didn't quite make that one agree with the way the others were laid out

— Reply to this email directly or view it on GitHub https://github.com/mojodna/heroku-buildpack-cairo/issues/6#issuecomment-94108143 .

rmagee88 commented 9 years ago

@mojodna Yep, includes 'Tweaking Cairo, FreeType, and Pixmon include paths' :fire:

mojodna commented 9 years ago

So much for cleaning up and fully relying on pkgconfig. Reverted and reintroduced the C/CPPPATH tweaks. Works on cedar-14 with a minimal test app.

mojodna commented 9 years ago

It won't work on cedar-10, but there's a warning message now. If you run into more issues, let me know, though in the meantime I'm closing this and merging the branch!!

@imjared enjoy the game!

arunshan commented 8 years ago

@mojodna I still get the same issue even after using this buildpack

Total 4309 (delta 1277), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Fetching set buildpack https://github.com/ddollar/heroku-buildpack-multi.git... done
remote: -----> Multipack app detected
remote: =====> Downloading Buildpack: https://github.com/mojodna/heroku-buildpack-cairo.git
remote: =====> Detected Framework: Cairo
remote: -----> Vendoring binaries
remote:        Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/cairo-1.14.2-1.tar.gz
remote:        Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/freetype-2.5.5-1.tar.gz
remote:        Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/giflib-4.2.3-2.tar.gz
remote:        Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/pixman-0.32.6-2.tar.gz
remote:        Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/pango-1.36.8-1.tar.gz
remote:        Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/harfbuzz-0.9.39-1.tar.gz
remote:        Fetching https://s3.amazonaws.com/mojodna-heroku/cedar-14/fontconfig-2.11.93-1.tar.gz
remote: -----> Tweaking Cairo, FreeType, and Pixman include paths
remote: -----> Configuring build environment
remote: -----> Building runtime environment
remote: NOTE: if you are experiencing problems, they may be resulting from a cached
remote: library referencing and older version of Cairo. To bypass this with the nodejs
remote: buildpack, set NODE_MODULES_CACHE=false to force node-canvas to be rebuilt
remote: against newer versions of the libraries.
remote: =====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-nodejs.git
remote: =====> Detected Framework: Node.js
remote: 
remote: -----> Creating runtime environment
remote:        
remote:        NPM_CONFIG_LOGLEVEL=error
remote:        NPM_CONFIG_PRODUCTION=true
remote:        NODE_ENV=production
remote:        NODE_MODULES_CACHE=true
remote: 
remote: -----> Installing binaries
remote:        engines.node (package.json):  unspecified
remote:        engines.npm (package.json):   unspecified (use default)
remote:        
remote:        Resolving node version (latest stable) via semver.io...
remote:        Downloading and installing node 5.4.0...
remote:        Using default npm version: 3.3.12
remote: 
remote: -----> Restoring cache
remote:        Skipping cache restore (new runtime signature)
remote: 
remote: -----> Building dependencies
remote:        Prebuild detected (node_modules already exists)
remote:        Rebuilding any native modules
remote:        
remote:        > canvas@1.3.7 install /tmp/build_3a964d1c675dd1005e44fa9af7dad952/node_modules/qrcode/node_modules/canvas
remote:        > node-gyp rebuild
remote:        
remote:        Package pangocairo was not found in the pkg-config search path.
remote:        Perhaps you should add the directory containing `pangocairo.pc'
remote:        to the PKG_CONFIG_PATH environment variable
remote:        No package 'pangocairo' found
remote:        gyp: Call to 'pkg-config pangocairo --libs' returned exit status 1. while trying to load binding.gyp
remote:        gyp ERR! configure error
remote:        gyp ERR! stack Error: `gyp` failed with exit code: 1
remote:        gyp ERR! stack     at ChildProcess.onCpExit (/tmp/build_3a964d1c675dd1005e44fa9af7dad952/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:355:16)
remote:        gyp ERR! stack     at emitTwo (events.js:87:13)
remote:        gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
remote:        gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
remote:        gyp ERR! System Linux 3.13.0-71-generic
remote:        gyp ERR! command "/tmp/build_3a964d1c675dd1005e44fa9af7dad952/.heroku/node/bin/node" "/tmp/build_3a964d1c675dd1005e44fa9af7dad952/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
remote:        gyp ERR! cwd /tmp/build_3a964d1c675dd1005e44fa9af7dad952/node_modules/qrcode/node_modules/canvas
remote:        gyp ERR! node -v v5.4.0
remote:        gyp ERR! node-gyp -v v3.0.3
remote:        gyp ERR! not ok
remote:        
remote:        npm ERR! Linux 3.13.0-71-generic
remote:        npm ERR! argv "/tmp/build_3a964d1c675dd1005e44fa9af7dad952/.heroku/node/bin/node" "/tmp/build_3a964d1c675dd1005e44fa9af7dad952/.heroku/node/bin/npm" "rebuild"
remote:        npm ERR! node v5.4.0
remote:        npm ERR! npm  v3.3.12
remote:        npm ERR! code ELIFECYCLE
remote:        npm ERR! canvas@1.3.7 install: `node-gyp rebuild`
remote:        npm ERR! Exit status 1
remote:        npm ERR!
remote:        npm ERR! Failed at the canvas@1.3.7 install script 'node-gyp rebuild'.
remote:        npm ERR! Make sure you have the latest version of node.js and npm installed.
remote:        npm ERR! If you do, this is most likely a problem with the canvas package,
remote:        npm ERR! not with npm itself.
remote:        npm ERR! Tell the author that this fails on your system:
remote:        npm ERR!     node-gyp rebuild
remote:        npm ERR! You can get their info via:
remote:        npm ERR!     npm owner ls canvas
remote:        npm ERR! There is likely additional logging output above.
remote:        
remote:        npm ERR! Please include the following file with any support request:
remote:        npm ERR!     /tmp/build_3a964d1c675dd1005e44fa9af7dad952/npm-debug.log
remote: 
remote: -----> Build failed
remote:        
remote:        We're sorry this build is failing! You can troubleshoot common issues here:
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:        
remote:        Some possible problems:
remote:        
remote:        - node_modules checked into source control
remote:        https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git
remote:        
remote:        - Node version not specified in package.json
remote:        https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
remote:        
remote:        Love,
remote:        Heroku
remote:        
remote: 
remote:  !     Push rejected, failed to compile Multipack app
remote: 
remote: Verifying deploy...
remote: 
arunshan commented 8 years ago

Ok got it. Remove the PKG_CONFIG_PATH in the app. Nice work guys.