I'm switching from Petalinux 2016.2 (non-Yocto) to Petalinux 2018.1 and have had a few apps fail to build with a message like:
NOTE: Executing RunQueue Tasks WARNING: fileMon-1.0-r0 do_package_qa: QA Issue: /usr/bin/fileMon contained in package fileMon requires libc.so.6(GLIBC_2.4), but no providers found in RDEPENDS_fileMon? [file-rdeps]
One complained about missing libc.so.6(GLIBC_2.17). I've seen this problem on a few other threads with no clear resolution. It turns out that for some reason, having an upper-case letter in the app name appears to be the issue. The build process warns about this, but it seems odd that it should care about case-sensitivity on a Linux-based platform. After unchecking the apps in "petalinux-config -c rootfs->apps", removing the app from the build by editing "project-spec/meta-user/recipes-core/images/petalinux-image.bbappend" and creating new apps with all lower-case names, the problem has gone away.
An additional note that irritated me is apps may not have an underscore in their name either. Something about the version number is expected after an underscore.
Another note related to switching to Yocto is that apps are now placed in /usr/bin by default instead of /bin. This means that I had to modify some scripts I was installing.