Closed nyurik closed 2 months ago
Can you configure with no default features. Ffi requires one definition only. Perhaps we should disable ffi by default?
On Tue, Apr 9, 2024 at 1:54 PM Yuri Astrakhan @.***> wrote:
Cargo.toml
[dependencies]brotli3 = { version = "3", package = "brotli" }brotli4 = { version = "4", package = "brotli" }
src/main.rs
use std::io::Write as _; fn main() { brotli3::CompressorWriter::new(Vec::new(), 1024, 11, 22) .write_all(b"foo") .unwrap(); brotli4::CompressorWriter::new(Vec::new(), 1024, 11, 22) .write_all(b"foo") .unwrap();}
Error
Full paths were replaced with ...
error: linking with
cc
failed: exit status: 1 | = note: LC_ALL="C" PATH="..." VSLANG="1033" "cc" "-m64" "/tmp/rustcY05l9b/symbols.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.133juv20ssu9kx5.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.19h7r4ftiwvohtr6.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.1jp147se0pjudyb9.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.1mw1tzwdpxwe7gal.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.1p5v78lurm2y1j8j.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.1tkzryepvhwijd4t.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.1ukf4wydapb94gtd.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.1unl1ydiqzun1jf5.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.1yt2ygkdy5cff2ah.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.1yzo1zqqz0m1typd.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.21waacy63cw8jzh.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.2b25tgc7534isx4e.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.2c4ccwb0m8d5dkdb.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.2es25b3suaie8kyi.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.2nqeup0lm4txhksu.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.2omfb579ku67sx1r.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.2qt497k0a1qf8to7.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.35tj30t21tbglb8j.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.36r9llqj3hzzbitr.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.36x4f4p1oupq0waq.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.3954sqj17vad0qwg.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.3gg9d8lp8qb1eooy.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.3ixd3cchxdfnywte.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.3o6sc219lu89acjx.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.3owev0dd3dbqwj0c.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.3rimjp5wxl6g14u.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.3trqi574zyshws8k.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.40rmlrkv1t1lwaao.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.48qvpf3y1jd3qxvu.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4e6yhuj0de0ky1if.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4ejvbuy5ewfhl9a6.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4fyix76rpwp7b6tg.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4g0f3bw1ykr7vara.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4h417mi70vcfo6qc.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4ikcrhcivlt2bioh.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4jndbmquovo9x5oe.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4jsluazjzgp5nlf0.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4nu5rkzxyfwbbxtj.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4orcykm97828rn6t.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4ou04oykiq2pukmq.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4s24021dqwn620yn.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4tai1mwegmz2vxb.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.4tam7sxnqeoo0xgq.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.4ux245g7vbkrkmog.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.4zdqm0kv81zu656v.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.51amt1iqu13qfyz0.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.53ve2f03c4oh7jbb.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.5ckt4kofyyw71xik.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.5e8lrpu3hcqgpx7w.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.fap3yc2f4jqodl3.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.i7tdbwg4h76mxjp.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.tq78jf6ov4fabhv.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.wfy9j5khq7pkm02.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.wqguzcmzkyfmrmc.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.x69949c9wlx3nlj.rcgu.o" ".../target/debug/deps/mydemo-bd3cc94a77453027.yb9pcwn4u1j5ot2.rcgu.o" (.../target/debug/deps/mydemo-bd3cc94a77453027.3vuuabm15e0wf9ad.rcgu.o" "-Wl,--as-needed" "-L" (.../target/debug/deps" "-L" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" (.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib" ".../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib" ".../target/debug/deps/libbrotli-82404c8524ef2312.rlib" ".../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib" ".../target/debug/deps/liballoc_stdlib-8babd639daafa6af.rlib" ".../target/debug/deps/liballoc_no_stdlib-5ff7ee24da185d85.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-6e3078511c661ac3.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-252c22ad03c975c9.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-d80cad399a4d0390.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-27491650d14ec48b.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-97d68acfa4555965.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-c70b304f6ac84900.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-d55f2ec1b1801f29.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0b96f850bca44a32.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-ee200428a02d516d.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-53d84a0642c19f2b.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-217c01f7aaf0f8d4.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-2b97858586af9abb.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-cc333506f95be41d.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-690e7438295ce0c8.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-c9c6c96eccfdab53.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-cb895a9d9d73a7fa.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-433bd1aab5f6d647.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5f8e0208f8278cbc.rlib" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-1088ecd7666b60f4.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" ".../.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" ".../target/debug/deps/mydemo-bd3cc94a77453027" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" = note: /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderCreateInstance': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:69: multiple definition of
BrotliEncoderCreateInstance';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:69: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderSetParameter': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:109: multiple definition of
BrotliEncoderSetParameter';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:109: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderDestroyInstance': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:118: multiple definition of
BrotliEncoderDestroyInstance';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:118: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderIsFinished': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:134: multiple definition of
BrotliEncoderIsFinished';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:134: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderHasMoreOutput': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:139: multiple definition of
BrotliEncoderHasMoreOutput';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:139: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderSetCustomDictionary': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:144: multiple definition of
BrotliEncoderSetCustomDictionary'; .../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:144: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderTakeOutput': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:163: multiple definition of
BrotliEncoderTakeOutput';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:163: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderVersion': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:170: multiple definition of
BrotliEncoderVersion';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:170: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderMaxCompressedSize': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:174: multiple definition of
BrotliEncoderMaxCompressedSize';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:174: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderCompress': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:178: multiple definition of
BrotliEncoderCompress';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:178: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderCompressStreaming': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:243: multiple definition of
BrotliEncoderCompressStreaming';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:243: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderCompressStream': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:263: multiple definition of
BrotliEncoderCompressStream';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:263: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderMallocU8': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:339: multiple definition of
BrotliEncoderMallocU8';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:339: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderFreeU8': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:354: multiple definition of
BrotliEncoderFreeU8';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:354: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderMallocUsize': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:370: multiple definition of
BrotliEncoderMallocUsize';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:370: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionBrotliEncoderFreeUsize': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/compressor.rs:384: multiple definition of
BrotliEncoderFreeUsize';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.12.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/compressor.rs:384: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionCBrotliDecoderErrorString': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/decompressor.rs:144: multiple definition of
CBrotliDecoderErrorString';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.09.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/decompressor.rs:144: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionCBrotliDecoderHasMoreOutput': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/decompressor.rs:149: multiple definition of
CBrotliDecoderHasMoreOutput';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.09.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/decompressor.rs:149: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionCBrotliDecoderTakeOutput': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/decompressor.rs:156: multiple definition of
CBrotliDecoderTakeOutput';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.09.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/decompressor.rs:156: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionCBrotliDecoderIsUsed': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/decompressor.rs:164: multiple definition of
CBrotliDecoderIsUsed';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.09.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/decompressor.rs:164: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionCBrotliDecoderIsFinished': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/decompressor.rs:168: multiple definition of
CBrotliDecoderIsFinished';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.09.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/decompressor.rs:168: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionCBrotliDecoderGetErrorCode': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/decompressor.rs:174: multiple definition of
CBrotliDecoderGetErrorCode';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.09.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/decompressor.rs:174: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.09.rcgu.o): in functionCBrotliDecoderGetErrorString': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/decompressor.rs:180: multiple definition of
CBrotliDecoderGetErrorString';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.09.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/decompressor.rs:180: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBroccoliCreateInstance': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/broccoli.rs:50: multiple definition of
BroccoliCreateInstance';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/broccoli.rs:50: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBroccoliCreateInstanceWithWindowSize': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/broccoli.rs:54: multiple definition of
BroccoliCreateInstanceWithWindowSize'; .../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/broccoli.rs:54: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBroccoliDestroyInstance': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/broccoli.rs:58: multiple definition of
BroccoliDestroyInstance';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/broccoli.rs:58: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBroccoliNewBrotliFile': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/broccoli.rs:61: multiple definition of
BroccoliNewBrotliFile';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/broccoli.rs:61: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBroccoliConcatStream': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/broccoli.rs:68: multiple definition of
BroccoliConcatStream';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/broccoli.rs:68: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBroccoliConcatStreaming': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/broccoli.rs:90: multiple definition of
BroccoliConcatStreaming';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/broccoli.rs:90: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBroccoliConcatFinish': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/broccoli.rs:107: multiple definition of
BroccoliConcatFinish';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/broccoli.rs:107: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBroccoliConcatFinished': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/broccoli.rs:124: multiple definition of
BroccoliConcatFinished';(.../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/broccoli.rs:124: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBrotliEncoderMaxCompressedSizeMulti': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/multicompress/mod.rs:49: multiple definition of
BrotliEncoderMaxCompressedSizeMulti'; .../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/multicompress/mod.rs:49: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBrotliEncoderCompressMulti': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/multicompress/mod.rs:95: multiple definition of
BrotliEncoderCompressMulti'; .../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/multicompress/mod.rs:95: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBrotliEncoderCreateWorkPool': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/multicompress/mod.rs:241: multiple definition of
BrotliEncoderCreateWorkPool'; .../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/multicompress/mod.rs:241: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBrotliEncoderDestroyWorkPool': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/multicompress/mod.rs:292: multiple definition of
BrotliEncoderDestroyWorkPool'; .../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/multicompress/mod.rs:292: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli-82404c8524ef2312.rlib(brotli-82404c8524ef2312.brotli.7d9251009f7c37af-cgu.11.rcgu.o): in functionBrotliEncoderCompressWorkPool': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-3.5.0/src/ffi/multicompress/mod.rs:310: multiple definition of
BrotliEncoderCompressWorkPool'; .../target/debug/deps/libbrotli-2e26ba8f7b7a5e34.rlib(brotli-2e26ba8f7b7a5e34.brotli.94aad63d4c55d91c-cgu.15.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-4.0.0/src/ffi/multicompress/mod.rs:310: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderCreateInstance': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:61: multiple definition of
BrotliDecoderCreateInstance'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:59: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderSetParameter': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:103: multiple definition of
BrotliDecoderSetParameter'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:101: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderDecompressPrealloc': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:110: multiple definition of
BrotliDecoderDecompressPrealloc'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:108: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderDecompressWithReturnInfo': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:132: multiple definition of
BrotliDecoderDecompressWithReturnInfo'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:130: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderDecompress': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:144: multiple definition of
BrotliDecoderDecompress'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:142: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderDecompressStream': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:216: multiple definition of
BrotliDecoderDecompressStream'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:214: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderDecompressStreaming': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:260: multiple definition of
BrotliDecoderDecompressStreaming'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:258: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderMallocU8': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:286: multiple definition of
BrotliDecoderMallocU8'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:284: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderFreeU8': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:295: multiple definition of
BrotliDecoderFreeU8'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:293: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderMallocUsize': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:304: multiple definition of
BrotliDecoderMallocUsize'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:302: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderFreeUsize': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:313: multiple definition of
BrotliDecoderFreeUsize'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:311: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderDestroyInstance': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:322: multiple definition of
BrotliDecoderDestroyInstance'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:320: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderHasMoreOutput': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:335: multiple definition of
BrotliDecoderHasMoreOutput'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:333: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderTakeOutput': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:340: multiple definition of
BrotliDecoderTakeOutput'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:338: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderIsUsed': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:347: multiple definition of
BrotliDecoderIsUsed'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:345: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderIsFinished': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:351: multiple definition of
BrotliDecoderIsFinished'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:349: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderGetErrorCode': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:355: multiple definition of
BrotliDecoderGetErrorCode'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:353: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderGetErrorString': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:360: multiple definition of
BrotliDecoderGetErrorString'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:358: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderErrorString': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:371: multiple definition of
BrotliDecoderErrorString'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:369: first defined here /usr/bin/ld:(.../target/debug/deps/libbrotli_decompressor-e4130454254b37db.rlib(brotli_decompressor-e4130454254b37db.brotli_decompressor.94de88837b202c44-cgu.7.rcgu.o): in functionBrotliDecoderVersion': .../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-2.5.1/src/ffi/mod.rs:379: multiple definition of
BrotliDecoderVersion'; .../target/debug/deps/libbrotli_decompressor-8758ba6ba43062cc.rlib(brotli_decompressor-8758ba6ba43062cc.brotli_decompressor.2fd5c7428720458e-cgu.7.rcgu.o):.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/brotli-decompressor-3.0.0/src/ffi/mod.rs:377: first defined here collect2: error: ld returned 1 exit status— Reply to this email directly, view it on GitHub https://github.com/dropbox/rust-brotli/issues/179, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALRELVLAAU4FEPORIZJCTY4RIOTAVCNFSM6AAAAABF7IOQTWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIZTIMRXHE2TQOI . You are receiving this because you are subscribed to this thread.Message ID: @.***>
If ffi
is not needed for "typical" operations, then yes, I think we should not require it by default. The problem is that now there might be a lot of projects that simply used the default without realizing they did not needed it, and the downstream users end up with conflicts. The bigger issue is that removing ffi
from the default
feature is also a breaking change... Luckly v4 hasn't been out for long, so perhaps simply releasing v5 without it is a good way forward
P.S. Note that in many cases the end user is not even aware of which brotli version is being used because they are not using it directly. For example, actix-http
uses v3, and async-compression
uses v4 - so if used together, they would fail
good points here. Pushed a new release that turns it off by default. End-projects can still use it if necessary.
Cargo.toml
src/main.rs
Error
Full paths were replaced with
...