I still need extra steps to cross-compile on Fossa, but i figured out the issue.
I have this in user pi's ~/.bashrc
:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/mylibs
My application depends on an external library which i've recently upgraded and thus replaced the file in this directory.
However, on boot the script won't look at /opt/mylibs
(probably because it's not an interactive shell or somesuch) and instead tries to find the library in the system -- and it does find the old version to which my application is no longer linked against. And fails.
Upgrading the library's version that's installed on system (instead of just placing it in /opt/mylibs
) fixed this issue.
(The original boot method relies on a python script and i was using a bash script to debug but neglected to capture the output of my application, maybe it would've logged that it couldn't find the lib.)