Build dshow on ARM
Hello, I'm testing to compile VLC on ARM32. (many lib not compatible with ARM64) It seems that Dshow does not like it too much.Any idea for the disabled?
libvlc configuration
--------------------
version : 3.0.16
system : mingw32
architecture : arm
optimizations : yes
vlc aliases : cvlc rvlc qvlc svlc
make all-recursive
make[1] : on entre dans le répertoire « /home/erwan/vlc/build »
Making all in compat
make[2] : on entre dans le répertoire « /home/erwan/vlc/build/compat »
make all-am
make[3] : on entre dans le répertoire « /home/erwan/vlc/build/compat »
make[3]: rien à faire pour « all-am ».
make[3] : on quitte le répertoire « /home/erwan/vlc/build/compat »
make[2] : on quitte le répertoire « /home/erwan/vlc/build/compat »
Making all in doc
make[2] : on entre dans le répertoire « /home/erwan/vlc/build/doc »
make[2]: rien à faire pour « all ».
make[2] : on quitte le répertoire « /home/erwan/vlc/build/doc »
Making all in po
make[2] : on entre dans le répertoire « /home/erwan/vlc/build/po »
make[2]: rien à faire pour « all ».
make[2] : on quitte le répertoire « /home/erwan/vlc/build/po »
Making all in share
make[2] : on entre dans le répertoire « /home/erwan/vlc/build/share »
make[2]: rien à faire pour « all ».
make[2] : on quitte le répertoire « /home/erwan/vlc/build/share »
Making all in src
make[2] : on entre dans le répertoire « /home/erwan/vlc/build/src »
GEN stamp-revision
make all-am
make[3] : on entre dans le répertoire « /home/erwan/vlc/build/src »
make[3]: rien à faire pour « all-am ».
make[3] : on quitte le répertoire « /home/erwan/vlc/build/src »
make[2] : on quitte le répertoire « /home/erwan/vlc/build/src »
Making all in modules
make[2] : on entre dans le répertoire « /home/erwan/vlc/build/modules »
make all-recursive
make[3] : on entre dans le répertoire « /home/erwan/vlc/build/modules »
Making all in .
make[4] : on entre dans le répertoire « /home/erwan/vlc/build/modules »
CXXLD libdshow_plugin.la
ld.lld: error: undefined symbol: __rt_udiv64
>>> referenced by ../../modules/access/dshow/dshow.cpp:1891
>>> access/dshow/.libs/dshow.o:(Demux(demux_t*))
>>> referenced by ../misc/strtoumax.c:95
>>> libmingwex.a(libarm32_libmingwex_a-strtoumax.o):(strtoull)
>>> referenced by ../misc/wcstoumax.c:98
>>> libmingwex.a(libarm32_libmingwex_a-wcstoumax.o):(wcstoull)
>>> referenced 5 more times
ld.lld: error: undefined symbol: __stoi64
>>> referenced by ../../modules/access/dshow/dshow.cpp:1352
>>> access/dshow/.libs/dshow.o:(OpenDevice(vlc_object_t*, access_sys_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool))
ld.lld: error: undefined symbol: __rt_sdiv64
>>> referenced by ../../modules/access/dshow/dshow.cpp:1352
>>> access/dshow/.libs/dshow.o:(OpenDevice(vlc_object_t*, access_sys_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool))
>>> referenced by ../misc/strtoimax.c:90
>>> libmingwex.a(libarm32_libmingwex_a-strtoimax.o):(strtoll)
>>> referenced by ../misc/wcstoimax.c:97
>>> libmingwex.a(libarm32_libmingwex_a-wcstoimax.o):(wcstoll)
>>> referenced 8 more times
ld.lld: error: undefined symbol: __rt_udiv
>>> referenced by ../../modules/access/dshow/dshow.cpp:1513
>>> access/dshow/.libs/dshow.o:(OpenDevice(vlc_object_t*, access_sys_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool))
>>> referenced by ../../modules/access/dshow/dshow.cpp:1533
>>> access/dshow/.libs/dshow.o:(OpenDevice(vlc_object_t*, access_sys_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool))
>>> referenced by ../../modules/access/dshow/dshow.cpp:1558
>>> access/dshow/.libs/dshow.o:(OpenDevice(vlc_object_t*, access_sys_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool))
>>> referenced 2 more times
ld.lld: error: undefined symbol: __rt_sdiv
>>> referenced by ../../modules/access/dshow/dshow.cpp:1446
>>> access/dshow/.libs/dshow.o:(OpenDevice(vlc_object_t*, access_sys_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool))
>>> referenced by ../../modules/access/dshow/dshow.cpp:1465
>>> access/dshow/.libs/dshow.o:(OpenDevice(vlc_object_t*, access_sys_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool))
>>> referenced by libc++.a(libunwind.cpp.obj):(libunwind::DwarfInstructions<libunwind::LocalAddressSpace, libunwind::Registers_arm>::evaluateExpression(unsigned int, libunwind::LocalAddressSpace&, libunwind::Registers_arm const&, unsigned int))
>>> referenced 1 more times
ld.lld: error: undefined symbol: __i64tos
>>> referenced by ../../modules/access/dshow/dshow.cpp:1612
>>> access/dshow/.libs/dshow.o:(OpenDevice(vlc_object_t*, access_sys_t*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool))
>>> referenced by ../../modules/access/dshow/filter.cpp:524
>>> access/dshow/.libs/filter.o:(CapturePin::QueryAccept(_AMMediaType const*))
ld.lld: error: undefined symbol: __chkstk
>>> referenced by libssp.a(ssp.o):(fail)
>>> referenced by ../crt/pseudo-reloc.c:477
>>> libmingw32.a(libarm32_libmingw32_a-pseudo-reloc.o):(_pei386_runtime_relocator)
>>> referenced by libc++.a(libunwind.cpp.obj):(libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_arm>::setInfoBasedOnIPRegister(bool))
>>> referenced 9 more times
clang-13: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [Makefile:15544: libdshow_plugin.la] Error 1
make[4] : on quitte le répertoire « /home/erwan/vlc/build/modules »
make[3]: *** [Makefile:28010: all-recursive] Error 1
make[3] : on quitte le répertoire « /home/erwan/vlc/build/modules »
make[2]: *** [Makefile:12803: all] Error 2
make[2] : on quitte le répertoire « /home/erwan/vlc/build/modules »
make[1]: *** [Makefile:1559: all-recursive] Error 1
make[1] : on quitte le répertoire « /home/erwan/vlc/build »
make: *** [Makefile:1446: all] Error 2
Edited by Rwan