Undefined reference to symbol '__stack_chk_guard@@GLIBC_2.4'

I am running rust on vagrant image ubuntu/focal with rustc version 1.47.0 attempting to cross compile for beaglebone black (armhf) machine.

Simple cross compiling works fine but my problems start when pulling in gio-rs and/or gtk-rs crate ....

I have native compile (x-86) and linking working fine and am wanting to use static linking so have installed rust target armv7-unknown-linux-musleabihf and set linker to arm-linux-gnueabihf-ld in .cargo/config file.

[target.armv7-unknown-linux-musleabihf]
linker = "arm-linux-gnueabihf-ld"

However when I introduce gtk or gio crate and try build/link I get error

note: arm-linux-gnueabihf-ld: /home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/liblibc-1130af137fc5658c.rlib(__stack_chk_fail.lo): undefined reference to symbol '__stack_chk_guard@@GLIBC_2.4'
          
arm-linux-gnueabihf-ld: /lib/arm-linux-gnueabihf/ld-linux-armhf.so.3: error adding symbols: DSO missing from command line

My Cargo.toml file has following dependencies defined (been reduced due to testing):

[dependencies]
#gtk = "0.9.2"
#gdk = "0.13.2"
#glib = "0.10.3"
gio = "0.9.1"

and my src file is real simple:

extern crate gio;

fn main() {
    println!("Hello")
}

and am building with cargo build --target=armv7-unknown-linux-musleabihf with env variable PKG_CONFIG_ALLOW_CROSS=1

I have installed libgtk-3-dev sudo apt-get install libgtk-3-dev and strangely this was all working last night and between last night and this morning the gremlins have crept in and I am not having luck running issue down. Running with --versbose doesn't show additional information.

Any pointers appreciated.

BTW using target dynamic linking builds binary file no issue.

Looks like no one has been able to assist - next step is to ask for ideas on how/whom I can approach for assistance. I can't spend much more time on this and Rust is close to not making the cut as I can't cross compile basic requirement we have which is sad indeed.

I'm very ignorant when it comes to cross compilation so I'm not sure if this will be helpful or even relevant, but I have found that https://github.com/rust-embedded/cross magically fixes any issues I have when I come across undecipherable compiler/linker errors when cross compiling.

Thanks @Heliozoa I do appreciate the input. While I don't like using Docker I did try it and it works for simpler projects but falls flat when pulling in other modules etc which means I have to create the docker file to pull in other libs into Docker in any case so didn't make much sense to me - but I did try it in vanilla form and it won't build at all which is why I stayed with Vagrant. I'd have imagined that someone as come across the 'error' before. All the best in the land of RUST!

Still no luck on this issue and while it may be a red herring I am wondering if this is something to do with missing libssp library - I can't determine if this should be installed with gcc (arm toolchain version) or as a separate standalone library (I can't find how).

Anyone have input into this?

What's glibc version of the target and the build host?

@lzutao
I had noticed that error refers to glibc_2.4 and what I have is 2.3x but I am running latest Ubuntu Focal (at least I thought I was) so was confused how it could be ahead.

I wasn't over concerned (and for record, I haven't done much cross compiling) as in my mind the host and target should be very similar and only potential versioning issues should be crate versions - which is why I went with later Ubuntu vagrant version.

Running in vagrant box using ubuntu/focal

Host:

vagrant@ubuntu-focal:~$ uname -a
Linux ubuntu-focal 5.4.0-52-generic #57-Ubuntu SMP Thu Oct 15 10:57:00 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
vagrant@ubuntu-focal:~$ cat /proc/version
Linux version 5.4.0-52-generic (buildd@lgw01-amd64-060) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #57-Ubuntu SMP Thu Oct 15 10:57:00 UTC 2020
vagrant@ubuntu-focal:~$ ldd --version
ldd (Ubuntu GLIBC 2.31-0ubuntu9.1) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

I am not sure how to determine target's glibc. When installing cross compile toolchain and libraries I installed arm toolchain via sources.list using apt install thinking this way that the versions will align.

