Giter VIP home page Giter VIP logo

wasm-thumbnail's People

Contributors

dependabot[bot] avatar evq avatar tackley avatar thypon avatar tsmartt avatar xtat avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

wasm-thumbnail's Issues

Reject .webp inputs

The ideal workflow for users of this component is:

  1. User uploads a JPEG|GIF|PNG
  2. wasm-thumbnail converts to WEBP

so that we are guaranteed not to host the exact bytes that a user uploaded (i.e. we force a conversion between image formats).

At the moment, the Rust code will accept input images in any of the supported formats.

Incompatible with 1.71.0

The build breaks with the latest rust, here are the logs from creators when attempting to build with 1.71.0


110.7     current directory: /usr/local/bundle/bundler/gems/wasmer-ruby-dab7d537748c
110.7 /usr/local/bin/ruby -I/usr/local/lib/ruby/3.0.0 -rrubygems
110.7 /usr/local/bundle/gems/rake-13.0.6/exe/rake
110.7 RUBYARCHDIR\=/usr/local/bundle/bundler/gems/extensions/x86_64-linux/3.0.0/wasmer-ruby-dab7d537748c
110.7 RUBYLIBDIR\=/usr/local/bundle/bundler/gems/extensions/x86_64-linux/3.0.0/wasmer-ruby-dab7d537748c
110.7 cargo build --release --manifest-path crates/wasmer/Cargo.toml
110.7     Updating crates.io index
110.7  Downloading crates ...
110.7   Downloaded fnv v1.0.7
110.7   Downloaded ghost v0.1.2
110.7   Downloaded serde_bytes v0.11.5
110.7   Downloaded unicode-xid v0.2.2
110.7   Downloaded wasmer-engine-dylib v2.0.0
110.7   Downloaded serde_derive v1.0.126
110.7   Downloaded wasmer v2.0.0
110.7   Downloaded tracing v0.1.26
110.7   Downloaded serde v1.0.126
110.7   Downloaded hashbrown v0.11.2
110.7   Downloaded erased-serde v0.3.16
110.7   Downloaded regalloc v0.0.31
110.7   Downloaded cranelift-codegen-meta v0.74.0
110.7   Downloaded rayon v1.5.1
110.7   Downloaded tempfile v3.2.0
110.7   Downloaded syn v1.0.73
110.7   Downloaded cranelift-bforest v0.74.0
110.7   Downloaded wasmparser v0.78.2
110.7   Downloaded darling_core v0.12.4
110.7   Downloaded enumset_derive v0.5.4
110.7   Downloaded cc v1.0.68
110.7   Downloaded backtrace v0.3.60
110.7   Downloaded rand v0.8.4
110.7   Downloaded anyhow v1.0.41
110.7   Downloaded addr2line v0.15.2
110.7   Downloaded generational-arena v0.2.8
110.7   Downloaded wasmer-object v2.0.0
110.7   Downloaded wasmer-derive v2.0.0
110.7   Downloaded indexmap v1.7.0
110.7   Downloaded enumset v1.0.6
110.7   Downloaded wasmer-compiler-cranelift v2.0.0
110.7   Downloaded wasmer-vm v2.0.0
110.7   Downloaded wasmer-wasi-types v2.0.0
110.7   Downloaded which v4.1.0
110.7   Downloaded wasmprinter v0.2.27
110.7   Downloaded rutie v0.8.2
110.7   Downloaded wast v36.0.0
110.7   Downloaded wasmparser v0.79.0
110.7   Downloaded target-lexicon v0.12.0
110.7   Downloaded more-asserts v0.2.1
110.7   Downloaded cranelift-entity v0.74.0
110.7   Downloaded leb128 v0.2.4
110.7   Downloaded wat v1.0.38
110.7   Downloaded wasmer-wasi v2.0.0
110.7   Downloaded typetag-impl v0.1.7
110.7   Downloaded rkyv v0.6.7
110.7   Downloaded object v0.25.3
110.7   Downloaded memchr v2.4.0
110.7   Downloaded wasmer-types v2.0.0
110.7   Downloaded rkyv_derive v0.6.7
110.7   Downloaded wasmer-engine-universal v2.0.0
110.7   Downloaded wasmer-compiler v2.0.0
110.7   Downloaded cranelift-codegen v0.74.0
110.7   Downloaded typetag v0.1.7
110.7   Downloaded gimli v0.24.0
110.7   Downloaded crossbeam-channel v0.5.1
110.7   Downloaded ptr_meta_derive v0.1.2
110.7   Downloaded libc v0.2.97
110.7   Downloaded ident_case v1.0.1
110.7   Downloaded darling_macro v0.12.4
110.7   Downloaded cfg-if v1.0.0
110.7   Downloaded byteorder v1.4.3
110.7   Downloaded bitflags v1.2.1
110.7   Downloaded bincode v1.3.3
110.7   Downloaded seahash v4.1.0
110.7   Downloaded rayon-core v1.9.1
110.7   Downloaded wasmer-engine v2.0.0
110.7   Downloaded version_check v0.9.3
110.7   Downloaded tracing-core v0.1.18
110.7   Downloaded tracing-attributes v0.1.15
110.7   Downloaded time v0.1.43
110.7   Downloaded thiserror-impl v1.0.25
110.7   Downloaded thiserror v1.0.25
110.7   Downloaded strsim v0.10.0
110.7   Downloaded smallvec v1.6.1
110.7   Downloaded rand_core v0.6.3
110.7   Downloaded miniz_oxide v0.4.4
110.7   Downloaded stable_deref_trait v1.2.0
110.7   Downloaded scopeguard v1.1.0
110.7   Downloaded rustversion v1.0.5
110.7   Downloaded rustc-hash v1.1.0
110.7   Downloaded rustc-demangle v0.1.20
110.7   Downloaded region v2.2.0
110.7   Downloaded rand_chacha v0.3.1
110.7   Downloaded quote v1.0.9
110.7   Downloaded proc-macro2 v1.0.27
110.7   Downloaded proc-macro-error v1.0.4
110.7   Downloaded ppv-lite86 v0.2.10
110.7   Downloaded pin-project-lite v0.2.7
110.7   Downloaded paste v1.0.5
110.7   Downloaded memmap2 v0.2.3
110.7   Downloaded loupe v0.1.3
110.7   Downloaded log v0.4.14
110.7   Downloaded libloading v0.7.0
110.7   Downloaded getrandom v0.2.3
110.7   Downloaded crossbeam-epoch v0.9.5
110.7   Downloaded remove_dir_all v0.5.3
110.7   Downloaded ptr_meta v0.1.3
110.7   Downloaded proc-macro-error-attr v1.0.4
110.7   Downloaded num_cpus v1.13.0
110.7   Downloaded memoffset v0.6.4
110.7   Downloaded loupe-derive v0.1.3
110.7   Downloaded lazy_static v1.4.0
110.7   Downloaded inventory-impl v0.1.10
110.7   Downloaded inventory v0.1.10
110.7   Downloaded fallible-iterator v0.2.0
110.7   Downloaded either v1.6.1
110.7   Downloaded ctor v0.1.20
110.7   Downloaded cranelift-frontend v0.74.0
110.7   Downloaded crossbeam-utils v0.8.5
110.7   Downloaded crossbeam-deque v0.8.0
110.7   Downloaded crc32fast v1.2.1
110.7   Downloaded darling v0.12.4
110.7   Downloaded cranelift-codegen-shared v0.74.0
110.7   Downloaded cfg-if v0.1.10
110.7   Downloaded autocfg v1.0.1
110.7   Downloaded adler v1.0.2
110.7    Compiling proc-macro2 v1.0.27
110.7    Compiling unicode-xid v0.2.2
110.7    Compiling syn v1.0.73
110.7    Compiling autocfg v1.0.1
110.7    Compiling cfg-if v1.0.0
110.7    Compiling serde_derive v1.0.126
110.7    Compiling libc v0.2.97
110.7    Compiling serde v1.0.126
110.7    Compiling hashbrown v0.11.2
110.7    Compiling lazy_static v1.4.0
110.7    Compiling cc v1.0.68
110.7    Compiling rustversion v1.0.5
110.7    Compiling fallible-iterator v0.2.0
110.7    Compiling stable_deref_trait v1.2.0
110.7    Compiling indexmap v1.7.0
110.7    Compiling memoffset v0.6.4
110.7    Compiling strsim v0.10.0
110.7    Compiling quote v1.0.9
110.7    Compiling ident_case v1.0.1
110.7    Compiling rkyv v0.6.7
110.7    Compiling crc32fast v1.2.1
110.7    Compiling fnv v1.0.7
110.7    Compiling memchr v2.4.0
110.7    Compiling miniz_oxide v0.4.4
110.7    Compiling seahash v4.1.0
110.7    Compiling target-lexicon v0.12.0
110.7    Compiling bitflags v1.2.1
110.7    Compiling backtrace v0.3.60
110.7    Compiling adler v1.0.2
110.7    Compiling smallvec v1.6.1
110.7    Compiling wasmer-vm v2.0.0
110.7    Compiling rustc-demangle v0.1.20
110.7    Compiling log v0.4.14
110.7    Compiling crossbeam-utils v0.8.5
110.7    Compiling region v2.2.0
110.7    Compiling more-asserts v0.2.1
110.7    Compiling version_check v0.9.3
110.7    Compiling wasmparser v0.78.2
110.7    Compiling crossbeam-epoch v0.9.5
110.7    Compiling cranelift-entity v0.74.0
110.7    Compiling cranelift-codegen-shared v0.74.0
110.7    Compiling getrandom v0.2.3
110.7    Compiling cranelift-codegen-meta v0.74.0
110.7    Compiling scopeguard v1.1.0
110.7    Compiling rayon-core v1.9.1
110.7    Compiling rand_core v0.6.3
110.7    Compiling proc-macro-error-attr v1.0.4
110.7    Compiling either v1.6.1
110.7    Compiling ppv-lite86 v0.2.10
110.7    Compiling leb128 v0.2.4
110.7    Compiling rustc-hash v1.1.0
110.7    Compiling regalloc v0.0.31
110.7    Compiling crossbeam-deque v0.8.0
110.7    Compiling proc-macro-error v1.0.4
110.7    Compiling rand_chacha v0.3.1
110.7    Compiling cranelift-bforest v0.74.0
110.7    Compiling crossbeam-channel v0.5.1
110.7    Compiling num_cpus v1.13.0
110.7    Compiling memmap2 v0.2.3
110.7    Compiling darling_core v0.12.4
110.7    Compiling rayon v1.5.1
110.7    Compiling tracing-core v0.1.18
110.7    Compiling pin-project-lite v0.2.7
110.7    Compiling rand v0.8.4
110.7    Compiling inventory v0.1.10
110.7    Compiling erased-serde v0.3.16
110.7    Compiling remove_dir_all v0.5.3
110.7    Compiling wasmer-compiler-cranelift v2.0.0
110.7    Compiling tempfile v3.2.0
110.7    Compiling wast v36.0.0
110.7    Compiling which v4.1.0
110.7    Compiling ptr_meta_derive v0.1.2
110.7    Compiling rkyv_derive v0.6.7
110.7    Compiling ptr_meta v0.1.3
110.7    Compiling thiserror-impl v1.0.25
110.7    Compiling loupe-derive v0.1.3
110.7    Compiling darling_macro v0.12.4
110.7    Compiling tracing-attributes v0.1.15
110.7    Compiling thiserror v1.0.25
110.7    Compiling inventory-impl v0.1.10
110.7    Compiling darling v0.12.4
110.7    Compiling enumset_derive v0.5.4
110.7    Compiling ctor v0.1.20
110.7    Compiling tracing v0.1.26
110.7 error: internal compiler error: no errors encountered even though
110.7 `delay_span_bug` issued
110.7
110.7 error: internal compiler error: broken MIR in Item(DefId(0:1502 ~
110.7 rkyv[4a08]::std_impl::{impl#47}::deserialize)) (after phase change to
110.7 runtime-optimized) at bb0[27]:
110.7 Field projection `(*_19).1` specified type
110.7 `u32`, but actual type is `<[<T as Archive>::Archived] as
110.7 ArchivePointee>::ArchivedMetadata`
110.7 -->
110.7 /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rkyv-0.6.7/src/lib.rs:765:77
110.7     |
110.7 765 |         ptr_meta::from_raw_parts(self.raw_ptr.as_ptr(),
110.7 T::pointer_metadata(&self.metadata))
110.7 |
110.7 ^^^^^^^^^^^^^^
110.7     |
110.7 = note: delayed at
110.7 compiler/rustc_const_eval/src/transform/validate.rs:354:30
110.7                0: <rustc_errors::HandlerInner>::emit_diagnostic
110.7 1:
110.7 <rustc_errors::Handler>::delay_span_bug::<rustc_span::span_encoding::Span,
110.7 alloc::string::String>
110.7 2:
110.7 <rustc_const_eval::transform::validate::TypeChecker>::fail::<alloc::string::String>
110.7 3: <rustc_const_eval::transform::validate::TypeChecker as
110.7 rustc_middle::mir::visit::Visitor>::visit_place
110.7 4: <rustc_const_eval::transform::validate::Validator as
110.7 rustc_middle::mir::MirPass>::run_pass
110.7                5: rustc_mir_transform::optimized_mir
110.7 6:
110.7 rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0},
110.7 rustc_middle::query::erase::Erased<[u8; 8]>>
110.7 7:
110.7 <rustc_query_impl::query_impl::optimized_mir::dynamic_query::{closure#2} as
110.7 core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt,
110.7 rustc_span::def_id::DefId)>>::call_once
110.7 8:
110.7 rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId,
110.7 rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>,
110.7 rustc_query_impl::plumbing::QueryCtxt, false>
110.7 9:
110.7 rustc_query_impl::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
110.7 10:
110.7 <rustc_metadata::rmeta::encoder::EncodeContext>::encode_crate_root
110.7               11: rustc_metadata::rmeta::encoder::encode_metadata_impl
110.7 12:
110.7 rustc_data_structures::sync::join::<rustc_metadata::rmeta::encoder::encode_metadata::{closure#0},
110.7 rustc_metadata::rmeta::encoder::encode_metadata::{closure#1}, (), ()>
110.7               13: rustc_metadata::rmeta::encoder::encode_metadata
110.7               14: rustc_metadata::fs::encode_and_write_metadata
110.7               15: rustc_interface::passes::start_codegen
110.7 16:
110.7 <rustc_middle::ty::context::GlobalCtxt>::enter::<<rustc_interface::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0},
110.7 core::result::Result<alloc::boxed::Box<dyn core::any::Any>,
110.7 rustc_span::ErrorGuaranteed>>
110.7               17: <rustc_interface::queries::Queries>::ongoing_codegen
110.7 18:
110.7 <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2},
110.7 core::result::Result<core::option::Option<rustc_interface::queries::Linker>,
110.7 rustc_span::ErrorGuaranteed>>
110.7 19:
110.7 std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(),
110.7 rustc_span::ErrorGuaranteed>,
110.7 rustc_driver_impl::run_compiler::{closure#1}>::{closure#0},
110.7 core::result::Result<(),
110.7 rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0},
110.7 core::result::Result<(), rustc_span::ErrorGuaranteed>>
110.7 20:
110.7 <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(),
110.7 rustc_span::ErrorGuaranteed>,
110.7 rustc_driver_impl::run_compiler::{closure#1}>::{closure#0},
110.7 core::result::Result<(),
110.7 rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0},
110.7 core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#1} as
110.7 core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
110.7 21: <alloc::boxed::Box<F,A> as
110.7 core::ops::function::FnOnce<Args>>::call_once
110.7 at
110.7 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
110.7 22: <alloc::boxed::Box<F,A> as
110.7 core::ops::function::FnOnce<Args>>::call_once
110.7 at
110.7 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
110.7               23: std::sys::unix::thread::Thread::new::thread_start
110.7 at
110.7 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys/unix/thread.rs:108:17
110.7               24: start_thread
110.7               25: clone
110.7
110.7
110.7 error: internal compiler error: broken MIR in Item(DefId(0:1502 ~
110.7 rkyv[4a08]::std_impl::{impl#47}::deserialize)) (after phase change to
110.7 runtime-optimized) at bb3[29]:
110.7 Field projection `(*_37).1` specified type
110.7 `u32`, but actual type is `<[<T as Archive>::Archived] as
110.7 ArchivePointee>::ArchivedMetadata`
110.7 -->
110.7 /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rkyv-0.6.7/src/lib.rs:765:77
110.7     |
110.7 765 |         ptr_meta::from_raw_parts(self.raw_ptr.as_ptr(),
110.7 T::pointer_metadata(&self.metadata))
110.7 |
110.7 ^^^^^^^^^^^^^^
110.7     |
110.7 = note: delayed at
110.7 compiler/rustc_const_eval/src/transform/validate.rs:354:30
110.7                0: <rustc_errors::HandlerInner>::emit_diagnostic
110.7 1:
110.7 <rustc_errors::Handler>::delay_span_bug::<rustc_span::span_encoding::Span,
110.7 alloc::string::String>
110.7 2:
110.7 <rustc_const_eval::transform::validate::TypeChecker>::fail::<alloc::string::String>
110.7 3: <rustc_const_eval::transform::validate::TypeChecker as
110.7 rustc_middle::mir::visit::Visitor>::visit_place
110.7 4: <rustc_const_eval::transform::validate::Validator as
110.7 rustc_middle::mir::MirPass>::run_pass
110.7                5: rustc_mir_transform::optimized_mir
110.7 6:
110.7 rustc_query_impl::plumbing::__rust_begin_short_backtrace::<rustc_query_impl::query_impl::optimized_mir::dynamic_query::{closure#2}::{closure#0},
110.7 rustc_middle::query::erase::Erased<[u8; 8]>>
110.7 7:
110.7 <rustc_query_impl::query_impl::optimized_mir::dynamic_query::{closure#2} as
110.7 core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt,
110.7 rustc_span::def_id::DefId)>>::call_once
110.7 8:
110.7 rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefaultCache<rustc_span::def_id::DefId,
110.7 rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>,
110.7 rustc_query_impl::plumbing::QueryCtxt, false>
110.7 9:
110.7 rustc_query_impl::query_impl::optimized_mir::get_query_non_incr::__rust_end_short_backtrace
110.7 10:
110.7 <rustc_metadata::rmeta::encoder::EncodeContext>::encode_crate_root
110.7               11: rustc_metadata::rmeta::encoder::encode_metadata_impl
110.7 12:
110.7 rustc_data_structures::sync::join::<rustc_metadata::rmeta::encoder::encode_metadata::{closure#0},
110.7 rustc_metadata::rmeta::encoder::encode_metadata::{closure#1}, (), ()>
110.7               13: rustc_metadata::rmeta::encoder::encode_metadata
110.7               14: rustc_metadata::fs::encode_and_write_metadata
110.7               15: rustc_interface::passes::start_codegen
110.7 16:
110.7 <rustc_middle::ty::context::GlobalCtxt>::enter::<<rustc_interface::queries::Queries>::ongoing_codegen::{closure#0}::{closure#0},
110.7 core::result::Result<alloc::boxed::Box<dyn core::any::Any>,
110.7 rustc_span::ErrorGuaranteed>>
110.7               17: <rustc_interface::queries::Queries>::ongoing_codegen
110.7 18:
110.7 <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2},
110.7 core::result::Result<core::option::Option<rustc_interface::queries::Linker>,
110.7 rustc_span::ErrorGuaranteed>>
110.7 19:
110.7 std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(),
110.7 rustc_span::ErrorGuaranteed>,
110.7 rustc_driver_impl::run_compiler::{closure#1}>::{closure#0},
110.7 core::result::Result<(),
110.7 rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0},
110.7 core::result::Result<(), rustc_span::ErrorGuaranteed>>
110.7 20:
110.7 <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(),
110.7 rustc_span::ErrorGuaranteed>,
110.7 rustc_driver_impl::run_compiler::{closure#1}>::{closure#0},
110.7 core::result::Result<(),
110.7 rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0},
110.7 core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#1} as
110.7 core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
110.7 21: <alloc::boxed::Box<F,A> as
110.7 core::ops::function::FnOnce<Args>>::call_once
110.7 at
110.7 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
110.7 22: <alloc::boxed::Box<F,A> as
110.7 core::ops::function::FnOnce<Args>>::call_once
110.7 at
110.7 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/alloc/src/boxed.rs:1985:9
110.7               23: std::sys::unix::thread::Thread::new::thread_start
110.7 at
110.7 /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys/unix/thread.rs:108:17
110.7               24: start_thread
110.7               25: clone
110.7
110.7
110.7 note: we would appreciate a bug report:
110.7 https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
110.7
110.7 note: rustc 1.71.0 (8ede3aae2 2023-07-12) running on x86_64-unknown-linux-gnu
110.7
110.7 note: compiler flags: --crate-type lib -C opt-level=3 -C embed-bitcode=no
110.7
110.7 note: some of the compiler flags provided by cargo are hidden
110.7
110.7 query stack during panic:
110.7 end of query stack
110.7 error: could not compile `rkyv` (lib)
110.7 warning: build failed, waiting for other jobs to finish...
110.7 rake aborted!
110.7 Command failed with status (101): [cargo build --release --manifest-path
110.7 crat...]
110.7 /usr/local/bundle/bundler/gems/wasmer-ruby-dab7d537748c/Rakefile:6:in `block in
110.7 <top (required)>'
110.7 /usr/local/bundle/gems/rake-13.0.6/exe/rake:27:in `<main>'
110.7 Tasks: TOP => default => build_lib
110.7 (See full trace by running task with --trace)
110.7
110.7 rake failed, exit code 1
110.7
110.7 Gem files will remain installed in
110.7 /usr/local/bundle/bundler/gems/wasmer-ruby-dab7d537748c for inspection.
110.7 Results logged to
110.7 /usr/local/bundle/bundler/gems/extensions/x86_64-linux/3.0.0/wasmer-ruby-dab7d537748c/gem_make.out
110.7
110.7   /usr/local/lib/ruby/3.0.0/rubygems/ext/builder.rb:93:in `run'
110.7   /usr/local/lib/ruby/3.0.0/rubygems/ext/rake_builder.rb:28:in `build'
110.7   /usr/local/lib/ruby/3.0.0/rubygems/ext/builder.rb:159:in `build_extension'
110.7 /usr/local/lib/ruby/3.0.0/rubygems/ext/builder.rb:193:in `block in
110.7 build_extensions'
110.7   /usr/local/lib/ruby/3.0.0/rubygems/ext/builder.rb:190:in `each'
110.7   /usr/local/lib/ruby/3.0.0/rubygems/ext/builder.rb:190:in `build_extensions'
110.7   /usr/local/lib/ruby/3.0.0/rubygems/installer.rb:837:in `build_extensions'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/rubygems_gem_installer.rb:72:in
110.7 `build_extensions'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/source/path/installer.rb:28:in
110.7 `post_install'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/source/path.rb:244:in
110.7 `generate_bin'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/source/git.rb:194:in
110.7 `install'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/installer/gem_installer.rb:54:in
110.7 `install'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/installer/gem_installer.rb:16:in
110.7 `install_from_spec'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/installer/parallel_installer.rb:156:in
110.7 `do_install'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/installer/parallel_installer.rb:147:in
110.7 `block in worker_pool'
110.7   /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/worker.rb:62:in `apply_func'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/worker.rb:57:in `block in
110.7 process_queue'
110.7   /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/worker.rb:54:in `loop'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/worker.rb:54:in
110.7 `process_queue'
110.7 /usr/local/bundle/gems/bundler-2.4.17/lib/bundler/worker.rb:90:in `block (2
110.7 levels) in create_threads'
110.7
110.7 An error occurred while installing wasmer (1.0.0), and Bundler cannot continue.
110.7
110.7 In Gemfile:
110.7   wasm-thumbnail-rb was resolved to 0.1.0, which depends on
110.7     wasmer

WebP output

In #14 I updated wasm-thumbnail to output a PNG file, if the input file has transparency, as we were breaking Logos (and any other images with transparency). We don't output to a PNG when we have no transparency, as the quality/size tradeoff for photographs is much better in a JPEG than a PNG

@fmarier pointed out it would be ideal if the output format was unrelated to the original input image, and that we can solve two birds with one stone if we just use WebP. Unfortunately, the Rust image crate we're using doesn't have native WebP encoding support, and depends on the C based libwebp library.

I think it should be possible to compile that library in to our WASM binary (though I'm pretty hazy on the details). Maybe this is something we should look into?

(this seems strongly related to #7)

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.