rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
96.62k stars 12.48k forks source link

aarch64 cross compile link error! #111957

Open skydig opened 1 year ago

skydig commented 1 year ago

compile egui file_dialog application under ubuntu 20.04.01, and aarch64 gcc version is 9.4, link errors are as following:

"/home/abc/.rustup/toolchains/1.65.0-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-d39f7c1f0b7c4e1c.rlib" "-Wl,-Bdynamic" "-lgtk-3" "-lgdk-3" "-lpangocairo-1.0" "-lpango-1.0" "-lharfbuzz" "-latk-1.0" "-lcairo-gobject" "-lcairo" "-lgdk_pixbuf-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-latk-1.0" "-lgobject-2.0" "-lglib-2.0" "-lgdk-3" "-lpangocairo-1.0" "-lpango-1.0" "-lharfbuzz" "-lgdk_pixbuf-2.0" "-lcairo-gobject" "-lcairo" "-lgobject-2.0" "-lglib-2.0" "-lpango-1.0" "-lgobject-2.0" "-lglib-2.0" "-lharfbuzz" "-lgdk_pixbuf-2.0" "-lgobject-2.0" "-lglib-2.0" "-lgio-2.0" "-lgobject-2.0" "-lglib-2.0" "-lcairo" "-lgobject-2.0" "-lglib-2.0" "-lgobject-2.0" "-lglib-2.0" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/abc/.rustup/toolchains/1.65.0-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/home/abc/egui/target/aarch64-unknown-linux-gnu/release/deps/file_dialog-8b00381c21689cea" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs" "--sysroot=/opt/root/" = note: /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /home/abc/egui/target/aarch64-unknown-linux-gnu/release/deps/libglutin-ea80461c656cd383.rlib(glutin-ea80461c656cd383.glutin.11256db3-cgu.11.rcgu.o): in function libloading::safe::Library::new': glutin.11256db3-cgu.11:(.text._ZN10libloading4safe7Library3new17hfe0eaac1a0daa94bE+0x54): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libdl.a(dlopen.o): in functiondlopen': (.text+0x14): undefined reference to __dlopen' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libdl.a(dlclose.o): in functiondlclose': (.text+0x0): undefined reference to __dlclose' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libdl.a(dlsym.o): in functiondlsym': (.text+0x14): undefined reference to __dlsym' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libdl.a(dlerror.o): in functiondlerror': (.text+0x0): undefined reference to __dlerror' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(nptl-init.o): in functionpthread_initialize_minimal_internal': /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:335: undefined reference to _dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:335: undefined reference to_dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:344: undefined reference to _dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:360: undefined reference to_dl_init_static_tls' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:362: undefined reference to _dl_wait_lookup_done' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:360: undefined reference to_dl_init_static_tls' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:362: undefined reference to _dl_wait_lookup_done' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(nptl-init.o): in functionpthread_get_minstack': /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:393: undefined reference to _dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/nptl-init.c:393: undefined reference to_dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_create.o): in function allocate_stack': /build/glibc-RIFKjK/glibc-2.31/nptl/allocatestack.c:525: undefined reference to_dl_stack_flags' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/allocatestack.c:525: undefined reference to _dl_stack_flags' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/allocatestack.c:647: undefined reference to_dl_stack_flags' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/allocatestack.c:647: undefined reference to _dl_stack_flags' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_getattr_np.o): in functionpthread_getattr_np': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_getattr_np.c:99: undefined reference to _dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_getattr_np.c:99: undefined reference to_dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_getattr_np.c:137: undefined reference to _dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_getattr_np.c:137: undefined reference to_dl_pagesize' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_mutex_unlock.o): in function `pthread_mutex_unlock_full': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_mutex_unlock.c:286: undefined reference to `aarch64_cas4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_mutex_unlock.c:331: undefined reference to __aarch64_cas4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_wait.o): in functioncondvar_release_lock': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:291: undefined reference to `aarch64_ldclr4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_wait.o): in function __condvar_dec_grefs': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_wait.c:159: undefined reference toaarch64_ldclr4_relax' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_wait.o): in function `condvar_fetch_add_wseq_acquire': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:37: undefined reference to __aarch64_ldadd8_acq' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:37: undefined reference toaarch64_ldadd8_acq' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:37: undefined reference to `aarch64_ldadd8_acq' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_signal.o): in function __condvar_release_lock': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:291: undefined reference toaarch64_ldclr4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:291: undefined reference to `aarch64_ldclr4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_signal.o): in function __condvar_quiesce_and_switch_g1': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:381: undefined reference toaarch64_ldset4_relax' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:396: undefined reference to `aarch64_ldset4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:413: undefined reference to __aarch64_ldset4_relax' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_signal.o): in functioncondvar_fetch_xor_wseq_release': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:43: undefined reference to `aarch64_ldeor8_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_signal.o): in function __condvar_set_orig_size': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:316: undefined reference toaarch64_swp4_relax' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_broadcast.o): in function `condvar_release_lock': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:291: undefined reference to __aarch64_ldclr4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_broadcast.o): in functioncondvar_quiesce_and_switch_g1': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:381: undefined reference to `aarch64_ldset4_relax' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:396: undefined reference to __aarch64_ldset4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:413: undefined reference toaarch64_ldset4_relax' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_broadcast.o): in function `condvar_fetch_xor_wseq_release': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:43: undefined reference to __aarch64_ldeor8_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_broadcast.o): in functioncondvar_set_orig_size': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:316: undefined reference to __aarch64_swp4_relax' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(pthread_cond_broadcast.o): in functioncondvar_release_lock': /build/glibc-RIFKjK/glibc-2.31/nptl/pthread_cond_common.c:291: undefined reference to `aarch64_ldclr4_rel' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /opt/root/usr/lib/aarch64-linux-gnu/libpthread.a(unwind.o): in function _jmpbuf_sp': /build/glibc-RIFKjK/glibc-2.31/nptl/../sysdeps/aarch64/jmpbuf-offsets.h:52: undefined reference to__pointer_chk_guard_local' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /build/glibc-RIFKjK/glibc-2.31/nptl/../sysdeps/aarch64/jmpbuf-offsets.h:52: undefined reference to `pointer_chk_guard_local'

Enselic commented 3 months ago

Triage: Can you reproduce this in a fresh Ubuntu docker container? If yes, please provide each bash command to reproduce from scratch. If this can still be reproduced with the latest versions of everything?