espressif/rust-esp32-example

Issues when compiling Rust library project to a static library

huming2207 opened this issue ยท 6 comments

Hi all,

I'm trying to compile ttf-parser to a static library for another ESP-IDF C/C++ project. It has a C binding and it should just work as long as I change the target type from cdylib to staticlib (am I right? or have I forgot something?). However it didn't work somehow when opt-level is not 0 or s. Here's what I have done:

  1. I used the docker image, by docker pull espressif/idf-rust-examples then docker run -it espressif/idf-rust-examples
  2. I cloned the ttf-parser project, by: git clone https://github.com/RazrFalcon/ttf-parser
  3. Then I go to the c-api directory. I added a .cargo/config.toml, content listed below:
[build]
# Uncomment the relevant target for your chip here (ESP32, ESP32-S2 or ESP32-C3)
target = "xtensa-esp32-espidf"
#target = "xtensa-esp32s2-espidf"
#target = "riscv32imc-esp-espidf"

[target.xtensa-esp32-espidf]
linker = "ldproxy"

[target.xtensa-esp32s2-espidf]
linker = "ldproxy"

[target.riscv32imc-esp-espidf]
linker = "ldproxy"

[patch.crates-io]
# This patch is a temporary workaround necessary until Rust 1.55 is out
# You DON'T need it with stock nightly Rust 1.56 (but stock nightly only supports the ESP32-C3 chip)
libc = { git = "https://github.com/ivmarkov/libc.git" }

[unstable]
configurable-env = true # No longer necessary since 1.56, as it was stabilized: https://github.com/rust-lang/cargo/blob/master/src/cargo/core/features.rs#L698
extra-link-arg = true   # No longer necessary since 1.56, as it was stabilized: https://github.com/rust-lang/cargo/blob/master/src/cargo/core/features.rs#L695
build-std = ["std", "panic_abort"]
build-std-features = ["panic_immediate_abort"]
patch-in-config = true
  1. I run cargo build --release --verbose. Then something goes wrong. Here are a few different variants:
  • If I leave the lto = true and default release opt-level (should be 3?) in the Cargo.toml, rustc constantly uses 100% CPU and never finish compiling (at least still running after 3 minutes on a machine with Ryzen 3700X, 32GB RAM)
  • If I comment lto = true out and default release opt-level (should be 3?) , rustc will not lock up. But instead it gives me this output:
warning: Patch `libc v0.2.101 (https://github.com/ivmarkov/libc.git#7e83ba0a)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
    Updating git repository `https://github.com/ivmarkov/libc.git`
warning: Patch `libc v0.2.101 (https://github.com/ivmarkov/libc.git#7e83ba0a)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
       Fresh core v0.0.0 (/opt/esp/lib/rustlib/src/rust/library/core)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh cc v1.0.69
       Fresh rustc-std-workspace-core v1.99.0 (/opt/esp/lib/rustlib/src/rust/library/rustc-std-workspace-core)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh compiler_builtins v0.1.49
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh libc v0.2.98 (https://github.com/rust-lang/libc.git#67562637)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh alloc v0.0.0 (/opt/esp/lib/rustlib/src/rust/library/alloc)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh cfg-if v0.1.10
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh rustc-demangle v0.1.20
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh rustc-std-workspace-alloc v1.99.0 (/opt/esp/lib/rustlib/src/rust/library/rustc-std-workspace-alloc)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh unwind v0.0.0 (/opt/esp/lib/rustlib/src/rust/library/unwind)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh panic_abort v0.0.0 (/opt/esp/lib/rustlib/src/rust/library/panic_abort)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh hashbrown v0.11.2
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh std_detect v0.1.5 (/opt/esp/lib/rustlib/src/rust/library/stdarch/crates/std_detect)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh panic_unwind v0.0.0 (/opt/esp/lib/rustlib/src/rust/library/panic_unwind)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh std v0.0.0 (/opt/esp/lib/rustlib/src/rust/library/std)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
       Fresh proc_macro v0.0.0 (/opt/esp/lib/rustlib/src/rust/library/proc_macro)
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
   Compiling ttf-parser v0.12.3 (/opt/ttf-parser)
     Running `rustc --crate-name ttf_parser --edition=2018 /opt/ttf-parser/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="std"' --cfg 'feature="variable-fonts"' -C metadata=b7db5016109f670c -C extra-filename=-b7db5016109f670c --out-dir /opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -L dependency=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/opt/ttf-parser/c-api/target/release/deps --extern 'noprelude:alloc=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-2902dfbac9bdd6ca.rmeta' --extern 'noprelude:compiler_builtins=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-5cb2d211fd6af220.rmeta' --extern 'noprelude:core=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-3cff502e5da9da9c.rmeta' --extern 'noprelude:panic_abort=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_abort-0042c62788b76179.rmeta' --extern 'noprelude:panic_unwind=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_unwind-6ec9d840d190d1d7.rmeta' --extern 'noprelude:proc_macro=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libproc_macro-080b393debb41506.rmeta' --extern 'noprelude:std=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libstd-559d5acfa07b308c.rmeta' -Z unstable-options`
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
LLVM ERROR: fixup value out of range
error: could not compile `ttf-parser`