*I had to modify sources.list adding entries for armhf, for example in sources.list:

deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe multiverse

Here's output some libraries installed.

vagrant@ubuntu-focal:~$ dpkg -l | grep libc
...
ii  linux-libc-dev:amd64                 5.4.0-52.57                       amd64        Linux Kernel Headers for development
ii  linux-libc-dev:armhf                 5.4.0-52.57                       armhf        Linux Kernel Headers for development
ii  linux-libc-dev-armhf-cross           5.4.0-21.25cross1                 all          Linux Kernel Headers for development (for cross-compiling)
vagrant@ubuntu-focal:~$ dpkg -l | grep glib
...
ii  libglib2.0-0:amd64                   2.64.3-1~ubuntu20.04.1            amd64        GLib library of C routines
ii  libglib2.0-0:armhf                   2.64.3-1~ubuntu20.04.1            armhf        GLib library of C routines
ii  libglib2.0-bin                       2.64.3-1~ubuntu20.04.1            amd64        Programs for the GLib library
ii  libglib2.0-data                      2.64.3-1~ubuntu20.04.1            all          Common files for GLib library
ii  libglib2.0-dev:amd64                 2.64.3-1~ubuntu20.04.1            amd64        Development files for the GLib library
ii  libglib2.0-dev:armhf                 2.64.3-1~ubuntu20.04.1            armhf        Development files for the GLib library
ii  libglib2.0-dev-bin                   2.64.3-1~ubuntu20.04.1            amd64        Development utilities for the GLib library

What would happen if you remove PKG_CONFIG_ALLOW_CROSS=1 ?
According to Arm-Linux Cross compile error, pkg-config doesn't support cross-compiling.

1 Like

Honestly I don't know the correct approach - I see mention of said pkg-config not supporting cross compiling and then I see folks needing to use it - maybe due to old versions... I don't know.

Not setting PKG_CONFIG_ALLOW doesn't build either - see below for without and with and also trying setting PKG_CONFIG_PATH.

No PKG_CONFIG_ALLOW_CROSS

vagrant@ubuntu-focal:/vagrant_src/myrust$ env | grep PKG
vagrant@ubuntu-focal:/vagrant_src/myrust$ cargo build --target armv7-unknown-linux-musleabihf 
   Compiling proc-macro2 v1.0.24
   Compiling unicode-xid v0.2.1
 ...
   Compiling gobject-sys v0.10.0
   Compiling gio-sys v0.10.1
   Compiling futures-util v0.3.6
error: failed to run custom build command for `glib-sys v0.10.1`

Caused by:
  process didn't exit successfully: `/vagrant_src/myrust/target/debug/build/glib-sys-8d4c0181618efead/build-script-build` (exit code: 1)
  --- stdout
  cargo:rerun-if-env-changed=GLIB_2.0_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_armv7-unknown-linux-musleabihf
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS_armv7_unknown_linux_musleabihf
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_ALLOW_CROSS
  cargo:rerun-if-env-changed=PKG_CONFIG_ALLOW_CROSS
  cargo:rerun-if-env-changed=PKG_CONFIG_armv7-unknown-linux-musleabihf
  cargo:rerun-if-env-changed=PKG_CONFIG_armv7_unknown_linux_musleabihf
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_armv7-unknown-linux-musleabihf
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_armv7_unknown_linux_musleabihf
  cargo:rerun-if-env-changed=TARGET_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR

  --- stderr
  pkg-config has not been configured to support cross-compilation.

                  Install a sysroot for the target platform and configure it via
                  PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_PATH, or install a
                  cross-compiling wrapper for pkg-config and set it via
                  PKG_CONFIG environment variable.
warning: build failed, waiting for other jobs to finish...
error: build failed

With PKG_CONFIG_ALLOW_CROSS

