You can check if executable is static by using
arm-unknown-linux-gnueabi-readelf --relocas.
The fact that the archive has a lot of files does not mean the openvpn
is not static.
Well, I don't really know what you understand "static linking" to be, but to me it means that all external functions, subroutines etc, which are resolved at compile-time, are copied into a target application by the gcc linker, producing an object file and then a stand-alone executable ("stand-alone" being the key word here!). Your build script, evidently, does not do that and I already pointed out the changes you may need to make to allow a *stand-alone* openvpn executable to be produced.

If you believe "static linking" to mean something else from what I described above, please enlighten us all!

If I have to deploy additional files alongside openvpn, then I may as well have it dynamically linked and deploy the entire dependencies chain (using ldd as guidance). The reason I can't/won't do that is because to satisfy this, I have to 1) spend a lot of my time digging out dependencies, without the guarantee that it would ever work, and 2) as my rootfs is read-only, whatever I do it will be instantly lost on reboot, so the whole exercise would be utterly pointless.

Anyway it is working at my side, and it is a standard process.
You can adjust the script for your needs.
I already did, you may as well do the same and make the changes I suggested earlier for the "really_static" option to really work, because, as it stands, "really_static" isn't so as openvpn still needs external files to operate.

Reply via email to