Description
In my attempt to build PR #157 I got the following compilation error:
Any idea how to proceed, @SushiTee ?
I tried doing Docker build on x86_64 build VM for target ARCH=aarch64 but it failed (apparently cross-compilation is not supported).
My QEMU running aarch64 is too resource constrained to run docker, and my physical aarch64 device is even more constrained. The QEMU is running nested virtualization inside an x86_64 Ubunto 20.046 LTS VM, which itself is running as a guest on a Windows 11 host.
The head of my git log for each repo:
qt plugin:
commit 2b73a2173f8acfc0269e681bdb28ebf65b0b4b48 (HEAD -> mdear_elf_fix, tag: 1-alpha-20240109-1, origin/master, origin/HEAD, master)
Author: TheAssassin [email protected]
Date: Wed Jan 3 11:48:25 2024 +0100
Improve logging of failed subprocesses
base:
commit 2b73a2173f8acfc0269e681bdb28ebf65b0b4b48
Author: TheAssassin [email protected]
Date: Wed Jan 3 11:48:25 2024 +0100
Improve logging of failed subprocesses
In file included from /home/ccs/workspaces/git/linuxdeploy-plugin-qt/src/util.cpp:5:
/home/ccs/workspaces/git/linuxdeploy-plugin-qt/src/linuxdeploy/util/util.h:13:10: fatal error: linuxdeploy/core/log.h: No such file or directory
13 | #include <linuxdeploy/core/log.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Apaprently, this is a dependency that reaches back to the main linuxdeploy repository, which does not have that header file at the requested location.
I tried adding the following line to the end of the top level CMakeLists.txt but didn't see an -I argument showing up when compiling with --verbose flag:
include_directories(/home/ccs/workspaces/git/linuxdeploy/include)
so I added the following hack:
ln -s /home/ccs/workspaces/git/linuxdeploy/lib/linuxdeploy-desktopfile/include/linuxdeploy/desktopfile /home/ccs/workspaces/git/linuxdeploy/include/linuxdeploy/desktopfile
cd /home/ccs/workspaces/git/linuxdeploy-plugin-qt/src/linuxdeploy/core
cp /home/ccs/workspaces/git/linuxdeploy/include/linuxdeploy/log/log.h .
# Change the namespace in log.h to linuxdeploy::core::log
# Allow qt plugin to reach into linuxdeploy's include tree under already established
# include dir.
ln -s /home/ccs/workspaces/git/linuxdeploy/include/linuxdeploy /home/ccs/workspaces/git/linuxdeploy-plugin-qt/src/linuxdeploy
# qt plugin depends on static libraries:
# linuxdeploy_core rquested via -llinuxdeploy_core linker argument
../../linuxdeploy/build/src/core/liblinuxdeploy_core.a
# Remove -largs since it's a single-file included library, resolved at build time
# not link time.
# Add the following to src/CMakeFiles/linuxdeploy-plugin-qt.dir/link.txt
-L/home/ccs/workspaces/git/linuxdeploy/build/src/core
# I duplicate the main clause in linuxdeploy/src/log/log.cpp and make it under namespace linuxdeploy::core::log but I still get tons of undefined symbols in my link of the qt plugin.
I think I'll have to give up trying to build the qt plugin for now.