Deploying sites with Jekyll Picture Tag plugin

Hi,
I am building my site with Jekyll (v4.0) and migrated it from GitHub pages to Netlify. I did a first deployment to Netlify and everything worked. Because I have plenty of images one of the most used Jekyll plugins to handle responsive images is Jekyll Picture Tag (JPT). But it is a bit more complicated than it looks like.

Here is the list of my failed attempts so far:

With JPT v1
My deployment failed. According to @rbuchberger (who maintains the plugin), Netlify’s build image apparently contains libvips, but not some of the delegates it needs to handle various image formats (png and webp, for example).

Issues related to libvips have been raised here in the forum previously.

For that specific deployment, I was combining webp & png formats, which could be probably the failing cause (I am not 100% sure though).

With JPT v2
I updated JPT in my installation to its newest version 2. The deployment failed again, but the log I got looked different:

5:51:16 PM: Build ready to start
5:51:20 PM: build-image version: be42e453d6c8f171cc2f654acc29c0a8b60e6d93
5:51:20 PM: build-image tag: v3.7.1
5:51:20 PM: buildbot version: 746e1678cac5f8b3f4105502207986ec93202557
5:51:20 PM: Fetching cached dependencies
5:51:20 PM: Starting to download cache of 345.0MB
5:51:22 PM: Finished downloading cache in 1.853295672s
5:51:22 PM: Starting to extract cache
5:51:27 PM: Finished extracting cache in 5.294706628s
5:51:27 PM: Finished fetching cache in 7.28236872s
5:51:27 PM: Starting to prepare the repo for build
5:51:27 PM: Preparing Git Reference pull/118/head
5:51:28 PM: Parsing package.json dependencies
5:51:29 PM: Different publish path detected, going to use the one specified in the Netlify configuration file: '_site' versus '_site/' in the Netlify UI
5:51:30 PM: Starting build script
5:51:30 PM: Installing dependencies
5:51:30 PM: Python version set to 2.7
5:51:30 PM: Started restoring cached node version
5:51:33 PM: Finished restoring cached node version
5:51:34 PM: v12.18.0 is already installed.
5:51:34 PM: Now using node v12.18.0 (npm v6.14.4)
5:51:34 PM: Started restoring cached build plugins
5:51:34 PM: Finished restoring cached build plugins
5:51:35 PM: Attempting ruby version 2.7.1, read from environment
5:51:36 PM: Using ruby version 2.7.1
5:51:36 PM: Using PHP version 5.6
5:51:36 PM: Started restoring cached ruby gems
5:51:36 PM: Finished restoring cached ruby gems
5:51:36 PM: Installing gem bundle
5:51:37 PM: [DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local path '/opt/build/cache/bundle'`, and stop using this flag
5:51:37 PM: [DEPRECATED] The --binstubs option will be removed in favor of `bundle binstubs --all`
5:51:39 PM: Fetching gem metadata from https://rubygems.org/..........
5:51:40 PM: Resolving dependencies......
5:51:40 PM: Using public_suffix 4.0.6
5:51:40 PM: Using bundler 2.2.15
5:51:40 PM: Using colorator 1.1.0
5:51:40 PM: Using concurrent-ruby 1.1.8
5:51:40 PM: Using eventmachine 1.2.7
5:51:40 PM: Using http_parser.rb 0.6.0
5:51:40 PM: Using ffi 1.15.0
5:51:40 PM: Using forwardable-extended 2.6.0
5:51:40 PM: Using hike 1.2.3
5:51:40 PM: Using rb-fsevent 0.10.4
5:51:40 PM: Using rexml 3.2.4
5:51:40 PM: Using liquid 4.0.3
5:51:40 PM: Using mercenary 0.3.6
5:51:40 PM: Using rouge 3.26.0
5:51:40 PM: Using safe_yaml 1.0.5
5:51:40 PM: Using unicode-display_width 1.7.0
5:51:40 PM: Using mini_magick 4.11.0
5:51:40 PM: Using multi_json 1.15.0
5:51:40 PM: Using rack 1.6.13
5:51:40 PM: Using tilt 1.4.1
5:51:40 PM: Using racc 1.5.2
5:51:40 PM: Fetching objective_elements 1.1.2
5:51:40 PM: Fetching mime-types-data 3.2021.0225
5:51:40 PM: Fetching rainbow 3.0.0
5:51:40 PM: Using addressable 2.7.0
5:51:40 PM: Using i18n 1.8.9
5:51:40 PM: Using sassc 2.4.0
5:51:40 PM: Using rb-inotify 0.10.1
5:51:40 PM: Fetching ruby-vips 2.0.17
5:51:40 PM: Using kramdown 2.3.1
5:51:40 PM: Using pathutil 0.16.2
5:51:40 PM: Using em-websocket 0.5.2
5:51:40 PM: Using terminal-table 1.8.0
5:51:40 PM: Using fastimage 1.8.1
5:51:40 PM: Using jekyll-sass-converter 2.1.0
5:51:40 PM: Fetching listen 3.5.0
5:51:40 PM: Using sass-listen 4.0.0
5:51:40 PM: Using sprockets 2.12.5
5:51:40 PM: Using nokogiri 1.11.2 (x86_64-linux)
5:51:40 PM: Using sass 3.7.4
5:51:40 PM: Using kramdown-parser-gfm 1.1.0
5:51:40 PM: Using sprockets-helpers 1.4.0
5:51:40 PM: Using sprockets-sass 1.3.1
5:51:41 PM: Installing objective_elements 1.1.2
5:51:41 PM: Installing rainbow 3.0.0
5:51:41 PM: Installing listen 3.5.0
5:51:41 PM: Installing ruby-vips 2.0.17
5:51:41 PM: Installing mime-types-data 3.2021.0225
5:51:41 PM: Using jekyll-watch 2.2.1
5:51:41 PM: Using jekyll 4.0.1
5:51:41 PM: Using jekyll-assets 1.0.0
5:51:41 PM: Using jekyll-feed 0.15.1
5:51:41 PM: Using jekyll-loading-lazy 0.1.1
5:51:41 PM: Fetching mime-types 3.3.1
5:51:41 PM: Installing mime-types 3.3.1
5:51:41 PM: Fetching jekyll_picture_tag 2.0.0
5:51:41 PM: Installing jekyll_picture_tag 2.0.0
5:51:41 PM: Bundle complete! 5 Gemfile dependencies, 50 gems now installed.
5:51:41 PM: Bundled gems are installed into `/opt/build/cache/bundle`
5:51:41 PM: Gem bundle installed
5:51:41 PM: Started restoring cached go cache
5:51:41 PM: Finished restoring cached go cache
5:51:41 PM: go version go1.14.4 linux/amd64
5:51:41 PM: go version go1.14.4 linux/amd64
5:51:41 PM: Installing missing commands
5:51:41 PM: Verify run directory
5:51:43 PM: ​
5:51:43 PM: ────────────────────────────────────────────────────────────────
5:51:43 PM:   Netlify Build                                                 
5:51:43 PM: ────────────────────────────────────────────────────────────────
5:51:43 PM: ​
5:51:43 PM: ❯ Version
5:51:43 PM:   @netlify/build 9.17.1
5:51:43 PM: ​
5:51:43 PM: ❯ Flags
5:51:43 PM:   apiHost: api.netlify.com
5:51:43 PM:   cacheDir: /opt/build/cache
5:51:43 PM:   deployId: 6060fa54f30d290008b4d791
5:51:43 PM:   mode: buildbot
5:51:43 PM:   testOpts:
5:51:43 PM:     silentLingeringProcesses: ''
5:51:43 PM: ​
5:51:43 PM: ❯ Current directory
5:51:43 PM:   /opt/build/repo
5:51:43 PM: ​
5:51:43 PM: ❯ Config file
5:51:43 PM:   No config file was defined: using default values.
5:51:43 PM: ​
5:51:43 PM: ❯ Context
5:51:43 PM:   deploy-preview
5:51:43 PM: ​
5:51:43 PM: ────────────────────────────────────────────────────────────────
5:51:43 PM:   1. Build command from Netlify app                             
5:51:43 PM: ────────────────────────────────────────────────────────────────
5:51:43 PM: ​
5:51:43 PM: $ jekyll build
5:51:44 PM: Configuration file: /opt/build/repo/_config.yml
5:51:45 PM:             Source: /opt/build/repo
5:51:45 PM:        Destination: /opt/build/repo/_site
5:51:45 PM:  Incremental build: disabled. Enable with --incremental
5:51:45 PM:       Generating...
5:51:45 PM:        Jekyll Feed: Generating feed for posts
5:51:45 PM: Generating new image file: case-uigu-myrole-800-480688f94.webp
5:51:45 PM: Generating new image file: case-uigu-myrole-400-480688f94.webp
5:51:45 PM: Generating new image file: case-uigu-myrole-600-480688f94.webp
5:51:45 PM: Generating new image file: case-uigu-myrole-1000-480688f94.webp


5:51:57 PM: Generating new image file: case-oned-styling-toolbar-v2-800-564a2a8b3.webp
5:51:57 PM: Generating new image file: case-oned-styling-toolbar-v2-400-564a2a8b3.webp
5:51:57 PM: Generating new image file: case-oned-styling-toolbar-v2-600-564a2a8b3.webp
5:51:58 PM: Generating new image file: case-oned-styling-toolbar-v2-1000-564a2a8b3.webp
5:51:58 PM: vips warning: webp: unable to read image metadata
5:51:58 PM: Generating new image file: case-micr-cover-800-eed0928ff.webp
5:51:58 PM: vips warning: webp: unable to read image metadata
5:51:58 PM: vips warning: webp: unable to read image metadata
5:51:58 PM:   Liquid Exception: VipsOperation: class "magicksave" not found in /_layouts/case.html
5:51:58 PM:                     ------------------------------------------------
5:51:58 PM:       Jekyll 4.0.1   Please append `--trace` to the `build` command 
5:51:58 PM:                      for any additional information or backtrace. 
5:51:58 PM:                     ------------------------------------------------
5:51:58 PM: /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/operation.rb:180:in `initialize': VipsOperation: class "magicksave" not found (Vips::Error)
5:51:58 PM: 	from /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/operation.rb:55:in `new'	from /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/operation.rb:55:in `initialize'	from /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/operation.rb:145:in `new'	from /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/operation.rb:145:in `get'	from /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/operation.rb:327:in `call'	from /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:211:in `method_missing'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/image_file.rb:62:in `rescue in write'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/image_file.rb:54:in `write'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/image_file.rb:26:in `build'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/image_file.rb:10:in `initialize'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/generated_image.rb:81:in `new'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/generated_image.rb:81:in `generate_image'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/generated_image.rb:25:in `generate'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/output_formats/basic.rb:82:in `build_fallback_image'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/output_formats/basic.rb:21:in `build_base_img'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/output_formats/img.rb:15:in `base_markup'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/output_formats/basic.rb:10:in `to_s'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag.rb:71:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:46:in `block (2 levels) in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `each'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `block in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:43:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/tags/include.rb:125:in `block in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/tags/include.rb:122:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:127:in `render_liquid'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:196:in `render_layout'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:159:in `place_in_layouts'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:89:in `render_document'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:63:in `run'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:523:in `render_regenerated'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:509:in `block (2 levels) in render_docs'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:508:in `each'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:508:in `block in render_docs'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:507:in `each_value'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:507:in `render_docs'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:201:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:76:in `process'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:28:in `process_site'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/commands/build.rb:65:in `build'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/commands/build.rb:36:in `process'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `block in process_with_graceful_fail'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `each'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `process_with_graceful_fail'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/exe/jekyll:15:in `<top (required)>'	from /opt/build/cache/binstubs/jekyll:29:in `load'	from /opt/build/cache/binstubs/jekyll:29:in `<main>'/opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/operation.rb:190:in `build': webp2vips: unable to read pixels (Vips::Error)VipsRegion: valid clipped to nothing
5:51:58 PM: VipsRegion: valid clipped to nothing
5:51:58 PM: VipsRegion: valid clipped to nothing
5:51:58 PM: VipsRegion: valid clipped to nothing
5:51:58 PM: VipsRegion: valid clipped to nothing
5:51:58 PM: VipsRegion: valid clipped to nothing
5:51:58 PM: VipsRegion: valid clipped to nothing
5:51:58 PM: 	from /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/operation.rb:402:in `call'	from /opt/build/cache/bundle/ruby/2.7.0/gems/ruby-vips-2.0.17/lib/vips/image.rb:469:in `write_to_file'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/image_file.rb:55:in `write'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/image_file.rb:26:in `build'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/image_file.rb:10:in `initialize'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/generated_image.rb:81:in `new'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/generated_image.rb:81:in `generate_image'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/images/generated_image.rb:25:in `generate'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/output_formats/basic.rb:82:in `build_fallback_image'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/output_formats/basic.rb:21:in `build_base_img'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/output_formats/img.rb:15:in `base_markup'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag/output_formats/basic.rb:10:in `to_s'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll_picture_tag-2.0.0/lib/jekyll_picture_tag.rb:71:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:46:in `block (2 levels) in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `each'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:44:in `block in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/tags/if.rb:43:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:82:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/tags/include.rb:125:in `block in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/context.rb:123:in `stack'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/tags/include.rb:122:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:103:in `render_node_to_output'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/block_body.rb:91:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:208:in `block in render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:242:in `with_profiling'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:207:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/liquid-4.0.3/lib/liquid/template.rb:220:in `render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:127:in `render_liquid'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:196:in `render_layout'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:159:in `place_in_layouts'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:89:in `render_document'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/renderer.rb:63:in `run'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:523:in `render_regenerated'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:509:in `block (2 levels) in render_docs'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:508:in `each'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:508:in `block in render_docs'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:507:in `each_value'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:507:in `render_docs'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:201:in `render'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/site.rb:76:in `process'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:28:in `process_site'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/commands/build.rb:65:in `build'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/commands/build.rb:36:in `process'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `block in process_with_graceful_fail'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `each'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/command.rb:89:in `process_with_graceful_fail'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'	from /opt/build/cache/bundle/ruby/2.7.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'	from /opt/build/cache/bundle/ruby/2.7.0/gems/jekyll-4.0.1/exe/jekyll:15:in `<top (required)>'	from /opt/build/cache/binstubs/jekyll:29:in `load'	from /opt/build/cache/binstubs/jekyll:29:in `<main>'​
5:51:58 PM: ────────────────────────────────────────────────────────────────
5:51:58 PM:   "build.command" failed                                        
5:51:58 PM: ────────────────────────────────────────────────────────────────
5:51:58 PM: ​
5:51:58 PM:   Error message
5:51:58 PM:   Command failed with exit code 1: jekyll build
5:51:58 PM: ​
5:51:58 PM:   Error location
5:51:58 PM:   In Build command from Netlify app:
5:51:58 PM:   jekyll build
5:51:58 PM: ​
5:51:58 PM:   Resolved config
5:51:58 PM:   build:
5:51:58 PM:     command: jekyll build
5:51:58 PM:     commandOrigin: ui
5:51:58 PM:     environment:
5:51:58 PM:       - REVIEW_ID
5:51:58 PM:     publish: /opt/build/repo/_site
5:51:58 PM: Caching artifacts
5:51:58 PM: Started saving ruby gems
5:51:58 PM: Finished saving ruby gems
5:51:58 PM: Started saving build plugins
5:51:58 PM: Finished saving build plugins
5:51:58 PM: Started saving pip cache
5:51:58 PM: Finished saving pip cache
5:51:58 PM: Started saving emacs cask dependencies
5:51:58 PM: Finished saving emacs cask dependencies
5:51:58 PM: Started saving maven dependencies
5:51:58 PM: Finished saving maven dependencies
5:51:58 PM: Started saving boot dependencies
5:51:58 PM: Finished saving boot dependencies
5:51:58 PM: Started saving rust rustup cache
5:51:58 PM: Finished saving rust rustup cache
5:51:58 PM: Started saving go dependencies
5:51:58 PM: Finished saving go dependencies
5:51:58 PM: Build failed due to a user error: Build script returned non-zero exit code: 2
5:51:58 PM: Failing build: Failed to build site
5:51:58 PM: Failed during stage 'building site': Build script returned non-zero exit code: 2
5:51:58 PM: Finished processing build request in 38.770231977s

For this specific deployment all images were in webp format, so I am a bit confused right now. It seems the issue is related to libvips, but I need to confirm it.

If you know how I could solve this specific issue, please share it. Any help would be appreciated.

In any case, if you have a similar configuration as I do, please share here how are you handling responsive images with JPT. In the meantime let’s see if we get Netlify’s attention on this :slightly_smiling_face:

Good job on upgrading the version from our default!

The second error appears to be:

5:51:58 PM: Liquid Exception: VipsOperation: class "magicksave" not found in /_layouts/case.html

Following advice from a similar topic like this, you will want to ensure that libvps is built correctly (up-to-date, correct parameters etc).

Unfortunately, this veers very far left from Netlify and our build infra. It might be one you wish to ask the original devs on. But, my hunch matches your hunch that this is something awry with libvips.

2 Likes

Also wanted to point this out:

You said you use version 4.0 locally - we don’t even have that in our build image (cf build-image/included_software.md at xenial Β· netlify/build-image Β· GitHub), but you could get a lot closer than 2.7 - for instance, 3.7 might work better since it’s a lot closer to 4 :slight_smile:

Configuration instructions for that: Manage build dependencies | Netlify Docs

1 Like