Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 928252

Summary: x11-terms/wezterm-20240203.110809 fails to compile: warning: cairo-sys-rs@0.18.0: cairo-tor-scan-converter.c:660:6: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Mark Wright <gienah>
Status: CONFIRMED ---    
Severity: normal CC: eschwartz93, esigra, gienah, qa
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/wez/wezterm/pull/4174
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 251464, 618550    
Attachments: build.log

Description Agostino Sarubbo gentoo-dev 2024-03-30 18:25:23 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: x11-terms/wezterm-20240203.110809 fails to compile.
Discovered on: amd64 (internal ref: lto_tinderbox)
System: LTO-SYSTEM (https://wiki.gentoo.org/wiki/Project:Tinderbox/Common_Issues_Helper#LTO)

Info about the issue:
https://wiki.gentoo.org/wiki/Project:Tinderbox/Common_Issues_Helper#CF0014
Comment 1 Agostino Sarubbo gentoo-dev 2024-03-30 18:25:25 UTC
Created attachment 889056 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2024-03-30 18:25:27 UTC
Error(s) that match a know pattern in addition to what has been reported in the summary:


  cargo:warning=ToolExecError: Command "x86_64-pc-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-O2" "-march=x86-64" "-pipe" "-pipe" "-frecord-gcc-switches" "-fno-diagnostics-color" "-fmessage-length=0" "-Werror=odr" "-Werror=lto-type-mismatch" "-Werror=strict-aliasing" "-I" "cairo/src" "-I" "pixman/pixman" "-fno-stack-check" "-Wno-attributes" "-Wno-enum-conversion" "-Wno-incompatible-pointer-types" "-Wno-parentheses-equality" "-Wno-unused-value" "-DCAIRO_NO_MUTEX=1" "-DSIZE_VOID_P=8" "-DHAVE_STDINT_H=1" "-DHAVE_UINT64_T=1" "-o" "/var/tmp/portage/x11-terms/wezterm-20240203.110809/work/wezterm-20240203-110809-5046fc22/target/debug/build/cairo-sys-rs-5429c690abdb5911/out/cairo/src/cairo-tor-scan-converter.o" "-c" "cairo/src/cairo-tor-scan-converter.c" with args "x86_64-pc-linux-gnu-gcc" did not execute successfully (status code exit status: 1).running: "x86_64-pc-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-O2" "-march=x86-64" "-pipe" "-pipe" "-frecord-gcc-switches" "-fno-diagnostics-color" "-fmessage-length=0" "-Werror=odr" "-Werror=lto-type-mismatch" "-Werror=strict-aliasing" "-I" "cairo/src" "-I" "pixman/pixman" "-fno-stack-check" "-Wno-attributes" "-Wno-enum-conversion" "-Wno-incompatible-pointer-types" "-Wno-parentheses-equality" "-Wno-unused-value" "-DCAIRO_NO_MUTEX=1" "-DSIZE_VOID_P=8" "-DHAVE_STDINT_H=1" "-DHAVE_UINT64_T=1" "-o" "/var/tmp/portage/x11-terms/wezterm-20240203.110809/work/wezterm-20240203-110809-5046fc22/target/debug/build/cairo-sys-rs-5429c690abdb5911/out/cairo/util/cairo-missing/getline.o" "-c" "cairo/util/cairo-missing/getline.c"
  cargo:warning=ToolExecError: Command "x86_64-pc-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-O2" "-march=x86-64" "-pipe" "-pipe" "-frecord-gcc-switches" "-fno-diagnostics-color" "-fmessage-length=0" "-Werror=odr" "-Werror=lto-type-mismatch" "-Werror=strict-aliasing" "-I" "cairo/src" "-I" "pixman/pixman" "-fno-stack-check" "-Wno-attributes" "-Wno-enum-conversion" "-Wno-incompatible-pointer-types" "-Wno-parentheses-equality" "-Wno-unused-value" "-DCAIRO_NO_MUTEX=1" "-DSIZE_VOID_P=8" "-DHAVE_STDINT_H=1" "-DHAVE_UINT64_T=1" "-o" "/var/tmp/portage/x11-terms/wezterm-20240203.110809/work/wezterm-20240203-110809-5046fc22/target/debug/build/cairo-sys-rs-5429c690abdb5911/out/cairo/src/cairo-tor22-scan-converter.o" "-c" "cairo/src/cairo-tor22-scan-converter.c" with args "x86_64-pc-linux-gnu-gcc" did not execute successfully (status code exit status: 1).running: "x86_64-pc-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-O2" "-march=x86-64" "-pipe" "-pipe" "-frecord-gcc-switches" "-fno-diagnostics-color" "-fmessage-length=0" "-Werror=odr" "-Werror=lto-type-mismatch" "-Werror=strict-aliasing" "-I" "cairo/src" "-I" "pixman/pixman" "-fno-stack-check" "-Wno-attributes" "-Wno-enum-conversion" "-Wno-incompatible-pointer-types" "-Wno-parentheses-equality" "-Wno-unused-value" "-DCAIRO_NO_MUTEX=1" "-DSIZE_VOID_P=8" "-DHAVE_STDINT_H=1" "-DHAVE_UINT64_T=1" "-o" "/var/tmp/portage/x11-terms/wezterm-20240203.110809/work/wezterm-20240203-110809-5046fc22/target/debug/build/cairo-sys-rs-5429c690abdb5911/out/cairo/src/cairo-type3-glyph-surface.o" "-c" "cairo/src/cairo-type3-glyph-surface.c"
warning: cairo-sys-rs@0.18.0: ToolExecError: Command "x86_64-pc-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-O2" "-march=x86-64" "-pipe" "-pipe" "-frecord-gcc-switches" "-fno-diagnostics-color" "-fmessage-length=0" "-Werror=odr" "-Werror=lto-type-mismatch" "-Werror=strict-aliasing" "-I" "cairo/src" "-I" "pixman/pixman" "-fno-stack-check" "-Wno-attributes" "-Wno-enum-conversion" "-Wno-incompatible-pointer-types" "-Wno-parentheses-equality" "-Wno-unused-value" "-DCAIRO_NO_MUTEX=1" "-DSIZE_VOID_P=8" "-DHAVE_STDINT_H=1" "-DHAVE_UINT64_T=1" "-o" "/var/tmp/portage/x11-terms/wezterm-20240203.110809/work/wezterm-20240203-110809-5046fc22/target/debug/build/cairo-sys-rs-5429c690abdb5911/out/cairo/src/cairo-tor-scan-converter.o" "-c" "cairo/src/cairo-tor-scan-converter.c" with args "x86_64-pc-linux-gnu-gcc" did not execute successfully (status code exit status: 1).running: "x86_64-pc-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-O2" "-march=x86-64" "-pipe" "-pipe" "-frecord-gcc-switches" "-fno-diagnostics-color" "-fmessage-length=0" "-Werror=odr" "-Werror=lto-type-mismatch" "-Werror=strict-aliasing" "-I" "cairo/src" "-I" "pixman/pixman" "-fno-stack-check" "-Wno-attributes" "-Wno-enum-conversion" "-Wno-incompatible-pointer-types" "-Wno-parentheses-equality" "-Wno-unused-value" "-DCAIRO_NO_MUTEX=1" "-DSIZE_VOID_P=8" "-DHAVE_STDINT_H=1" "-DHAVE_UINT64_T=1" "-o" "/var/tmp/portage/x11-terms/wezterm-20240203.110809/work/wezterm-20240203-110809-5046fc22/target/debug/build/cairo-sys-rs-5429c690abdb5911/out/cairo/util/cairo-missing/getline.o" "-c" "cairo/util/cairo-missing/getline.c"
warning: cairo-sys-rs@0.18.0: ToolExecError: Command "x86_64-pc-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-O2" "-march=x86-64" "-pipe" "-pipe" "-frecord-gcc-switches" "-fno-diagnostics-color" "-fmessage-length=0" "-Werror=odr" "-Werror=lto-type-mismatch" "-Werror=strict-aliasing" "-I" "cairo/src" "-I" "pixman/pixman" "-fno-stack-check" "-Wno-attributes" "-Wno-enum-conversion" "-Wno-incompatible-pointer-types" "-Wno-parentheses-equality" "-Wno-unused-value" "-DCAIRO_NO_MUTEX=1" "-DSIZE_VOID_P=8" "-DHAVE_STDINT_H=1" "-DHAVE_UINT64_T=1" "-o" "/var/tmp/portage/x11-terms/wezterm-20240203.110809/work/wezterm-20240203-110809-5046fc22/target/debug/build/cairo-sys-rs-5429c690abdb5911/out/cairo/src/cairo-tor22-scan-converter.o" "-c" "cairo/src/cairo-tor22-scan-converter.c" with args "x86_64-pc-linux-gnu-gcc" did not execute successfully (status code exit status: 1).running: "x86_64-pc-linux-gnu-gcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-4" "-fno-omit-frame-pointer" "-m64" "-O2" "-march=x86-64" "-pipe" "-pipe" "-frecord-gcc-switches" "-fno-diagnostics-color" "-fmessage-length=0" "-Werror=odr" "-Werror=lto-type-mismatch" "-Werror=strict-aliasing" "-I" "cairo/src" "-I" "pixman/pixman" "-fno-stack-check" "-Wno-attributes" "-Wno-enum-conversion" "-Wno-incompatible-pointer-types" "-Wno-parentheses-equality" "-Wno-unused-value" "-DCAIRO_NO_MUTEX=1" "-DSIZE_VOID_P=8" "-DHAVE_STDINT_H=1" "-DHAVE_UINT64_T=1" "-o" "/var/tmp/portage/x11-terms/wezterm-20240203.110809/work/wezterm-20240203-110809-5046fc22/target/debug/build/cairo-sys-rs-5429c690abdb5911/out/cairo/src/cairo-type3-glyph-surface.o" "-c" "cairo/src/cairo-type3-glyph-surface.c"
warning: cairo-sys-rs@0.18.0: cairo/src/cairo-tor-scan-converter.c:660:6: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
Comment 3 Eli Schwartz 2024-03-31 03:56:06 UTC
I recommend treecleaning. This is atrocious beyond belief.
Comment 4 Eli Schwartz 2024-03-31 04:16:49 UTC
cc'ing QA for their opinion on whether this is suitable software for ::gentoo.

Based on the upstream commit message I have my doubts that it is viable to come to an agreement with them on suitably packaging the software, but I could be surprised.

There's more stuff here too, by the way. e.g.

freetype, harfbuzz, fontconfig: "needed for consistency with macos"
https://github.com/wez/wezterm/commit/27cb18f8aeb4074fe76ab14d263754882a1e7c44
Comment 5 Larry the Git Cow gentoo-dev 2024-05-12 11:32:35 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17cc00584beb329c911063586495a75e8302e30c

commit 17cc00584beb329c911063586495a75e8302e30c
Author:     Mark Wright <gienah@gentoo.org>
AuthorDate: 2024-05-12 11:32:20 +0000
Commit:     Mark Wright <gienah@gentoo.org>
CommitDate: 2024-05-12 11:32:20 +0000

    x11-terms/wezterm: use system cairo
    
    Thanks to ago for reporting, Eli Schwartz for helping.
    
    Bug: https://bugs.gentoo.org/928252
    Signed-off-by: Mark Wright <gienah@gentoo.org>

 x11-terms/wezterm/Manifest                            |  5 +++++
 .../wezterm/files/wezterm-20240203-110809-cairo.patch | 19 +++++++++++++++++++
 ...10809.ebuild => wezterm-20240203.110809-r1.ebuild} |  7 +++++++
 3 files changed, 31 insertions(+)
