lovell / sharp-libvips

Packaging scripts to prebuild libvips and its dependencies - you're probably looking for https://github.com/lovell/sharp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Where do the tarballs go?

zoellner opened this issue · comments

Got a stupid question: I'm running ./build.sh 8.14.5 linux-x64 on a pretty fresh EC2 instance and it builds without any errors.
But where do those tarballs actually end up at?

I'm trying to update to the latest libraries at https://github.com/zoellner/sharp-heic-lambda-layer but the build scripts that used to work no longer produce a useful lambda layer. When using the libvips I compile (even without any additional libheif/libwebp) I just end up with Error: Runtime exited with error: signal: segmentation fault Runtime.ExitError errors in node. So I wanted to attempt to use the build scripts from this repo as a test.

The tarballs should end up in the current working directory (mapped as /packaging inside the containers).

The latest code on the main branch is for generating binaries for use with the forthcoming sharp v0.33.0 and may not work with any existing published version. You might have more luck going back to commit 7e3e1d3 and trying from there.

There have been a couple of breaking changes in the latest libheif 1.17.x releases so I'd recommend pinning to its previous 1.16.2 release for now.

Thank you. That's where I was expecting them but they weren't created. I'll try the commit you referenced.

Thank you regarding the libheif comment. Unfortunately that didn't help. I get the libraries itself to compile and work just fine (using the libheif examples or vips command line tool), just not in combination with node/sharp

Looking at commit zoellner/sharp-heic-lambda-layer@1da2866, I think you'll need also to specify --prefix=$(PREFIX_PATH) --libdir=lib --buildtype=release while configuring libvips. This will ensure that libvips remains to be installed in the /opt/lib directory and is built optimized.

For libheif, you might need to do something similar, so: -DCMAKE_INSTALL_PREFIX=$(PREFIX_PATH) -DCMAKE_INSTALL_LIBDIR=lib instead of -DCMAKE_INSTALL_LIBDIR=$(LIB_PATH) (since the $(LIB_PATH) variable doesn't seem to be defined in that Makefile).

I hope this information helped. Please feel free to re-open with more details if further assistance is required.