Closed chrisduerr closed 5 months ago
Thanks!
When will this be released? crossfont 0.7.0 depends on freetype-rs 0.26.0 which has UB that is detected at runtime on rustc nightly when debug assertions are enabled:
thread 'main' panicked at library/core/src/panicking.rs:156:5:
unsafe precondition(s) violated: slice::from_raw_parts requires the pointer to be aligned and non-null, and the total size of the slice not to exceed `isize::MAX`
Alacritty can't update to crossfont 0.8.0 itself either until winit depends on a version of sctk-adwaita that uses crossfont 0.8.0. Trying to update it right now would result in:
Updating crates.io index
error: failed to select a version for `freetype-sys`.
... required by package `freetype-rs v0.26.0`
... which satisfies dependency `freetype-rs = "^0.26"` of package `crossfont v0.6.0`
... which satisfies dependency `crossfont = "^0.6.0"` of package `sctk-adwaita v0.8.0`
... which satisfies dependency `sctk-adwaita = "^0.8.0"` of package `winit v0.29.15`
... which satisfies dependency `winit = "^0.29.15"` of package `alacritty v0.14.0-dev (/home/bjorn/Projects/alacritty/alacritty)`
versions that meet the requirements `^0.13.0` are: 0.13.1, 0.13.0
the package `freetype-sys` links to the native library `freetype`, but it conflicts with a previous package which links to `freetype` as well:
package `freetype-sys v0.20.0`
... which satisfies dependency `freetype-sys = "^0.20.0"` of package `freetype-rs v0.36.0`
... which satisfies dependency `freetype-rs = "^0.36.0"` of package `crossfont v0.8.0`
... which satisfies dependency `crossfont = "^0.8.0"` of package `alacritty v0.14.0-dev (/home/bjorn/Projects/alacritty/alacritty)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the `links = "freetype"` value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.
failed to select a version for `freetype-sys` which could resolve this conflict
cc @proski assuming you the person who commented at https://lwn.net/Articles/965873/
When will this be released?
Published in 0.8.2
Thanks!
Edit: Alacritty update in https://github.com/alacritty/alacritty/pull/7878
Published in 0.8.2
You realize this is a breaking change, right?
Yes, that was me. Excellent news! I was actually wrong in that post. I was able to get that message without cranelift. I guess I haven't used nightly to compile alacritty for a long time.
I tried adding sctk-adwaita = "0.8.2"
to alacritty/Cargo.toml
in the current Alacritty sources, but I'm getting an error.
$ cargo +nightly run
Updating crates.io index
error: failed to select a version for `yeslogic-fontconfig-sys`.
... required by package `crossfont v0.8.0`
... which satisfies dependency `crossfont = "^0.8.0"` of package `sctk-adwaita v0.8.2`
... which satisfies dependency `sctk-adwaita = "^0.8.2"` of package `alacritty v0.14.0-dev (/home/proski/src/alacritty/alacritty)`
versions that meet the requirements `^5.0.0` are: 5.0.0
the package `yeslogic-fontconfig-sys` links to the native library `fontconfig`, but it conflicts with a previous package which links to `fontconfig` as well:
package `servo-fontconfig-sys v5.1.0`
... which satisfies dependency `servo-fontconfig-sys = "^5.1.0"` of package `servo-fontconfig v0.5.1`
... which satisfies dependency `servo-fontconfig = "^0.5.1"` of package `crossfont v0.7.0`
... which satisfies dependency `crossfont = "^0.7.0"` of package `alacritty v0.14.0-dev (/home/proski/src/alacritty/alacritty)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the `links = "fontconfig"` value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.
failed to select a version for `yeslogic-fontconfig-sys` which could resolve this conflict
No time to dig deeper, sorry.
@proski https://github.com/alacritty/alacritty/pull/7878 updates both crossfont and sctk-adwaits. That PR works for me with cg_clif.
That works for me, with and without Cranelift. Thank you!
Published in 0.8.2
You realize this is a breaking change, right?
Yanked and republished as 0.9 (this will now require winit update I suppose, and a braking one as well?)
Yanked and republished as 0.9 (this will now require winit update I suppose, and a braking one as well?)
Yes this was the plan and kchibisov should already be aware of that. Thank you.
This switches the underlying fontconfig-sys crate to yeslogic-fontconfig-sys, due to Servo's lack of maintenance.