servo / servo/font-kit

Freetype version incompatibility with https://github.com/servo/rust-harfbuzz

Open
#279 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
840
Forks
137
Avg merge
4h 56m
Merged PRs (30d)
1

Description

Seemingly since harfbuzz crate 0.7.0:

$ cargo add font-kit harfbuzz
    Updating crates.io index
      Adding font-kit v0.14.3 to dependencies
             Features:
             + source
             - freetype
             - loader-freetype
             - loader-freetype-default
             - source-fontconfig
             - source-fontconfig-default
             - source-fontconfig-dlopen
             - yeslogic-fontconfig-sys
      Adding harfbuzz v0.8.0 to dependencies
             Features:
             + coretext
             + directwrite
             + freetype
             + std
             - bundled
    Updating crates.io index
error: failed to select a version for `freetype-sys`.
    ... required by package `font-kit v0.14.3`
    ... which satisfies dependency `font-kit = "^0.14.3"` of package `rosui v0.1.0 (C:\Users\wareya\dev\rosui)`
versions that meet the requirements `^0.20` are: 0.20.1, 0.20.0

package `freetype-sys` links to the native library `freetype`, but it conflicts with a previous package which l
inks to `freetype` as well:
package `freetype-sys v0.23.0`
    ... which satisfies dependency `freetype-sys = "^0.23.0"` of package `harfbuzz-sys v0.8.0`
    ... which satisfies dependency `harfbuzz-sys = "^0.8.0"` of package `harfbuzz v0.8.0`
    ... which satisfies dependency `harfbuzz = "^0.8.0"` of package `rosui v0.1.0 (C:\Users\wareya\dev\rosui)`
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 us
es 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

Need guidance, update, or documentation.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the Cargo resolution failure with font-kit and harfbuzz, then inspect the freetype-sys and harfbuzz-sys version requirements shown in the issue. Done means the dependency conflict has a confirmed update or workaround, or the required guidance is documented for users encountering this graph.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.