Comment 6 Mark Wright gentoo-dev 2024-05-12 12:26:36 UTC
(In reply to Eli Schwartz from comment #4)
> cc'ing QA for their opinion on whether this is suitable software for
> ::gentoo.
> 
> Based on the upstream commit message I have my doubts that it is viable to
> come to an agreement with them on suitably packaging the software, but I
> could be surprised.
> 
> There's more stuff here too, by the way. e.g.
> 
> freetype, harfbuzz, fontconfig: "needed for consistency with macos"
> https://github.com/wez/wezterm/commit/
> 27cb18f8aeb4074fe76ab14d263754882a1e7c44

Thanks very much for your help and with helping to improve QA on Gentoo.
I patched out the bundling of cairo, so it no longer compiles the wezterm
bundled C code for cairo, and instead uses the system cairo.

The wezterm commits and wezterm source code seem to suggest that it is
bundling freetype, harfbuzz and fontconfig as you note, thanks. However
compiling x11-terms/wezterm-20240203.110809-r1 I can not see it building
anything with the C or C++ compiler (gcc or clang), and it links to the
system harfbuzz, freetype, fontconfig and cairo shared libraries.

# ldd -r /usr/bin/wezterm-gui
        linux-vdso.so.1 (0x00007fffe0fc6000)
        libxcb-image.so.0 => /usr/lib64/libxcb-image.so.0 (0x00007fecf8c10000)
        libxcb-util.so.1 => /usr/lib64/libxcb-util.so.1 (0x00007fecf8c09000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fecf8bdd000)
        libxkbcommon.so.0 => /usr/lib64/libxkbcommon.so.0 (0x00007fecf8b94000)
        libxkbcommon-x11.so.0 => /usr/lib64/libxkbcommon-x11.so.0 (0x00007fecf8b89000)
        libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007fecf8b84000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fecf8a3b000)
        libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fecf89ed000)
        libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007fecf88b7000)
        libwayland-egl.so.1 => /usr/lib64/libwayland-egl.so.1 (0x00007fecf88b2000)
        libwayland-client.so.0 => /usr/lib64/libwayland-client.so.0 (0x00007fecf88a0000)
        libssl.so.3 => /usr/lib64/libssl.so.3 (0x00007fecf87b3000)
        libcrypto.so.3 => /usr/lib64/libcrypto.so.3 (0x00007fecf8295000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fecf80e4000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fecfc737000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/libgcc_s.so.1 (0x00007fecf80bb000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fecf8011000)
        libxcb-shm.so.0 => /usr/lib64/libxcb-shm.so.0 (0x00007fecf800c000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fecf8006000)
        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007fecf7ffc000)
        libxcb-xkb.so.1 => /usr/lib64/libxcb-xkb.so.1 (0x00007fecf7fdc000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fecf7f10000)
        libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fecf7ee5000)
        libz.so.1 => /usr/lib64/libz.so.1 (0x00007fecf7ecb000)
        libpng16.so.16 => /usr/lib64/libpng16.so.16 (0x00007fecf7e8f000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fecf7e7a000)
        libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fecf7e6d000)
        libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0 (0x00007fecf7e5d000)
        libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007fecf7db4000)
        libffi.so.8 => /usr/lib64/libffi.so.8 (0x00007fecf7da5000)
        libbz2.so.1 => /usr/lib64/libbz2.so.1 (0x00007fecf7d91000)
        libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007fecf7c62000)
        libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fecf7b1b000)
        libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007fecf7af5000)
        libpcre2-8.so.0 => /usr/lib64/libpcre2-8.so.0 (0x00007fecf7a56000)
