Skip to content

Commit

Permalink
Add libraries for mingw/GNU ABI rust
Browse files Browse the repository at this point in the history
Otherwise you have
        ❯ cargo b -F static --target x86_64-pc-windows-gnu
           Compiling libftd2xx-ffi v0.8.5 (.../libftd2xx-ffi)
           Compiling cfg-if v1.0.0
        error: could not find native static library `ftd2xx`, perhaps an -L flag is missing?

        error: could not compile `libftd2xx-ffi` due to previous error

Created with `gendef` from mingw-w64-v10.0.0/mingw-w64-tools/gendef and
x86_64-w64-mingw32-dlltool from mingw-w64 bintools

        $ gendef ftd2xx64.dll
        $ x86_64-w64-mingw32-dlltool --as-flags=--64 -m i386:x86-64 -k --output-lib libftd2xx.a --input-def ftd2xx64.def

See
https://sourceforge.net/p/mingw-w64/wiki2/Answer%20generation%20of%20DLL%20import%20library/
https://stackoverflow.com/questions/11793370/how-can-i-convert-a-vsts-lib-to-a-mingw-a

I tried the 32-bit version equivalent too, but I didn't succeed

        $ gendef ftd2xx.dll
        $ i686-w64-mingw32-dlltool --as-flags=--32 -m i386 -k --output-lib libftd2xx.a --input-def ftd2xx.def

