Closed Asthowen closed 1 year ago
This may be due to an older version of FreeBSD (12.3) was used. I updated to 12.4 today so please try again. (I have confirmed that at least all actix-http examples in actix-web repo compile with 12.4.)
I did change the version:
- name: Install cross-compilation tools
uses: taiki-e/setup-cross-toolchain-action@v1.9.0
with:
target: x86_64-unknown-freebsd
But I still have the same issue. Here is the current error:
error: linking with `x86_64-unknown-freebsd-clang` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/home/runner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" VSLANG="1033" "x86_64-unknown-freebsd-clang" "-m64" "/tmp/rustc7VUyUC/symbols.o" "/home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps" "-L" "/home/runner/work/ScanWebsite/ScanWebsite/target/release/deps" "-L" "/home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/build/ring-9bd75f043a0c05b5/out" "-L" "/home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/build/zstd-sys-fe166eaac988327c/out" "-L" "/home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/build/openssl-sys-6756b9cfe467c5de/out/openssl-build/install/lib" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/build/libwebp-sys-5863ce85794a3aca/out" "-L" "/home/runner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-freebsd/lib" "-Wl,-Bstatic" "/tmp/rustc7VUyUC/liblibwebp_sys-b0d9bff59121cda7.rlib" "/tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib" "/tmp/rustc7VUyUC/libring-93dbb815ed48143d.rlib" "/tmp/rustc7VUyUC/libzstd_sys-c701dde115ef9683.rlib" "/home/runner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-freebsd/lib/libcompiler_builtins-3ef32c1ca027cc3f.rlib" "-Wl,-Bdynamic" "-lc" "-lmysqlclient" "-lrt" "-lutil" "-lexecinfo" "-lkvm" "-lmemstat" "-lkvm" "-lutil" "-lprocstat" "-lrt" "-ldevstat" "-lexecinfo" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lrt" "-lutil" "-lexecinfo" "-lkvm" "-lmemstat" "-lkvm" "-lutil" "-lprocstat" "-lrt" "-ldevstat" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/runner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-freebsd/lib" "-o" "/home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-all" "-nodefaultlibs"
= note: ld.lld: error: undefined symbol: _init_tls
>>> referenced by crt1.c:66 (/usr/src/lib/csu/amd64/crt1.c:66)
>>> /usr/local/x86_64-unknown-freebsd/usr/lib/Scrt1.o:(_start)
ld.lld: error: undefined symbol: _umtx_op
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$actix_http..h2..dispatcher..Dispatcher$LT$T$C$S$C$B$C$X$C$U$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h6853a3a155fa346a)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$actix_http..h2..dispatcher..Dispatcher$LT$T$C$S$C$B$C$X$C$U$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h6853a3a155fa346a)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(crossbeam_channel::waker::Waker::disconnect::h267b8c4b8a5ac88d)
>>> referenced 311 more times
ld.lld: error: undefined symbol: __error
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(scan_website_backend::downloader::downloader::Downloader::start_download_queue::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h0f8ad5d203d76fa7)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(scan_website_backend::tasks::tasks::admin_stats_update::admin_stats_update::_$u7b$$u7b$closure$u7d$$u7d$::h3656b3512b31146a)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(h2::proto::connection::Connection$LT$T$C$P$C$B$GT$::poll::hc58dabb5aae2985f)
>>> referenced 246 more times
ld.lld: error: undefined symbol: sysctl
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(std::collections::hash::map::RandomState::new::KEYS::__getit::he394d6f74668a471)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(scan_website::main::h54333e061f827e92)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(scan_website::main::h54333e061f827e92)
>>> referenced 22 more times
ld.lld: error: undefined symbol: kevent@FBSD_1.0
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(core::ptr::drop_in_place$LT$tokio..process..imp..ChildStdio$GT$::hcb2468e836dca186)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(core::ptr::drop_in_place$LT$tokio..net..tcp..stream..TcpStream$GT$::h5f8ab2859869cf91)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(actix_server::waker_queue::WakerQueue::wake::hcbd023c64abf126a)
>>> referenced 9 more times
ld.lld: error: undefined symbol: lstat@FBSD_1.0
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(tokio::runtime::task::raw::poll::hee5ea80c4822f173)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(chrono::offset::local::inner::Source::new::hdd40c9fd7ca65bdb)
>>> referenced by fs.rs:1558 (library/std/src/sys/unix/fs.rs:1558)
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(std::sys::unix::fs::DirEntry::metadata::h69c22be8eb7c07ed)
>>> referenced 1 more times
ld.lld: error: undefined symbol: pthread_attr_get_np
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(main)
>>> referenced by thread.rs:863 (library/std/src/sys/unix/thread.rs:863)
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(std::sys::unix::thread::guard::current::h234ef839a632e8fa)
ld.lld: error: undefined symbol: fstat@FBSD_1.0
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$actix_files..service..FilesService$u20$as$u20$actix_service..Service$LT$actix_web..service..ServiceRequest$GT$$GT$::call::_$u7b$$u7b$closure$u7d$$u7d$::h6ca08cee7d3aafdf)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$actix_files..service..FilesService$u20$as$u20$actix_service..Service$LT$actix_web..service..ServiceRequest$GT$$GT$::call::_$u7b$$u7b$closure$u7d$$u7d$::h6ca08cee7d3aafdf)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(scan_website_backend::config_manager::ConfigManager::write_config_to_file::h85514e8734cf3ad1)
>>> referenced 6 more times
ld.lld: error: undefined symbol: kqueue
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(actix_server::server::ServerInner::run::_$u7b$$u7b$closure$u7d$$u7d$::h77be1708c21cfc43)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(mio::poll::Poll::new::h2692d61055de51c3)
ld.lld: error: undefined symbol: pthread_set_name_np
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::hc3a1f334933369e7)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h99eb13e17d9f525f)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::hda38771d153e0d4e)
>>> referenced 4 more times
ld.lld: error: undefined symbol: stat@FBSD_1.0
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(std::sys_common::once::futex::Once::call::hcaea22a0c1e6252e)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(std::sys_common::once::futex::Once::call::hcaea22a0c1e6252e)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(scan_website::logger::init_logger::h02e02aaae36354f9)
>>> referenced 7 more times
ld.lld: error: undefined symbol: readdir_r@FBSD_1.0
>>> referenced by fs.rs:747 (library/std/src/sys/unix/fs.rs:747)
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$std..sys..unix..fs..ReadDir$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h0f521721eb1131b5)
>>> referenced by fs.rs:0 (library/std/src/sys/unix/fs.rs:0)
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$std..sys..unix..fs..ReadDir$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h0f521721eb1131b5)
ld.lld: error: undefined symbol: sysctlbyname
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$sysinfo..freebsd..system..System$u20$as$u20$sysinfo..traits..SystemExt$GT$::new_with_specifics::h680aa2cf6f6a3d99)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$sysinfo..freebsd..system..System$u20$as$u20$sysinfo..traits..SystemExt$GT$::new_with_specifics::h680aa2cf6f6a3d99)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$sysinfo..freebsd..system..System$u20$as$u20$sysinfo..traits..SystemExt$GT$::new_with_specifics::h680aa2cf6f6a3d99)
>>> referenced 6 more times
ld.lld: error: undefined symbol: sysctlnametomib
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$sysinfo..freebsd..system..System$u20$as$u20$sysinfo..traits..SystemExt$GT$::new_with_specifics::h680aa2cf6f6a3d99)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$sysinfo..freebsd..system..System$u20$as$u20$sysinfo..traits..SystemExt$GT$::new_with_specifics::h680aa2cf6f6a3d99)
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$sysinfo..freebsd..system..System$u20$as$u20$sysinfo..traits..SystemExt$GT$::new_with_specifics::h680aa2cf6f6a3d99)
>>> referenced 12 more times
ld.lld: error: undefined symbol: getmntinfo@FBSD_1.0
>>> referenced by scan_website.fa266c2b-cgu.0
>>> /home/runner/work/ScanWebsite/ScanWebsite/target/x86_64-unknown-freebsd/release/deps/scan_website-acb4a5a4ca5d1885.scan_website.fa266c2b-cgu.0.rcgu.o:(_$LT$sysinfo..freebsd..system..System$u20$as$u20$sysinfo..traits..SystemExt$GT$::new_with_specifics::h680aa2cf6f6a3d99)
ld.lld: error: undefined symbol: __isthreaded
>>> referenced by bss_file.c
>>> bss_file.o:(file_read) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced by bss_file.c
>>> bss_file.o:(file_ctrl) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced by ui_openssl.c
>>> ui_openssl.o:(open_console) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced 3 more times
ld.lld: error: undefined symbol: __mb_sb_limit
>>> referenced by conf_mod.c
>>> conf_mod.o:(CONF_parse_list) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced by conf_mod.c
>>> conf_mod.o:(CONF_parse_list) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
ld.lld: error: undefined symbol: _ThreadRuneLocale
>>> referenced by conf_mod.c
>>> conf_mod.o:(CONF_parse_list) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced by conf_mod.c
>>> conf_mod.o:(CONF_parse_list) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
ld.lld: error: undefined symbol: _CurrentRuneLocale
>>> referenced by conf_mod.c
>>> conf_mod.o:(CONF_parse_list) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced by conf_mod.c
>>> conf_mod.o:(CONF_parse_list) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
ld.lld: error: undefined symbol: __stderrp
>>> referenced by cryptlib.c
>>> cryptlib.o:(OPENSSL_showfatal) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced by eng_openssl.c
>>> eng_openssl.o:(openssl_load_privkey) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced by eng_openssl.c
>>> eng_openssl.o:(test_rc4_init_key) in archive /tmp/rustc7VUyUC/libopenssl_sys-a60ad07483f096ff.rlib
>>> referenced 4 more times
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
And the list of crates related to Actix and Openssl:
actix-web-static-files = "4.0"
actix-files = "0.6.2"
actix-cors = "0.6.3"
actix-web = {version = "4.3.1", features = ["rustls"]}
actix-ws = "0.2.0"
actix-rt = "2.8.0"
actix = "0.13.0"
openssl-sys = { version = "0.9", features = ["vendored"] }
Hmm. Could you provide detailed information on the actual project where the problem occurred and the workflow you ran?
Here's my workflow:
name: Generate executables and post them to release
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: write
jobs:
generate-linux-freebsd-shared-libs:
name: Build & publish for ${{ matrix.target }}
runs-on: ubuntu-22.04
strategy:
matrix:
rust:
- stable
target:
- x86_64-unknown-freebsd
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up SSH
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: |
${{ secrets.SSH_PRIVATE_KEY_SCAN_WEBSITE_SDK }}
${{ secrets.SSH_PRIVATE_KEY_ASTHO_AUTH }}
- name: Install Rust
run: rustup update ${{ matrix.rust }} && rustup default ${{ matrix.rust }}
- name: Install cross-compilation tools
uses: taiki-e/setup-cross-toolchain-action@v1.9.0
with:
target: ${{ matrix.target }}
- name: Set up cargo cache
uses: actions/cache@v3
continue-on-error: false
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: ${{ runner.os }}-cargo-
- name: Install MariaDB client
run: |
sudo apt install curl software-properties-common dirmngr -y
curl -LsS -O https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
sudo bash mariadb_repo_setup --mariadb-server-version=10.6
sudo apt update
sudo apt install mariadb-client
- name: Install pnpm
run: |
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo bash - && sudo apt install -y nodejs && sudo npm install -g pnpm
- name: Get scan_website version
id: scan_website_version
run: echo "APP_VERSION=$(awk -F ' = ' '$1 ~ /version/ { gsub(/["]/, "", $2); printf("%s",$2) }' Cargo.toml)" >> $GITHUB_OUTPUT
- name: Build release
run: |
cargo build --release --locked --target ${{ matrix.target }}
mv ./target/${{ matrix.target }}/release/scan-website ./scan-website-${{ steps.scan_website_version.outputs.APP_VERSION }}-${{ matrix.target }}
- name: Upload executable to release
uses: softprops/action-gh-release@v1
with:
files: scan-website-${{ steps.scan_website_version.outputs.APP_VERSION }}-${{ matrix.target }}
tag_name: ${{ steps.scan_website_version.outputs.APP_VERSION }}
And the list of crates used:
reqwest = { version = "0.11.18", features = ["cookies", "gzip", "brotli", "deflate", "multipart", "rustls-tls", "stream"], default-features = false }
scan-website-sdk = { git = "ssh://git@github.com/Asthowen/ScanWebsiteSDK.git", version = "0.0.4" }
asthoauth-lib = { git = "ssh://git@github.com/Asthowen/AsthoAuthRust.git", version = "0.0.3" }
github-updater = { git = "https://github.com/Asthowen/github-updater-rust/", version = "0.0.3" }
tokio = { version = "1.29.0", default-features = false, features = ["rt-multi-thread", "fs", "process"] }
anilist = { git = "https://github.com/Asthowen/rust-anilist.git", version = "0.0.2" }
diesel = { version = "2.1.0", features = ["mysql", "r2d2", "serde_json", "numeric"] }
uuid = { version = "1.3.4", default-features = false, features = ["v4", "fast-rng"] }
openssl-sys = { version = "0.9", features = ["vendored"] }
serde = { version = "1.0.163", features = ["derive"] }
futures-util = "0.3.28"
serde_json = "1.0.96"
human-sort = "0.2.2"
libloading = "0.8.0"
dyn-clone = "1.0.11"
actix-web = { version = "4.3.1", features = ["rustls"] }
actix-ws = "0.2.0"
actix-rt = "2.8.0"
futures = "0.3.28"
sysinfo = "0.29.2"
base64 = "0.21.2"
chrono = "0.4.26"
askama = "0.12.0"
image = "0.24.6"
time = "0.3.22"
r2d2 = "0.8.10"
log = "0.4.19"
webp = "0.2.2"
num = "0.4.0"
actix-web-static-files = "4.0"
diesel_migrations = "2.1.0"
static-files = "0.2.1"
actix-files = "0.6.2"
actix-cors = "0.6.3"
dotenv = "0.15.0"
log4rs = "1.2.0"
For private crates, the only additional requirement is :
async-trait = "0.1.68"
Thanks for the info. I can now reproduce this.
And reduced:
# Cargo.toml
[package]
name = "test-crate"
version = "0.1.0"
edition = "2021"
[dependencies]
diesel = { version = "2.1.0", features = ["mysql"] }
// main.rs
use diesel as _;
fn main() {
println!("Hello, world!");
}
https://github.com/taiki-e/setup-cross-toolchain-action/actions/runs/5509988466/jobs/10043522281
More reduced:
# Cargo.toml
[package]
name = "test-crate"
version = "0.1.0"
edition = "2021"
[dependencies]
mysqlclient-sys = "0.2.5" # dependency of diesel's mysql feature
// main.rs
use mysqlclient_sys as _;
fn main() {}
I copied mysqlclient-sys's build script and debugged it, but it appears that it is incorrectly trying to link libraries on the host platform.
[test-crate 0.1.0] [build.rs:7] pkg_config::probe_library("mysqlclient") = Ok(
[test-crate 0.1.0] cargo:rerun-if-env-changed=MYSQLCLIENT_DYNAMIC
[test-crate 0.1.0] Library {
[test-crate 0.1.0] cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
[test-crate 0.1.0] libs: [
[test-crate 0.1.0] cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
[test-crate 0.1.0] "mysqlclient",
[test-crate 0.1.0] cargo:rustc-link-search=native=/usr/lib/x86_64-linux-gnu
[test-crate 0.1.0] ],
[test-crate 0.1.0] cargo:rustc-link-lib=mysqlclient
[test-crate 0.1.0] link_paths: [
[test-crate 0.1.0] cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-freebsd
[test-crate 0.1.0] "/usr/lib/x86_64-linux-gnu",
[test-crate 0.1.0] cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_freebsd
[test-crate 0.1.0] ],
[test-crate 0.1.0] link_files: [],
[test-crate 0.1.0] frameworks: [],
[test-crate 0.1.0] framework_paths: [],
[test-crate 0.1.0] include_paths: [
[test-crate 0.1.0] "/usr/include/mysql",
[test-crate 0.1.0] "/usr/include",
[test-crate 0.1.0] ],
[test-crate 0.1.0] ld_args: [],
[test-crate 0.1.0] defines: {},
[test-crate 0.1.0] version: "21.2.33",
[test-crate 0.1.0] _priv: (),
[test-crate 0.1.0] },
[test-crate 0.1.0] )
I guess you need to download the mysql client library for FreeBSD, and specify it in MYSQLCLIENT_LIB_DIR environment variable or configure pkg-config. https://github.com/sgrif/mysqlclient-sys/blob/v0.2.5/build.rs#L10-L17
Thanks for looking! I'll see if it works using the mysql lib for freebsd.
That was it!
If anyone has the same problem as me, just create an archive from the contents of the /usr/local/lib/mysql/
folder on a FreeBSD machine. Then just download and extract the contents of the archive from the action. Then create MYSQLCLIENT_LIB_DIR
which points to the extracted folder.
In any case, thank you for helping me to solve the problem!
Hello! First of all, thank you for your project, which helped me a lot!
I have an issue when I try to compile a project with
actix-http
forx86_64-unknown-freebsd
(withubuntu-22.04
), I specify that it works correctly if I build the project directly on a pc with FreeBSD.I do:
And it crashes at the
actix-http
compilation level: