qt6.7.2 x86 to arm cross-compile, error : recompile with -fPIC
-
回复: Qt6 Raspberry Pi cross compliation error.
have any solution
[1/1400] Linking CXX shared library qtbase/lib/libQt6DBus.so.6.7.2 FAILED: qtbase/lib/libQt6DBus.so.6.7.2 : && /usr/bin/aarch64-linux-gnu-g++ --sysroot=/path/to/rootfs -fPIC -DNDEBUG -O2 -Wl,--no-undefined -Wl,--version-script,/home/user/zp/cross-build/qtb-new-dtags -shared -Wl,-soname,libQt6DBus.so.6 -o qtbase/lib/libQt6DBus.so.6.7.2 qtbase/src/dbus/CMakeFiles/DBus.dir/DBus_autogen/mocs_compilation.cpp.qdbus_symbols.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusabstractadaptor.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusabstractinterface.cpp.o qtbargument.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusconnection.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusconnectioninterface.cpp.o qtbase/src/onmanager.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbuscontext.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbuserror.cpp.o qtbase/src/dbus/CMakeFiles/src/dbus/CMakeFiles/DBus.dir/qdbusintegrator.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusinterface.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusinakeFiles/DBus.dir/qdbusintrospection.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusmessage.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusmetaobject.cir/qdbusmetatype.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusmisc.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbuspendingcall.cpp.o qtbase/src/dbus/Cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusreply.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusserver.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdb/CMakeFiles/DBus.dir/qdbusunixfiledescriptor.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusutil.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusvirtuals/DBus.dir/qdbusxmlgenerator.cpp.o qtbase/src/dbus/CMakeFiles/DBus.dir/qdbusxmlparser.cpp.o -Wl,-rpath,/home/user/zp/cross-build/qtbase/lib: /path/tobus-1.a qtbase/lib/libQt6Core.so.6.7.2 && : /usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld: /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-mEL_PG_HI21 against symbol `dbus_message_unref' which may bind externally can not be used when making a shared object; recompile with -fPIC /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-message.o): in function `_dbus_message_loader_unref': (.text+0x5b10): dangerous relocation: unsupported relocation /usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld: /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-tEL_PG_HI21 against symbol `_dbus_timeout_unref' which may bind externally can not be used when making a shared object; recompile with -fPIC /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-timeout.o): in function `_dbus_timeout_list_free': (.text+0x138): dangerous relocation: unsupported relocation /usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld: /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-w_PG_HI21 against symbol `_dbus_watch_unref' which may bind externally can not be used when making a shared object; recompile with -fPIC /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-watch.o): in function `_dbus_watch_list_free': (.text+0x1b8): dangerous relocation: unsupported relocation /usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld: /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-sten_systemd_sockets': (.text+0x2510): undefined reference to `sd_listen_fds' /usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld: (.text+0x2554): undefined reference to `sd_is_socket' /usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld: /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-sDR_PREL_PG_HI21 against symbol `_dbus_fd_set_close_on_exec' which may bind externally can not be used when making a shared object; recompile with -fPIC /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-sysdeps-unix.o): in function `_dbus_fd_set_all_close_on_exec': (.text+0x3e40): dangerous relocation: unsupported relocation /usr/lib/gcc-cross/aarch64-linux-gnu/13/../../../../aarch64-linux-gnu/bin/ld: /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-uL_PG_HI21 against symbol `_dbus_group_info_unref' which may bind externally can not be used when making a shared object; recompile with -fPIC /path/to/rootfs/usr/lib/aarch64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-userdb.o): in function `_dbus_user_database_new': (.text+0x4e8): dangerous relocation: unsupported relocation collect2: error: ld returned 1 exit status