h2non / imaginary

Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
https://fly.io/docs/app-guides/run-a-global-image-service/
MIT License
5.51k stars 456 forks source link

"Deploy to Heroku" button crashes on build #134

Open naffiq opened 7 years ago

naffiq commented 7 years ago

Hi! Just found this app and was hoping to test it asap by deploying it to heroku, but got this message on build step:

-----> Go app detected
-----> Installing libvips
       Downloading libvips and unpacking
       libvips installed
-----> Installing go1.8... done
       Tired of waiting for bzr and hg?
       Try github.com/kr/godep for faster deploys.
       Installing Virtualenv... done
       Installing Mercurial... done
       Installing Bazaar... done
-----> Running: go get -tags heroku ./...
# gopkg.in/h2non/bimg.v1
/usr/bin/ld: warning: libIlmImf.so.6, needed by /app/vendor/vips/lib/libvips.so, not found (try using -rpath or -rpath-link)
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfCloseTiledInputFile'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfHalfToFloat'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfTiledInputReadTile'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfHalfToFloatArray'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfOpenInputFile'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfErrorMessage'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfTiledInputHeader'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfOutputWritePixels'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfFloatToHalf'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfOutputSetFrameBuffer'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfTiledInputSetFrameBuffer'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfHeaderSetLineOrder'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfInputReadPixels'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfOpenTiledInputFile'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfHeaderDataWindow'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfHeaderSetDataWindow'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfHeaderSetCompression'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfInputSetFrameBuffer'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfOpenOutputFile'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfTiledInputTileXSize'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfHeaderDisplayWindow'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfDeleteHeader'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfHeaderSetDisplayWindow'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfInputHeader'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfNewHeader'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfCloseInputFile'
/app/vendor/vips/lib/libvips.so: undefined reference to `ImfTiledInputTileYSize'
/app/vendor/vips/lib/libMagickCore-6.Q16.so.2: undefined reference to `ImfCloseOutputFile'
collect2: error: ld returned 1 exit status
 !     Push rejected, failed to compile Go app.
 !     Push failed

Looks like it didn't get the libvps dependencies, but I'm not sure.

kirillDanshin commented 7 years ago

thanks for reporting, checking out

cbou commented 7 years ago

Is there any news on this issue?

h2non commented 7 years ago

I had no time to test this, but I'm sure it's related to an outdated buildpack.

cbou commented 7 years ago

I send a PR to heroku-buildpack-imaginary which should fix this issue. https://github.com/h2non/heroku-buildpack-imaginary/pull/1

I only added the following files (libHalf.so.6, libIex.so.6, libIlmImf.so.6, libIlmThread.so.6 and libImath.so.6) to the .tar.gz.

cbou commented 7 years ago

Maybe we should find a better location than my dropbox for it. Why not Github?

mkmpvtltd1 commented 6 years ago

crashing deploying is still exists

h2non commented 6 years ago

Yeah, I know. A different strategy needs to be used here. The current libvips instrumentation does work in newest Heroku dynos. I don't know when I would have time for this since I'm not using imaginary in Heroku anymore.

Waterloo commented 6 years ago

Is there any fix

danbachar commented 5 years ago

neither the button works nor the manual steps, any news on this? same error here

bago commented 5 years ago

I confirm heroku deploy doesn't work.

egeersoz commented 5 years ago

Any news on this?

webjoaoneto commented 4 years ago

Build on heroku still fails with:

-----> Go app detected
-----> Installing libvips
       Downloading libvips and unpacking
       libvips installed
-----> Installing go1.8... done
-----> Running: go get -tags heroku ./...
# 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
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
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
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
pkg-config: exit status 1
 !     Push rejected, failed to compile Go app.
 !     Push failed
tkorkunckaya commented 4 years ago

Updating current status: Same error continues, build does not work on heroku.

-----> Go app detected -----> Installing libvips Downloading libvips and unpacking libvips installed -----> Installing go1.8... done -----> Running: go get -tags heroku ./... package gopkg.in/throttled/throttled.v2: code in directory /tmp/build_2fe8cce863b11c1f0fad1b0a7128fb26/.heroku/g/src/gopkg.in/throttled/throttled.v2 expects import "github.com/throttled/throttled" package gopkg.in/throttled/throttled.v2/store/memstore: code in directory /tmp/build_2fe8cce863b11c1f0fad1b0a7128fb26/.heroku/g/src/gopkg.in/throttled/throttled.v2/store/memstore expects import "github.com/throttled/throttled/store/memstore" ! Push rejected, failed to compile Go app. ! Push failed