eclipse / paho.mqtt.rust

paho.mqtt.rust
Other
525 stars 102 forks source link

Failing to cross compile for msvc #210

Closed msdrigg closed 1 year ago

msdrigg commented 1 year ago

I am attempting to use cargo xwin build --target x86_64-pc-windows-msvc to build this because I was unable to build for x86_64-pc-windows-gnu or x86_64-pc-windows-msvc using cargo cross

Getting everything built fine, but erroring out before the binary gets built at

= note: lld-link: error: could not open 'msvcrtd.lib': No such file or directory

My minimum reproducible build is this:

use paho_mqtt::PersistenceType;

fn main() {
    println!("{:?}", PersistenceType::File)
}
[package]
name = "simple_test"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
paho-mqtt = { version = "0.12.1", default-features = false, features = [
    "bundled",
] }
Full Logs

Compiling simple_test v0.1.0 (/home/usr/Projects/simple_test) error: linking with `lld-link` failed: exit status: 1 | = note: LC_ALL="C" PATH="/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/User/.vscode-server/bin/e7e037083ff4455cf320e344325dacb480062c3c/bin/remote-cli:/home/User/.local/bin:/home/User/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/User/.local/bin:/home/User/.local/bin:/home/User/.cache/cargo-xwin" VSLANG="1033" "lld-link" "-flavor" "link" "/NOLOGO" "/tmp/rustcjTKpE3/symbols.o" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/simple_test.3jr9repigvj00l8f.rcgu.o" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/simple_test.4isulp28qd5cz1z4.rcgu.o" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/simple_test.4mw5soifddteuifw.rcgu.o" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/simple_test.4q2ul9u4rbatfoje.rcgu.o" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/simple_test.4vaebkea8k87ulb.rcgu.o" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/simple_test.5a86i4ceihmh0154.rcgu.o" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/simple_test.5aeci9rt0ff2xc35.rcgu.o" "/LIBPATH:/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps" "/LIBPATH:/home/User/Projects/simple_test/target/debug/deps" "/LIBPATH:/home/User/.cache/cargo-xwin/xwin/crt/lib/x86_64" "/LIBPATH:/home/User/.cache/cargo-xwin/xwin/sdk/lib/um/x86_64" "/LIBPATH:/home/User/.cache/cargo-xwin/xwin/sdk/lib/ucrt/x86_64" "/LIBPATH:/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/build/paho-mqtt-sys-dd65cbb17af06882/out/lib" "/LIBPATH:/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libpaho_mqtt-a95092e26cc6d2f1.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/liblibc-b328a3feab365bf2.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libthiserror-9fc7b4f3816f9aba.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures_timer-1383099af1a8cc42.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures-3dae168ddf23ec12.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures_executor-9136db4953843f0c.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures_util-eb6f26ab0a718799.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libmemchr-ce558974a75412f7.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures_io-74af30cfaa64019c.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libslab-cfc5f45f2af938b3.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures_channel-7423866b630d1987.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libpin_project_lite-e86431b1d0d4a0b2.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures_sink-f0157c7c34bf7e7c.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures_task-8d14163c82fcd09b.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libpin_utils-a31b2450b47f8e88.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libcrossbeam_channel-aeea553b861bb157.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libasync_channel-260cdc41ec5ec842.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libfutures_core-58fe1011a42ac1c2.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libevent_listener-391ab901e13c80b8.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libconcurrent_queue-ef99aa6c44d8f036.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libcrossbeam_utils-0cf5bcac7f50da24.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libcfg_if-73311efafa1f74ad.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/libpaho_mqtt_sys-a7fc2278b79ab098.rlib" "/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/liblog-dea3dae10da49ccf.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libstd-6d80dd4621b609ca.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libpanic_unwind-28e98873675f19a9.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/librustc_demangle-4de870115f3f458f.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libstd_detect-ffc9fccfd2140b69.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libhashbrown-8a83799ae3c10d1a.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/librustc_std_workspace_alloc-fe19ee773224879a.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libminiz_oxide-654d17813ba7bea6.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libadler-f8fe6b4f80df7ee8.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libunwind-33080a7794fe111b.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libcfg_if-927908925e399197.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/liblibc-bb1b1a6951ff0244.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/liballoc-e2d4eb855c49fe9e.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/librustc_std_workspace_core-1dfd0cc5ad1fd4f1.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libcore-09e8922577df7322.rlib" "/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib/libcompiler_builtins-d1b73685f2fdc914.rlib" "legacy_stdio_definitions.lib" "kernel32.lib" "advapi32.lib" "bcrypt.lib" "kernel32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "kernel32.lib" "ws2_32.lib" "kernel32.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:/home/User/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-pc-windows-msvc/lib" "/OUT:/home/User/Projects/simple_test/target/x86_64-pc-windows-msvc/debug/deps/simple_test.exe" "/OPT:REF,NOICF" "/DEBUG" = note: lld-link: error: could not open 'msvcrtd.lib': No such file or directory error: could not compile `simple_test` (bin "simple_test") due to previous error

msdrigg commented 1 year ago

Closing because I believe the cargo xwin repo is a better place to leave this

msdrigg commented 1 year ago

This has been resolved in cargo xwin. Just make sure to use the XWIN_INCLUDE_DEBUG_LIBS=true env var when building for the first time