vagrant@ubuntu-focal:/vagrant_src/myrust$ export PKG_CONFIG_ALLOW_CROSS=1
vagrant@ubuntu-focal:/vagrant_src/myrust$ cargo build --target armv7-unknown-linux-musleabihf 
   Compiling futures-executor v0.3.6
   Compiling glib-sys v0.10.1
   Compiling gobject-sys v0.10.0
   Compiling gio-sys v0.10.1
   Compiling gio v0.9.1
   Compiling futures v0.3.6
   Compiling glib v0.10.3
   Compiling myrust v0.1.0 (/vagrant_src/myrust)
error: linking with `arm-linux-gnueabihf-ld` failed: exit code: 1
  |
  = note: "arm-linux-gnueabihf-ld" "--eh-frame-hdr" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/self-contained/crt1.o" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/self-contained/crti.o" "-L" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib" "-L" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/self-contained" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.1hr10hvsbxyik3l2.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.21papwrzofco34al.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.2im6x4lg0gkbxzyb.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.376z5xioueyn5uv8.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.4i8reh92n7mbv7pc.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.5b0r4iyzaap03b27.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.k8e4j07qfy64du3.rcgu.o" "-o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.3mf4wa9ng44j01mt.rcgu.o" "--gc-sections" "-static" "-zrelro" "-znow" "-L" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps" "-L" "/vagrant_src/myrust/target/debug/deps" "-L" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib" "-Bstatic" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libgio-bfe6870323d0a7e3.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures-3e98892385dc6731.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libthiserror-a0afcb913acc16cd.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libgio_sys-99664556f1376a3b.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libglib-4994a870ac7e0c83.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_executor-eec364ba1cb231e8.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_util-d54ca3d538c563f9.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libmemchr-fbec725a56845f5e.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libproc_macro_nested-5ea9c8293c74a53f.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_io-4c3f204783c65b0f.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libslab-d75c8ed8e6d3417f.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libpin_project-69380e0759cd8368.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libpin_utils-84794a91d213dade.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_task-dfca583370bd18a1.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_channel-35077b78a6795c25.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_sink-f914a6201ae010aa.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_core-4bc2e085587e6ba1.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libgobject_sys-de6f66fbfbbd8b4a.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libglib_sys-8bcb80370441dce8.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/liblibc-ce9654ed09ff99e8.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libonce_cell-ed707f8ea5a66f46.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libbitflags-be0dcb0c66b814f1.rlib" "--start-group" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libstd-4463f611b9edd288.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libpanic_unwind-b7dad7682ad6c2c7.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libminiz_oxide-efc3bbf599f37724.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libadler-262f4b9ba18858a7.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libobject-b21a6154bc28f345.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libaddr2line-df4521f70af52508.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libgimli-2ca59010d64ba6e4.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/librustc_demangle-b16acfe81b21ce67.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libhashbrown-857f62fe26770495.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/librustc_std_workspace_alloc-431112f916975619.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libunwind-fdddb97ac5d6bfde.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libcfg_if-b859506c71585673.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/liblibc-1130af137fc5658c.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/liballoc-54b79e43fc6ec702.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/librustc_std_workspace_core-7a9152bca4f2443c.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libcore-8f1dc5e59dc09dd8.rlib" "--end-group" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libcompiler_builtins-34323931e183500a.rlib" "-Bdynamic" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lgobject-2.0" "-lglib-2.0" "-lglib-2.0" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/self-contained/crtn.o"
  = note: arm-linux-gnueabihf-ld: /home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/liblibc-1130af137fc5658c.rlib(__stack_chk_fail.lo): undefined reference to symbol '__stack_chk_guard@@GLIBC_2.4'
          arm-linux-gnueabihf-ld: /lib/arm-linux-gnueabihf/ld-linux-armhf.so.3: error adding symbols: DSO missing from command line
          

error: aborting due to previous error

error: could not compile `myrust`.

To learn more, run the command again with --verbose.

With PKG_CONFIG_PATH

export PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig/
vagrant@ubuntu-focal:/vagrant_src/myrust$ cargo build --target armv7-unknown-linux-musleabihf 
   Compiling myrust v0.1.0 (/vagrant_src/myrust)
error: linking with `arm-linux-gnueabihf-ld` failed: exit code: 1
  |
  = note: "arm-linux-gnueabihf-ld" "--eh-frame-hdr" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/self-contained/crt1.o" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/self-contained/crti.o" "-L" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib" "-L" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/self-contained" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.1hr10hvsbxyik3l2.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.21papwrzofco34al.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.2im6x4lg0gkbxzyb.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.376z5xioueyn5uv8.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.4i8reh92n7mbv7pc.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.5b0r4iyzaap03b27.rcgu.o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.k8e4j07qfy64du3.rcgu.o" "-o" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/myrust-c9e003c45e7af9c9.3mf4wa9ng44j01mt.rcgu.o" "--gc-sections" "-static" "-zrelro" "-znow" "-L" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps" "-L" "/vagrant_src/myrust/target/debug/deps" "-L" "/usr/lib/arm-linux-gnueabihf" "-L" "/usr/lib/arm-linux-gnueabihf" "-L" "/usr/lib/arm-linux-gnueabihf" "-L" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib" "-Bstatic" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libgio-bfe6870323d0a7e3.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures-3e98892385dc6731.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libthiserror-a0afcb913acc16cd.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libgio_sys-99664556f1376a3b.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libglib-4994a870ac7e0c83.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_executor-eec364ba1cb231e8.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_util-d54ca3d538c563f9.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libmemchr-fbec725a56845f5e.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libproc_macro_nested-5ea9c8293c74a53f.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_io-4c3f204783c65b0f.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libslab-d75c8ed8e6d3417f.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libpin_project-69380e0759cd8368.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libpin_utils-84794a91d213dade.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_task-dfca583370bd18a1.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_channel-35077b78a6795c25.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_sink-f914a6201ae010aa.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libfutures_core-4bc2e085587e6ba1.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libgobject_sys-de6f66fbfbbd8b4a.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libglib_sys-8bcb80370441dce8.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/liblibc-ce9654ed09ff99e8.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libonce_cell-ed707f8ea5a66f46.rlib" "/vagrant_src/myrust/target/armv7-unknown-linux-musleabihf/debug/deps/libbitflags-be0dcb0c66b814f1.rlib" "--start-group" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libstd-4463f611b9edd288.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libpanic_unwind-b7dad7682ad6c2c7.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libminiz_oxide-efc3bbf599f37724.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libadler-262f4b9ba18858a7.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libobject-b21a6154bc28f345.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libaddr2line-df4521f70af52508.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libgimli-2ca59010d64ba6e4.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/librustc_demangle-b16acfe81b21ce67.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libhashbrown-857f62fe26770495.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/librustc_std_workspace_alloc-431112f916975619.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libunwind-fdddb97ac5d6bfde.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libcfg_if-b859506c71585673.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/liblibc-1130af137fc5658c.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/liballoc-54b79e43fc6ec702.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/librustc_std_workspace_core-7a9152bca4f2443c.rlib" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libcore-8f1dc5e59dc09dd8.rlib" "--end-group" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/libcompiler_builtins-34323931e183500a.rlib" "-Bdynamic" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lgobject-2.0" "-lglib-2.0" "-lglib-2.0" "/home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/self-contained/crtn.o"
  = note: arm-linux-gnueabihf-ld: /home/vagrant/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/armv7-unknown-linux-musleabihf/lib/liblibc-1130af137fc5658c.rlib(__stack_chk_fail.lo): undefined reference to symbol '__stack_chk_guard@@GLIBC_2.4'
          arm-linux-gnueabihf-ld: /lib/arm-linux-gnueabihf/ld-linux-armhf.so.3: error adding symbols: DSO missing from command line
          

error: aborting due to previous error

error: could not compile `myrust`.

To learn more, run the command again with --verbose.

I'm sure there is a learning curve here ...