Caused by:
  process didn't exit successfully: `rustc --crate-name ttf_parser --edition=2018 /opt/ttf-parser/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="std"' --cfg 'feature="variable-fonts"' -C metadata=b7db5016109f670c -C extra-filename=-b7db5016109f670c --out-dir /opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -L dependency=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/opt/ttf-parser/c-api/target/release/deps --extern 'noprelude:alloc=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-2902dfbac9bdd6ca.rmeta' --extern 'noprelude:compiler_builtins=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-5cb2d211fd6af220.rmeta' --extern 'noprelude:core=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-3cff502e5da9da9c.rmeta' --extern 'noprelude:panic_abort=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_abort-0042c62788b76179.rmeta' --extern 'noprelude:panic_unwind=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_unwind-6ec9d840d190d1d7.rmeta' --extern 'noprelude:proc_macro=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libproc_macro-080b393debb41506.rmeta' --extern 'noprelude:std=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libstd-559d5acfa07b308c.rmeta' -Z unstable-options` (exit status: 101)

  • If I set debug = true and opt-level = "z", it gives me:
   Compiling ttf-parser v0.12.3 (/opt/ttf-parser)
     Running `rustc --crate-name ttf_parser --edition=2018 /opt/ttf-parser/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="std"' --cfg 'feature="variable-fonts"' -C metadata=47d4919b23a5bfb9 -C extra-filename=-47d4919b23a5bfb9 --out-dir /opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -L dependency=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/opt/ttf-parser/c-api/target/release/deps --extern 'noprelude:alloc=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-6e011642604099cb.rmeta' --extern 'noprelude:compiler_builtins=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-6ee7ed1b085d2764.rmeta' --extern 'noprelude:core=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-41b494a1d5172bd1.rmeta' --extern 'noprelude:panic_abort=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_abort-09026d116c1a3ad5.rmeta' --extern 'noprelude:panic_unwind=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_unwind-f0b56e4ce10f80a5.rmeta' --extern 'noprelude:proc_macro=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libproc_macro-fd87d4d48a2fd788.rmeta' --extern 'noprelude:std=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libstd-259244ca692541bb.rmeta' -Z unstable-options`
'+memctl' is not a recognized feature for this target (ignoring feature)
'+memctl' is not a recognized feature for this target (ignoring feature)
LLVM ERROR: Error while trying to spill A14 from class AR: Cannot scavenge register without an emergency spill slot!
error: could not compile `ttf-parser`

