shinchiro / mpv-winbuild-cmake

CMake-based MinGW-w64 Cross Toolchain
659 stars 116 forks source link

duplicate symbol between libdovi.a and librav1e.a #687

Closed zhongfly closed 5 months ago

zhongfly commented 5 months ago

After https://github.com/quietvoid/dovi_tool/commit/96825b0b744ca83ddeaf2f0a47e6af02d5b282c4 , ffmpeg build has following error:

ld.lld: error: duplicate symbol: rust_eh_personality
>>> defined at library\std\src\sys\personality/gcc.rs:241
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src\sys\personality/gcc.rs:241
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: __rdl_alloc
>>> defined at library\std\src/alloc.rs:389
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/alloc.rs:389
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: __rdl_dealloc
>>> defined at library\std\src/alloc.rs:399
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/alloc.rs:399
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: __rdl_realloc
>>> defined at library\std\src/alloc.rs:406
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/alloc.rs:406
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: __rdl_alloc_zeroed
>>> defined at library\std\src/alloc.rs:421
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/alloc.rs:421
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: __rust_drop_panic
>>> defined at library\std\src/panicking.rs:59
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/panicking.rs:60
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: __rust_foreign_exception
>>> defined at library\std\src/panicking.rs:67
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/panicking.rs:68
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: rust_begin_unwind
>>> defined at library\std\src/panicking.rs:600
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/panicking.rs:593
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: rust_panic
>>> defined at library\std\src/panicking.rs:846
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/panicking.rs:830
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: __rg_oom
>>> defined at library\std\src/alloc.rs:364
>>>            libdovi.a(std-1683fd82638343be.std.7703807f8562b358-cgu.0.rcgu.o)
>>> defined at library\std\src/alloc.rs:364
>>>            librav1e.a(std-a1f74822451877d1.std.ef05f9c8c2f9b577-cgu.0.rcgu.o)

ld.lld: error: duplicate symbol: __rdl_oom
>>> defined at library\alloc\src/alloc.rs:411
>>>            librav1e.a(alloc-2552a9f38657c70e.alloc.1e8f1d4daedf16ef-cgu.0.rcgu.o)
>>> defined at library\alloc\src/alloc.rs:410
>>>            libdovi.a(alloc-1515046c1e15d59c.alloc.d140d86951df49d8-cgu.0.rcgu.o)
zhongfly commented 5 months ago

@Andarwinux Can you reopen your svtav1 pr?

shinchiro commented 5 months ago

I would prefer removing av1 encoder

zhongfly commented 5 months ago

Probably due to the rav1e update, the problem no longer occurs.