#

So I am wondering if this is sufficient to close the bug.
Comment 7 Eli Schwartz 2024-05-12 15:45:45 UTC
(In reply to Mark Wright from comment #6)
> Thanks very much for your help and with helping to improve QA on Gentoo.
> I patched out the bundling of cairo, so it no longer compiles the wezterm
> bundled C code for cairo, and instead uses the system cairo.
> 
> The wezterm commits and wezterm source code seem to suggest that it is
> bundling freetype, harfbuzz and fontconfig as you note, thanks. However
> compiling x11-terms/wezterm-20240203.110809-r1 I can not see it building
> anything with the C or C++ compiler (gcc or clang), and it links to the
> system harfbuzz, freetype, fontconfig and cairo shared libraries.
> 
> # ldd -r /usr/bin/wezterm-gui
> [...]
> #
> 
> So I am wondering if this is sufficient to close the bug.


I am not certain how you derived the conclusion that you cannot see it building anything with the C compiler. cargo doesn't log this stuff anyway. But it's definitely building it.

For proof, see the ebuild after your patch.

SUBMODULES=(
        "freetype2 github freetype https://github.com/wez/freetype2 e4586d960f339cf75e2e0b34aee30a0ed8353c0d"
        "libpng github freetype https://github.com/glennrp/libpng 8439534daa1d3a5705ba92e653eda9251246dd61"
        "zlib github freetype https://github.com/madler/zlib cacf7f1d4e3d44d871b605da3b647f07d718623f"
        "harfbuzz github harfbuzz https://github.com/harfbuzz/harfbuzz 894a1f72ee93a1fd8dc1d9218cb3fd8f048be29a"
        "libssh-rs-tmp github crates https://github.com/wez/libssh-rs e57fdc813ed177738828ad73536f657cb2f91cf4"
        "libssh gitlab crates https://gitlab.com/libssh/libssh-mirror 6ad455a8acfe6032c2a87cf83f2d20463c30f8af"
)


My QA script also logs it:

 * QA Notice: cargo built package contains possibly vendored code
 *
 * crate mlua-sys: 7819496895598fde-lapi.o 7819496895598fde-lauxlib.o 7819496895598fde-lbaselib.o 7819496895598fde-lcode.o 7819496895598fde-ldblib.o 7819496895598fde-ldebug.o 7819496895598fde-ldo.o 7819496895598fde-ldump.o 7819496895598fde-lfunc.o 7819496895598fde-lgc.o 7819496895598fde-linit.o 7819496895598fde-liolib.o 7819496895598fde-llex.o 7819496895598fde-lmathlib.o 7819496895598fde-lmem.o 7819496895598fde-loadlib.o 7819496895598fde-lobject.o 7819496895598fde-lopcodes.o 7819496895598fde-loslib.o 7819496895598fde-lparser.o 7819496895598fde-lstate.o 7819496895598fde-lstring.o 7819496895598fde-lstrlib.o 7819496895598fde-ltable.o 7819496895598fde-ltablib.o 7819496895598fde-ltm.o 7819496895598fde-lundump.o 7819496895598fde-lvm.o 7819496895598fde-lzio.o 7819496895598fde-lcorolib.o 7819496895598fde-lctype.o 7819496895598fde-lutf8lib.o
 * crate zstd-sys: debug.o entropy_common.o error_private.o fse_decompress.o pool.o threading.o zstd_common.o fse_compress.o hist.o huf_compress.o zstd_compress.o zstd_compress_literals.o zstd_compress_sequences.o zstd_compress_superblock.o zstd_double_fast.o zstd_fast.o zstd_lazy.o zstd_ldm.o zstd_opt.o zstdmt_compress.o huf_decompress.o zstd_ddict.o zstd_decompress.o zstd_decompress_block.o huf_decompress_amd64.o cover.o divsufsort.o fastcover.o zdict.o zstd_v01.o zstd_v02.o zstd_v03.o zstd_v04.o zstd_v05.o zstd_v06.o zstd_v07.o
 * crate libsqlite3-sys: sqlite3.o
 * crate libgit2-sys: xdiffi.o xemit.o xhistogram.o xmerge.o xpatience.o xprepare.o xutils.o auth.o auth_negotiate.o auth_ntlm.o credential.o credential_helpers.o git.o http.o httpclient.o local.o smart.o smart_pkt.o smart_protocol.o ssh.o winhttp.o mbedtls.o openssl.o openssl_dynamic.o openssl_legacy.o registry.o socket.o stransport.o tls.o annotated_commit.o apply.o attr.o attr_file.o attrcache.o blame.o blame_git.o blob.o branch.o buf.o cache.o checkout.o cherrypick.o clone.o commit.o commit_graph.o commit_list.o config.o config_cache.o config_entries.o config_file.o config_mem.o config_parse.o config_snapshot.o crlf.o delta.o describe.o diff.o diff_driver.o diff_file.o diff_generate.o diff_parse.o diff_print.o diff_stats.o diff_tform.o diff_xdiff.o email.o errors.o fetch.o fetchhead.o filter.o graph.o hashsig.o ident.o idxmap.o ignore.o index.o indexer.o iterator.o libgit2.o mailmap.o merge.o merge_driver.o merge_file.o message.o midx.o mwindow.o netops.o notes.o object.o object_api.o odb.o odb_loose.o odb_mempack.o odb_pack.o offmap.o oid.o oidarray.o oidmap.o pack-objects.o pack.o parse.o patch.o patch_generate.o patch_parse.o path.o pathspec.o proxy.o push.o reader.o rebase.o refdb.o refdb_fs.o reflog.o refs.o refspec.o remote.o repository.o reset.o revert.o revparse.o revwalk.o signature.o stash.o status.o strarray.o submodule.o sysdir.o tag.o threadstate.o trace.o trailer.o transaction.o transport.o tree-cache.o tree.o worktree.o failalloc.o stdalloc.o map.o realpath.o sha1.o ubc_check.o collisiondetect.o openssl.o alloc.o date.o filebuf.o fs_path.o futils.o hash.o net.o pool.o posix.o pqueue.o rand.o regexp.o runtime.o sortedcache.o str.o strmap.o thread.o tsort.o utf8.o util.o vector.o varint.o wildmatch.o zstream.o http_parser.o pcre_byte_order.o pcre_chartables.o pcre_compile.o pcre_config.o pcre_dfa_exec.o pcre_exec.o pcre_fullinfo.o pcre_get.o pcre_globals.o pcre_jit_compile.o pcre_maketables.o pcre_newline.o pcre_ord2utf8.o pcre_printint.o pcre_refcount.o pcre_string_utils.o pcre_study.o pcre_tables.o pcre_ucd.o pcre_valid_utf8.o pcre_version.o pcre_xclass.o pcreposix.o xdiffi.o xemit.o xhistogram.o xmerge.o xpatience.o xprepare.o xutils.o auth.o auth_negotiate.o auth_ntlm.o credential.o credential_helpers.o git.o http.o httpclient.o local.o smart.o smart_pkt.o smart_protocol.o ssh.o winhttp.o mbedtls.o openssl.o openssl_dynamic.o openssl_legacy.o registry.o socket.o stransport.o tls.o annotated_commit.o apply.o attr.o attr_file.o attrcache.o blame.o blame_git.o blob.o branch.o buf.o cache.o checkout.o cherrypick.o clone.o commit.o commit_graph.o commit_list.o config.o config_cache.o config_entries.o config_file.o config_mem.o config_parse.o config_snapshot.o crlf.o delta.o describe.o diff.o diff_driver.o diff_file.o diff_generate.o diff_parse.o diff_print.o diff_stats.o diff_tform.o diff_xdiff.o email.o errors.o fetch.o fetchhead.o filter.o graph.o hashsig.o ident.o idxmap.o ignore.o index.o indexer.o iterator.o libgit2.o mailmap.o merge.o merge_driver.o merge_file.o message.o midx.o mwindow.o netops.o notes.o object.o object_api.o odb.o odb_loose.o odb_mempack.o odb_pack.o offmap.o oid.o oidarray.o oidmap.o pack-objects.o pack.o parse.o patch.o patch_generate.o patch_parse.o path.o pathspec.o proxy.o push.o reader.o rebase.o refdb.o refdb_fs.o reflog.o refs.o refspec.o remote.o repository.o reset.o revert.o revparse.o revwalk.o signature.o stash.o status.o strarray.o submodule.o sysdir.o tag.o threadstate.o trace.o trailer.o transaction.o transport.o tree-cache.o tree.o worktree.o failalloc.o stdalloc.o map.o realpath.o sha1.o ubc_check.o sha224-256.o collisiondetect.o builtin.o alloc.o date.o filebuf.o fs_path.o futils.o hash.o net.o pool.o posix.o pqueue.o rand.o regexp.o runtime.o sortedcache.o str.o strmap.o thread.o tsort.o utf8.o util.o varint.o vector.o wildmatch.o zstream.o http_parser.o pcre_byte_order.o pcre_chartables.o pcre_compile.o pcre_config.o pcre_dfa_exec.o pcre_exec.o pcre_fullinfo.o pcre_get.o pcre_jit_compile.o pcre_globals.o pcre_maketables.o pcre_newline.o pcre_ord2utf8.o pcre_printint.o pcre_refcount.o pcre_string_utils.o pcre_study.o pcre_tables.o pcre_ucd.o pcre_valid_utf8.o pcre_version.o pcre_xclass.o pcreposix.o
 * crate libssh-rs-sys: bcrypt_pbkdf.o blowfish.o chacha.o curve25519_ref.o ed25519.o fe25519.o ge25519.o poly1305.o sc25519.o libcrypto.o noop.o pthread.o agent.o auth.o base64.o bignum.o bind_config.o buffer.o callbacks.o chachapoly.o channels.o client.o config.o config_parser.o connect.o connector.o crypto_common.o curve25519.o dh-gex.o dh.o dh_crypto.o ecdh.o ecdh_crypto.o error.o getpass.o getrandom_crypto.o gzip.o init.o kdf.o kex.o known_hosts.o knownhosts.o legacy.o libcrypto.o log.o match.o md_crypto.o messages.o misc.o options.o packet.o packet_cb.o packet_crypt.o pcap.o pki.o pki_container_openssh.o pki_crypto.o pki_ed25519.o pki_ed25519_common.o poll.o scp.o server.o session.o sftp.o socket.o string.o threads.o token.o wrapper.o
 * crate xcb-imdkit: lcCT.o lcUTF8.o lcCharSet.o parser.o ximproto.o protocolhandler.o message.o common.o imclient.o clientprotocolhandler.o encoding.o logging.o
 * crate harfbuzz: harfbuzz.o
 * crate libssh2-sys: agent.o bcrypt_pbkdf.o blowfish.o channel.o comp.o crypt.o global.o hostkey.o keepalive.o kex.o knownhost.o mac.o misc.o packet.o pem.o publickey.o scp.o session.o sftp.o transport.o userauth.o userauth_kbd_packet.o openssl.o
 * crate freetype: adler32.o compress.o crc32.o deflate.o gzclose.o gzlib.o gzread.o gzwrite.o inflate.o infback.o inftrees.o inffast.o trees.o uncompr.o zutil.o png.o pngerror.o pngget.o pngmem.o pngpread.o pngread.o pngrio.o pngrtran.o pngrutil.o pngset.o pngtrans.o pngwio.o pngwrite.o pngwtran.o pngwutil.o autofit.o ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o ftgasp.o ftglyph.o ftgxval.o ftinit.o ftmm.o ftotval.o ftpatent.o ftpfr.o ftstroke.o ftsynth.o ftsystem.o fttype1.o ftwinfnt.o ftdebug.o bdf.o ftbzip2.o ftcache.o cff.o type1cid.o ftgzip.o ftlzw.o pcf.o pfr.o psaux.o pshinter.o psnames.o raster.o ftbsdf.o ftsdf.o ftsdfcommon.o ftsdfrend.o sfnt.o smooth.o ftsvg.o truetype.o type1.o type42.o winfnt.o

 * QA Notice: cargo built package contains possibly vendored code from unsolvable crates
 *
 * ring
Comment 8 Eli Schwartz 2024-05-12 15:49:10 UTC
I would like to see *all* vendored code stop being vendored. :) However if upstream is going to work around the default functionality of the cargo ecosystem (which has existing mechanisms in many cases for handling this sort of thing) then I'm not strongly motivated to fix the remaining issues.

It would be best if upstream would just not do private, wezterm-specific forks of existing crates that handle things better and come with actual options.