After this commit, here is an example output from log.do_populate_sysroot for file-native. Note that the RPATH is fixed up to something completely bogus (the difference between the workdir sysroot-destdir and the native sysroot), which is causing the native utilities to use the libraries from the build machine rather than the sysroot. NOTE: Processing directory /var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp-k2/../build_lrc-lsp/tmp/sysroots/x86_64-linux/usr/bin NOTE: Current rpath for /var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp/tmp/work/x86_64-linux/file-native/5.16-r0/sysroot-destdir/var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp/tmp/sysroots/x86_64-linux/usr/bin/file.real is /var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp-k2/../build_lrc-lsp/tmp/sysroots/x86_64-linux/usr/lib:/var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp-k2/../build_lrc-lsp/tmp/sysroots/x86_64-linux/lib NOTE: Setting rpath for /var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp/tmp/work/x86_64-linux/file-native/5.16-r0/sysroot-destdir/var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp/tmp/sysroots/x86_64-linux/usr/bin/file.real to $ORIGIN/../../../../../../../../../../../../../../../sysroots/x86_64-linux/usr/lib:$ORIGIN/../../../../../../../../../../../../../../../sysroots/x86_64-linux/lib Reverting this commit, the proper behavior is restored: NOTE: Processing directory /var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp-k2/../build_lrc-lsp/tmp/sysroots/x86_64-linux/usr/bin NOTE: Current rpath for /var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp/tmp/work/x86_64-linux/file-native/5.16-r0/sysroot-destdir/var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp/tmp/sysroots/x86_64-linux/usr/bin/file.real is /var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp-k2/../build_lrc-lsp/tmp/sysroots/x86_64-linux/usr/lib:/var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp-k2/../build_lrc-lsp/tmp/sysroots/x86_64-linux/lib NOTE: Setting rpath for /var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp/tmp/work/x86_64-linux/file-native/5.16-r0/sysroot-destdir/var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp/tmp/sysroots/x86_64-linux/usr/bin/file.real to $ORIGIN/../../usr/lib:$ORIGIN/../../lib
based on comments the commit is: commit 6fcb96076ca60ef30062fda0ff8308cc840ab07d Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Tue Nov 26 22:14:47 2013 +0000 chrpath: Improve crazy code The current code is a little bit overcomplicated, deficient and also possibly broken.
Created attachment 1918 [details] Proposed patch to handle .. in rootdir path I found that this is caused when there is a '..' in the rootdir path, as in "/var/fpwork/qdpx86/nsn-yocto/build_lrc-lsp-k2/../build_lrc-lsp/tmp/work/x86_64-linux/file-native/5.16-r0/sysroot-destdir/" in my case. I've attached a proposed patch that fixes the issue by normalizing the rootdir path.
Patch looks good, thanks.
Merges, thanks for the patch! http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=1b82c73df43500d64dc49a9fb4a2546d88a5f95e