It gives me

        error: linking with `i686-w64-mingw32-gcc` failed: exit status: 1
          |
          = note: "i686-w64-mingw32-gcc" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-Wl,--large-address-aware" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/rsbegin.o" "/tmp/rustcNwn5XD/symbols.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.18cg3lkp0ox1niuz.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1a2yb283fvmix7mn.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1e6b4s8dc47pgda7.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1g2e0d2si4w606bh.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1y4iskyzv8rvw0fd.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.26y00rqklyxqv569.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.2cbu41u1qakbf0jd.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.2fhfkki64esteo6x.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.2gwzznyo0iuxm3wf.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.2i7rmgcexbfz1zbx.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.2rl400t7pxm9ryzu.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.2td98tvuo3ap4yki.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.2x5zgaz88zb4530w.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.2zyv1orloclxdbf5.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.34vekv9ch94uihc.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.39manho08t3o4ig9.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.3bxk0mj2bxgoiege.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.3cyh60cp98vpslv7.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.3dru9xt795zfm9o2.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.3q3ihisxs3eb1ufp.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.3v7ew6btgq0qb55s.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.3zsoj7qmlv65ukgq.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.405d79q5orop9n9f.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.42mujrqwnp2dketl.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.48sp8gl7ynzj58fa.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.49r00ed522v71quo.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.49sj6op9sy9cxf8x.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.4al5pxycywsk0r35.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.4drxnj1ihexiyh4y.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.4qb6ne4le4sodg6l.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.4yxh9fdiduhzrnhp.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.5ciq4l067i542igs.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.5dk52pt7ivjtpn35.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.5lfmu9neb1og9hr.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.dh46i7anenqsb41.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.duvhpxi35c0zas9.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.vai1lf8dg2yvems.rcgu.o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.3bzsz1alnipn5jco.rcgu.o" "-L" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps" "-L" "/tmp/ftdi-windows-gnu-test/target/debug/deps" "-L" "/tmp/libftd2xx-ffi/vendor/windows/Static/i386" "-L" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib" "-Wl,-Bstatic" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libftdi_embedded_hal-b57f9fb3ed8fda18.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libembedded_hal_nb-a4b9cafa7e768cb4.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx-dac11a9d0beb7d30.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblog-077be3fa69b6c72f.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx_ffi-65280a271df0bbb3.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libcfg_if-fa56bff161aa35e8.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libftdi_mpsse-162b893530c114d6.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libembedded_hal-852d0fb8c1e08e96.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libvoid-4aecd2516e24c3cf.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libnb-1ff1d3a2dfea8ecd.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libnb-baa01238a52332c0.rlib" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/libembedded_hal-92b0fcf6cbbfcf9b.rlib" "-Wl,--start-group" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libstd-15fb4244ba810ccb.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libpanic_unwind-fb1ba884424b1391.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libobject-a2f75630be61a1e7.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libmemchr-84adb6c2964e7238.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libaddr2line-11c26fff489a4c72.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libgimli-883137f4a16c8383.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/librustc_demangle-24d2250a58f0df34.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libstd_detect-03be0bc4a5c39a79.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libhashbrown-14bef48cbad7c84a.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libminiz_oxide-b4535c8397a6efb7.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libadler-32e0c526c8215fa3.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/librustc_std_workspace_alloc-11a8dcc034680bbe.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libunwind-0167b182a8481682.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libcfg_if-25b318fc6b8592ec.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/liblibc-ca57748d8a80220e.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/liballoc-96618852d32fbf17.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/librustc_std_workspace_core-fea03c05f48b5e1d.rlib" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libcore-f3dc9a5bac545e0e.rlib" "-Wl,--end-group" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libcompiler_builtins-efe19633a174deab.rlib" "-Wl,-Bdynamic" "-ladvapi32" "-luserenv" "-lkernel32" "-lws2_32" "-lbcrypt" "-lgcc_eh" "-l:libpthread.a" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib" "-o" "/tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.exe" "-Wl,--gc-sections" "-no-pie" "-nodefaultlibs" "/home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/rsend.o"
          = note: /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1a2yb283fvmix7mn.rcgu.o: in function `ZN17ftdi_embedded_hal4gpio22InputPin$LT$Device$GT$3get17h2a83f20a4748ea96E':
                  /home/rmk/.cargo/git/checkouts/ftdi-embedded-hal-2b2b820a903ffac1/1770d4c/src/gpio.rs:146: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1a2yb283fvmix7mn.rcgu.o: in function `ZN17ftdi_embedded_hal4gpio22InputPin$LT$Device$GT$3new17hc67119f1ba367a76E':
                  /home/rmk/.cargo/git/checkouts/ftdi-embedded-hal-2b2b820a903ffac1/1770d4c/src/gpio.rs:129: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1e6b4s8dc47pgda7.rcgu.o: in function `ZN3std4sync5mutex14Mutex$LT$T$GT$3new17h8ce196903131195eE':
                  /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52\library\std\src\sync\mutex.rs:218: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1g2e0d2si4w606bh.rcgu.o: in function `ZN4core3ops8function6FnOnce9call_once17he1af58539747a1f3E':
                  /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52\library\core\src\ops\function.rs:248: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.1y4iskyzv8rvw0fd.rcgu.o: in function `ZN3std10sys_common9backtrace28__rust_begin_short_backtrace17h00341bd542258844E':
                  /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52\library\std\src\sys_common\backtrace.rs:118: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/ftdi_windows_gnu_test-b77a591a11908e8d.3cyh60cp98vpslv7.rcgu.o:/tmp/ftdi-windows-gnu-test/src/main.rs:8: more undefined references to `_Unwind_Resume' follow
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx-dac11a9d0beb7d30.rlib(libftd2xx-dac11a9d0beb7d30.libftd2xx.7e7b58c8-cgu.0.rcgu.o): in function `ZN9libftd2xx6rescan17hdcc12623cbcb5297E':
                  /home/rmk/.cargo/registry/src/github.com-1ecc6299db9ec823/libftd2xx-0.32.1/src/lib.rs:492: undefined reference to `FT_Rescan@0'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx-dac11a9d0beb7d30.rlib(libftd2xx-dac11a9d0beb7d30.libftd2xx.7e7b58c8-cgu.0.rcgu.o): in function `ZN9libftd2xx10FtdiCommon11device_type17ha5ffaef80616176cE':
                  /home/rmk/.cargo/registry/src/github.com-1ecc6299db9ec823/libftd2xx-0.32.1/src/lib.rs:590: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx-dac11a9d0beb7d30.rlib(libftd2xx-dac11a9d0beb7d30.libftd2xx.7e7b58c8-cgu.0.rcgu.o): in function `ZN9libftd2xx10FtdiCommon11device_info17h1d5f8e8b94434679E':
                  /home/rmk/.cargo/registry/src/github.com-1ecc6299db9ec823/libftd2xx-0.32.1/src/lib.rs:625: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx-dac11a9d0beb7d30.rlib(libftd2xx-dac11a9d0beb7d30.libftd2xx.7e7b58c8-cgu.0.rcgu.o): in function `ZN9libftd2xx10ft_open_ex17h20d62565aefdcba5E':
                  /home/rmk/.cargo/registry/src/github.com-1ecc6299db9ec823/libftd2xx-0.32.1/src/lib.rs:1960: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx-dac11a9d0beb7d30.rlib(libftd2xx-dac11a9d0beb7d30.libftd2xx.7e7b58c8-cgu.0.rcgu.o): in function `ZN83_$LT$libftd2xx..Ft232h$u20$as$u20$core..convert..TryFrom$LT$libftd2xx..Ftdi$GT$$GT$8try_from17hc39a272ecb211747E':
                  /home/rmk/.cargo/registry/src/github.com-1ecc6299db9ec823/libftd2xx-0.32.1/src/lib.rs:2272: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx-dac11a9d0beb7d30.rlib(libftd2xx-dac11a9d0beb7d30.libftd2xx.7e7b58c8-cgu.0.rcgu.o): in function `ZN84_$LT$libftd2xx..Ft2232h$u20$as$u20$core..convert..TryFrom$LT$libftd2xx..Ftdi$GT$$GT$8try_from17h093cfe5b26099ad8E':
                  /home/rmk/.cargo/registry/src/github.com-1ecc6299db9ec823/libftd2xx-0.32.1/src/lib.rs:2272: undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /tmp/ftdi-windows-gnu-test/target/i686-pc-windows-gnu/debug/deps/liblibftd2xx-dac11a9d0beb7d30.rlib(libftd2xx-dac11a9d0beb7d30.libftd2xx.7e7b58c8-cgu.0.rcgu.o):/home/rmk/.cargo/registry/src/github.com-1ecc6299db9ec823/libftd2xx-0.32.1/src/lib.rs:2272: more undefined references to `_Unwind_Resume' follow
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libpanic_unwind-fb1ba884424b1391.rlib(panic_unwind-fb1ba884424b1391.panic_unwind.953b687c-cgu.0.rcgu.o): in function `ZN12panic_unwind8real_imp5panic17h36aaeaca180f6b19E':
                  /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library\panic_unwind\src/gcc.rs:62: undefined reference to `_Unwind_RaiseException'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libpanic_unwind-fb1ba884424b1391.rlib(panic_unwind-fb1ba884424b1391.panic_unwind.953b687c-cgu.0.rcgu.o): in function `ZN5alloc5boxed12Box$LT$T$GT$3new17hb252bc87d676ca07E':
                  /rustc/a55dd71d5fb0ec5a6a3a9e8c27b2127ba491ce52/library\alloc\src/boxed.rs:(.text+0x48c): undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libobject-a2f75630be61a1e7.rlib(object-a2f75630be61a1e7.object.2daa9073-cgu.0.rcgu.o):object.2daa9073-cg:(.text+0x2de): undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libobject-a2f75630be61a1e7.rlib(object-a2f75630be61a1e7.object.2daa9073-cgu.0.rcgu.o):object.2daa9073-cg:(.text+0x252c): undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libgimli-883137f4a16c8383.rlib(gimli-883137f4a16c8383.gimli.90d093f9-cgu.0.rcgu.o):gimli.90d093f9-cgu:(.text+0x4ab): undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libgimli-883137f4a16c8383.rlib(gimli-883137f4a16c8383.gimli.90d093f9-cgu.0.rcgu.o):gimli.90d093f9-cgu:(.text+0x1ebd): undefined reference to `_Unwind_Resume'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /home/rmk/.rustup/toolchains/1.64-x86_64-unknown-linux-gnu/lib/rustlib/i686-pc-windows-gnu/lib/libgimli-883137f4a16c8383.rlib(gimli-883137f4a16c8383.gimli.90d093f9-cgu.0.rcgu.o):gimli.90d093f9-cgu:(.text+0x1f3a): more undefined references to `_Unwind_Resume' follow
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x32d): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x390): undefined reference to `__MCFCRT_ReallyWaitForMutexForever'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x3ba): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x1510): undefined reference to `__MCFCRT_ReallyWaitForMutexForever'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x15b0): undefined reference to `__MCFCRT_ReallyWaitForMutexForever'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x1650): undefined reference to `__MCFCRT_ReallyWaitForMutexForever'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x16d8): undefined reference to `__MCFCRT_ReallyWaitForMutexForever'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x1758): undefined reference to `__MCFCRT_ReallyWaitForMutexForever'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x17e0): more undefined references to `__MCFCRT_ReallyWaitForMutexForever' follow
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x18ca): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x19d2): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x1a05): undefined reference to `__MCFCRT_ReallyWaitForMutexForever'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x14f3): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x1593): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x163a): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x16bf): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x173f): undefined reference to `__MCFCRT_ReallySignalMutex'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-dw2-fde.o):(.text+0x17cb): more undefined references to `__MCFCRT_ReallySignalMutex' follow
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x33): undefined reference to `__MCFCRT_ReallyWaitForOnceFlagForever'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x7d): undefined reference to `_MCFCRT_TlsAllocKey'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x9c): undefined reference to `__MCFCRT_ReallySignalOnceFlagAsFinished'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0xcc): undefined reference to `__MCFCRT_OnAssertionFailure'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x115): undefined reference to `_MCFCRT_TlsGet'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x203): undefined reference to `__MCFCRT_OnAssertionFailure'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x251): undefined reference to `_MCFCRT_TlsRequire'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x36a): undefined reference to `_MCFCRT_TlsRequire'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x451): undefined reference to `_MCFCRT_TlsGet'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x472): undefined reference to `_MCFCRT_TlsRequire'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x4c4): undefined reference to `__MCFCRT_OnAssertionFailure'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x509): undefined reference to `_MCFCRT_TlsRequire'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x6c5): undefined reference to `_MCFCRT_TlsGet'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x795): undefined reference to `_MCFCRT_TlsGet'
                  /nix/store/dzbd06k59z4rprc24in6h49sdllzck1s-i686-w64-mingw32-binutils-2.39/bin/i686-w64-mingw32-ld: /nix/store/h2i2i7cqsjb8ppqzdpscpb913ig9zp98-i686-w64-mingw32-stage-final-gcc-11.3.0/lib/gcc/i686-w64-mingw32/11.3.0/libgcc_eh.a(unwind-sjlj.o):(.text+0x91d): undefined reference to `_MCFCRT_TlsGet'
                  collect2: error: ld returned 1 exit status

          = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
          = note: use the `-l` flag to specify native libraries to link
          = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

        error: could not compile `ftdi-windows-gnu-test` due to previous error

The _MCFCRT_TlsGet et al can be solved by linking against
`-lmcfgthreads`, but I wasn't sure about the _Unwind_Resume, I don't
know how to configure i686 mingw to use DWARF unwinding, see
rust-lang/rust#32859 (comment)
  • Loading branch information
KoviRobi authored and newAM committed Nov 27, 2022
1 parent c65424c commit 611b744
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 0 deletions.
Binary file added vendor/windows/Static/amd64/libftd2xx.a
Binary file not shown.
Binary file added vendor/windows/Static/i386/libftd2xx.a
Binary file not shown.

0 comments on commit 611b744

Please sign in to comment.