Caused by:
  process didn't exit successfully: `rustc --crate-name ttf_parser --edition=2018 /opt/ttf-parser/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="std"' --cfg 'feature="variable-fonts"' -C metadata=47d4919b23a5bfb9 -C extra-filename=-47d4919b23a5bfb9 --out-dir /opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -L dependency=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/opt/ttf-parser/c-api/target/release/deps --extern 'noprelude:alloc=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-6e011642604099cb.rmeta' --extern 'noprelude:compiler_builtins=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-6ee7ed1b085d2764.rmeta' --extern 'noprelude:core=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-41b494a1d5172bd1.rmeta' --extern 'noprelude:panic_abort=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_abort-09026d116c1a3ad5.rmeta' --extern 'noprelude:panic_unwind=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_unwind-f0b56e4ce10f80a5.rmeta' --extern 'noprelude:proc_macro=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libproc_macro-fd87d4d48a2fd788.rmeta' --extern 'noprelude:std=/opt/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libstd-259244ca692541bb.rmeta' -Z unstable-options` (exit status: 101)

  • If I set opt-level = 0 in the Cargo.toml, it can compile, but '+memctl' is not a recognized feature for this target (ignoring feature) warning still shows up
  • If I set opt-level = "s", in the Cargo.toml, it can compile, but '+memctl' is not a recognized feature for this target (ignoring feature) warning still shows up
  • If I set opt-level = "s" and lto = true in the Cargo.toml, it can compile, but '+memctl' is not a recognized feature for this target (ignoring feature) warning still shows up

I would like to know is this a compiler bug or I somehow misused something? Any suggestions? Thanks in advance!

Regards,
Jackson

Here's a snapshot for the whole project directory: https://transfer.sh/OiJVIJ/ttf-parser.tar.gz

Hi Jackson, apologies for the delay!

Thank you for the detailed bug report, it will be very useful.

Your first LLVM error, I have not seen before - I will try and reproduce and report to our LLVM developers.

'+memctl' is not a recognized feature for this target (ignoring feature) is just a warning, everything will still work. By the way this was fixed in the upgrade to llvm 12, which we now have prebuilt binaries for, checkout the book! https://esp-rs.github.io/book/getting-started/installing-rust.html#using-a-pre-built-release

Hi Jackson, apologies for the delay!

Thank you for the detailed bug report, it will be very useful.

Your first LLVM error, I have not seen before - I will try and reproduce and report to our LLVM developers.

'+memctl' is not a recognized feature for this target (ignoring feature) is just a warning, everything will still work. By the way this was fixed in the upgrade to llvm 12, which we now have prebuilt binaries for, checkout the book! https://esp-rs.github.io/book/getting-started/installing-rust.html#using-a-pre-built-release

Hi @MabezDev

Thanks for your reply. I'll have another attempt with your latest Rust toolchain and see what will happen.

Meanwhile, I would like to know that is there any tutorials for building Xtensa LLVM and Clang, then use them to compile ESP-IDF C/C++ projects? That may help me to identify some other compiler issues and I can use some C++20 features in advance.

Unfortunately the docs are quite slim at the moment, but we are working hard to fix that. They should appear in the book link I sent earlier when we get to it. In the meantime I'd suggest joining the esp-rs matrix chat channel & checking out the https://github.com/esp-rs; and of course you are always welcome more issues here. By the way we also have prebuilt LLVM and clang builds available too :).

Hi @MabezDev ,

Yea I just realised there's a release for Clang here as well: https://github.com/espressif/llvm-project/releases/tag/esp-12.0.1-20210914

I will try it out, thanks in advance!

Hi @MabezDev ,

I've got the stuff set up like you mentioned earlier. Seems like with your latest Rust 1.55, it works with opt-level = 3 or opt-level = "z" and/or lto = true:

warning: Patch `libc v0.2.101 (https://github.com/ivmarkov/libc.git#7e83ba0a)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
    Updating git repository `https://github.com/ivmarkov/libc.git`
warning: Patch `libc v0.2.101 (https://github.com/ivmarkov/libc.git#7e83ba0a)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
   Compiling compiler_builtins v0.1.49
   Compiling core v0.0.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/core)
   Compiling libc v0.2.102 (https://github.com/rust-lang/libc.git#e2aabf14)
   Compiling cc v1.0.69
   Compiling std v0.0.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/std)
     Running `rustc --crate-name build_script_build /home/jackson/.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.49/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="compiler-builtins"' --cfg 'feature="core"' --cfg 'feature="default"' --cfg 'feature="rustc-dep-of-std"' -C metadata=4267d7d6f32f6211 -C extra-filename=-4267d7d6f32f6211 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/release/build/compiler_builtins-4267d7d6f32f6211 -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --cap-lints allow`
     Running `rustc --crate-name core --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="panic_immediate_abort"' -C metadata=a047668cfbf9f222 -C extra-filename=-a047668cfbf9f222 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build /home/jackson/.cargo/git/checkouts/libc-d1297d136f47e864/e2aabf1/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="align"' --cfg 'feature="rustc-dep-of-std"' --cfg 'feature="rustc-std-workspace-core"' -C metadata=211ebc7bff1496d2 -C extra-filename=-211ebc7bff1496d2 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/release/build/libc-211ebc7bff1496d2 -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --cap-lints allow`
     Running `rustc --crate-name cc --edition=2018 /home/jackson/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.69/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C metadata=2fd3bf5afaa90ab6 -C extra-filename=-2fd3bf5afaa90ab6 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/release/deps -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/std/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="panic_immediate_abort"' -C metadata=5ddc48b63fa53589 -C extra-filename=-5ddc48b63fa53589 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/release/build/std-5ddc48b63fa53589 -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --cap-lints allow`
     Running `/home/jackson/Downloads/ttf-parser/c-api/target/release/build/compiler_builtins-4267d7d6f32f6211/build-script-build`
     Running `/home/jackson/Downloads/ttf-parser/c-api/target/release/build/std-5ddc48b63fa53589/build-script-build`
     Running `/home/jackson/Downloads/ttf-parser/c-api/target/release/build/libc-211ebc7bff1496d2/build-script-build`
   Compiling unwind v0.0.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/unwind)
     Running `rustc --crate-name build_script_build --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/unwind/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off -C metadata=afc8363faa6da6ef -C extra-filename=-afc8363faa6da6ef --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/release/build/unwind-afc8363faa6da6ef -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern cc=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps/libcc-2fd3bf5afaa90ab6.rlib --cap-lints allow`
     Running `/home/jackson/Downloads/ttf-parser/c-api/target/release/build/unwind-afc8363faa6da6ef/build-script-build`
   Compiling rustc-std-workspace-core v1.99.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/rustc-std-workspace-core)
     Running `rustc --crate-name rustc_std_workspace_core --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/rustc-std-workspace-core/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto -C metadata=d4f3341c2a83663d -C extra-filename=-d4f3341c2a83663d --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-a047668cfbf9f222.rmeta --cap-lints allow`
     Running `rustc --crate-name compiler_builtins /home/jackson/.cargo/registry/src/github.com-1ecc6299db9ec823/compiler_builtins-0.1.49/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="compiler-builtins"' --cfg 'feature="core"' --cfg 'feature="default"' --cfg 'feature="rustc-dep-of-std"' -C metadata=9da9446cf83f5649 -C extra-filename=-9da9446cf83f5649 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_std_workspace_core-d4f3341c2a83663d.rmeta --cap-lints allow --cfg 'feature="unstable"'`
     Running `rustc --crate-name libc /home/jackson/.cargo/git/checkouts/libc-d1297d136f47e864/e2aabf1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="align"' --cfg 'feature="rustc-dep-of-std"' --cfg 'feature="rustc-std-workspace-core"' -C metadata=e62701f8a94140a9 -C extra-filename=-e62701f8a94140a9 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern rustc_std_workspace_core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_std_workspace_core-d4f3341c2a83663d.rmeta --cap-lints allow --cfg freebsd11 --cfg libc_priv_mod_use --cfg libc_union --cfg libc_const_size_of --cfg libc_align --cfg libc_core_cvoid --cfg libc_packedN --cfg libc_cfg_target_vendor --cfg libc_thread_local`
   Compiling alloc v0.0.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/alloc)
   Compiling cfg-if v0.1.10
   Compiling rustc-demangle v0.1.18
     Running `rustc --crate-name alloc --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/alloc/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto -C metadata=8f1acf4c771c391a -C extra-filename=-8f1acf4c771c391a --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-a047668cfbf9f222.rmeta --cap-lints allow`
     Running `rustc --crate-name cfg_if --edition=2018 /home/jackson/.cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-0.1.10/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="compiler_builtins"' --cfg 'feature="core"' --cfg 'feature="rustc-dep-of-std"' -C metadata=ed703b808492aa25 -C extra-filename=-ed703b808492aa25 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_std_workspace_core-d4f3341c2a83663d.rmeta --cap-lints allow`
     Running `rustc --crate-name rustc_demangle /home/jackson/.cargo/registry/src/github.com-1ecc6299db9ec823/rustc-demangle-0.1.18/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="compiler_builtins"' --cfg 'feature="core"' --cfg 'feature="rustc-dep-of-std"' -C metadata=062f1a7fdb4e64cc -C extra-filename=-062f1a7fdb4e64cc --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_std_workspace_core-d4f3341c2a83663d.rmeta --cap-lints allow`
     Running `rustc --crate-name unwind --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/unwind/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto -C metadata=eca29bb59945c970 -C extra-filename=-eca29bb59945c970 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern cfg_if=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcfg_if-ed703b808492aa25.rmeta --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-a047668cfbf9f222.rmeta --extern libc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liblibc-e62701f8a94140a9.rmeta --cap-lints allow`
   Compiling rustc-std-workspace-alloc v1.99.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/rustc-std-workspace-alloc)
   Compiling panic_abort v0.0.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/panic_abort)
   Compiling panic_unwind v0.0.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/panic_unwind)
     Running `rustc --crate-name rustc_std_workspace_alloc --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/rustc-std-workspace-alloc/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto -C metadata=d32d9446ac61e9a9 -C extra-filename=-d32d9446ac61e9a9 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern alloc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-8f1acf4c771c391a.rmeta --cap-lints allow`
     Running `rustc --crate-name panic_abort --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/panic_abort/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto -C metadata=5ea16ea2b44f7831 -C extra-filename=-5ea16ea2b44f7831 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern alloc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-8f1acf4c771c391a.rmeta --extern cfg_if=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcfg_if-ed703b808492aa25.rmeta --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-a047668cfbf9f222.rmeta --extern libc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liblibc-e62701f8a94140a9.rmeta --cap-lints allow`
     Running `rustc --crate-name panic_unwind --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/panic_unwind/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto -C metadata=29e1afc93b34b31f -C extra-filename=-29e1afc93b34b31f --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern alloc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-8f1acf4c771c391a.rmeta --extern cfg_if=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcfg_if-ed703b808492aa25.rmeta --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-a047668cfbf9f222.rmeta --extern libc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liblibc-e62701f8a94140a9.rmeta --extern unwind=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libunwind-eca29bb59945c970.rmeta --cap-lints allow`
   Compiling hashbrown v0.11.0
   Compiling std_detect v0.1.5 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/stdarch/crates/std_detect)
     Running `rustc --crate-name hashbrown --edition=2018 /home/jackson/.cargo/registry/src/github.com-1ecc6299db9ec823/hashbrown-0.11.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="alloc"' --cfg 'feature="compiler_builtins"' --cfg 'feature="core"' --cfg 'feature="nightly"' --cfg 'feature="rustc-dep-of-std"' --cfg 'feature="rustc-internal-api"' -C metadata=3ba724a00df3aa04 -C extra-filename=-3ba724a00df3aa04 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern alloc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_std_workspace_alloc-d32d9446ac61e9a9.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_std_workspace_core-d4f3341c2a83663d.rmeta --cap-lints allow`
     Running `rustc --crate-name std_detect --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/stdarch/crates/std_detect/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="alloc"' --cfg 'feature="compiler_builtins"' --cfg 'feature="core"' --cfg 'feature="rustc-dep-of-std"' -C metadata=4c4a7e6a942939e6 -C extra-filename=-4c4a7e6a942939e6 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern cfg_if=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcfg_if-ed703b808492aa25.rmeta --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern alloc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_std_workspace_alloc-d32d9446ac61e9a9.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_std_workspace_core-d4f3341c2a83663d.rmeta --cap-lints allow`
     Running `rustc --crate-name std --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/std/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type rlib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="panic_immediate_abort"' -C metadata=acbbc6254a91124e -C extra-filename=-acbbc6254a91124e --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern alloc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-8f1acf4c771c391a.rmeta --extern cfg_if=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcfg_if-ed703b808492aa25.rmeta --extern compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta --extern core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-a047668cfbf9f222.rmeta --extern hashbrown=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libhashbrown-3ba724a00df3aa04.rmeta --extern libc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liblibc-e62701f8a94140a9.rmeta --extern panic_abort=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_abort-5ea16ea2b44f7831.rmeta --extern rustc_demangle=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/librustc_demangle-062f1a7fdb4e64cc.rmeta --extern std_detect=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libstd_detect-4c4a7e6a942939e6.rmeta --extern unwind=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libunwind-eca29bb59945c970.rmeta --cap-lints allow --cfg backtrace_in_libstd`
   Compiling proc_macro v0.0.0 (/home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/proc_macro)
     Running `rustc --crate-name proc_macro --edition=2018 /home/jackson/.rustup/toolchains/esp/lib/rustlib/src/rust/library/proc_macro/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto -C metadata=29d3b6eddd3e1a6a -C extra-filename=-29d3b6eddd3e1a6a --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -Z force-unstable-if-unmarked -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern std=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libstd-acbbc6254a91124e.rmeta --cap-lints allow`
   Compiling ttf-parser v0.12.3 (/home/jackson/Downloads/ttf-parser)
     Running `rustc --crate-name ttf_parser --edition=2018 /home/jackson/Downloads/ttf-parser/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=z -C linker-plugin-lto --cfg 'feature="std"' --cfg 'feature="variable-fonts"' -C metadata=b7ab15fc803ba421 -C extra-filename=-b7ab15fc803ba421 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern 'noprelude:alloc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-8f1acf4c771c391a.rmeta' --extern 'noprelude:compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rmeta' --extern 'noprelude:core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-a047668cfbf9f222.rmeta' --extern 'noprelude:panic_abort=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_abort-5ea16ea2b44f7831.rmeta' --extern 'noprelude:panic_unwind=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_unwind-29e1afc93b34b31f.rmeta' --extern 'noprelude:proc_macro=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libproc_macro-29d3b6eddd3e1a6a.rmeta' --extern 'noprelude:std=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libstd-acbbc6254a91124e.rmeta' -Z unstable-options`
   Compiling ttf-parser-capi v0.12.3 (/home/jackson/Downloads/ttf-parser/c-api)
     Running `rustc --crate-name ttfparser --edition=2018 lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type staticlib --emit=dep-info,link -C opt-level=z -C lto --cfg 'feature="default"' --cfg 'feature="variable-fonts"' -C metadata=5ff1ffd0559e4079 -C extra-filename=-5ff1ffd0559e4079 --out-dir /home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps --target xtensa-esp32-espidf -C linker=ldproxy -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps -L dependency=/home/jackson/Downloads/ttf-parser/c-api/target/release/deps --extern 'noprelude:alloc=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/liballoc-8f1acf4c771c391a.rlib' --extern 'noprelude:compiler_builtins=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcompiler_builtins-9da9446cf83f5649.rlib' --extern 'noprelude:core=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libcore-a047668cfbf9f222.rlib' --extern 'noprelude:panic_abort=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_abort-5ea16ea2b44f7831.rlib' --extern 'noprelude:panic_unwind=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libpanic_unwind-29e1afc93b34b31f.rlib' --extern 'noprelude:proc_macro=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libproc_macro-29d3b6eddd3e1a6a.rlib' --extern 'noprelude:std=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libstd-acbbc6254a91124e.rlib' --extern ttf_parser=/home/jackson/Downloads/ttf-parser/c-api/target/xtensa-esp32-espidf/release/deps/libttf_parser-b7ab15fc803ba421.rlib -Z unstable-options`
    Finished release [optimized] target(s) in 17.22s

So yes, this bug probably has been fixed earlier. I will close this issue for now.

Regards,
Jackson