How do I compile Bitcoin Core to be more portable?
By default, the binaries that you build are dynamically linked. This means that they use libraries installed in standard search paths on your computer. What you want is a statically linked binary where those libraries are packaged together with the binary.

Bitcoin Core achieves this by using the "depends" system. Documentation for this can be found here and in the windows cross compilation docs.

Basically, you cd into the depends directory, run make in there, then back in the root directory, you configure and point to the configuration stuff produced by the depends system, and when you compile with make, it will use the libraries build in the depends system and be statically linked.

For example, you might do these commands:

cd depends
make HOST=x86_64-pc-linux-gnu
cd ..
./autogen.sh
CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure --prefix=/
make


x86_64-pc-linux-gnu is the platform that you want to build binaries for. The depends system will create a directory in depends/ with that name. That directory contains the depend system's build results.

The resulting binaries should be portable.