2 ms·
mkdir chroot cd chroot for lib in $(ldd ${executable} | grep -oE '/\S+'); do tgt="$(dirname ${lib})" mkdir -p .${tgt} cp ${lib} .${tgt} done
by jcalvinowens 9mo ago
mkdir chroot
cd chroot
for lib in $(ldd ${executable} | grep -oE '/\S+'); do
tgt="$(dirname ${lib})"
mkdir -p .${tgt}
cp ${lib} .${tgt}
done
mkdir -p .$(dirname ${executable})
cp ${executable} .${executable}
tar cf ../chroot-run-anywhere.tgz .
- saidinesh5 9mo agoYou're supposed to do this recursively for all the libs no? Eg. Your App might just depend on libqt5gui.so but that libqt5gui.so might depend on some libxml etc... Not to mention all the files from /usr/share etc... That your application might indirectly depend on.
- jcalvinowens 9mo ago> You're supposed to do this recursively ldd works recursively. > Not to mention all the files from /usr/share Well yeah, there obviously cannot be a generic way to enumerate all the files a program might open...